import.h

00001 /**************
00002 FILE          : import.h
00003 ***************
00004 PROJECT       : SaX2 - library interface [header]
00005               :
00006 AUTHOR        : Marcus Schäfer <ms@suse.de>
00007               :
00008 BELONGS TO    : SaX2 - SuSE advanced X11 configuration 
00009               : 
00010               :
00011 DESCRIPTION   : native C++ class library to access SaX2
00012               : functionality. Easy to use interface for
00013               : //.../
00014               : - importing/exporting X11 configurations
00015               : - modifying/creating X11 configurations 
00016               : ---
00017               :
00018               :
00019 STATUS        : Status: Development
00020 **************/
00021 #ifndef SAX_IMPORT_H
00022 #define SAX_IMPORT_H 1
00023 
00024 //====================================
00025 // Includes...
00026 //------------------------------------
00027 #include <qregexp.h>
00028 #include <qfileinfo.h>
00029 
00030 #include "storage.h"
00031 #include "exception.h"
00032 #include "process.h"
00033 
00034 namespace SaX {
00035 //====================================
00036 // Defines...
00037 //------------------------------------
00038 #define SAX_AUTO_PROBE     1
00039 #define SAX_SYSTEM_CONFIG  3
00040 
00041 //====================================
00042 // Interface class for dlopen ability
00043 //------------------------------------
00051 class SaXImportIF : public SaXProcess {
00052         public:
00053         virtual void doImport  ( void )   = 0;
00054         virtual void setSource ( int  )   = 0;
00055         virtual int getSectionID ( void ) = 0;
00056         virtual QString getSectionName ( void ) = 0;
00057 
00058         public:
00059         virtual ~SaXImportIF ( void ) { }
00060 };
00061 //====================================
00062 // Class SaXImport...
00063 //------------------------------------
00126 class SaXImport : public SaXImportIF {
00127         private:
00128         QList<char> mOptions;
00129         QString mSectionName;
00130         int mSection;
00131 
00132         public:
00133         void doImport  ( void );
00134         void setSource ( int  );
00135         int getSectionID ( void );
00136         QString getSectionName ( void );
00137 
00138         public:
00139         SaXImport ( int );
00140 };
00141 
00142 //====================================
00143 // Interface class for dlopen ability
00144 //------------------------------------
00152 class SaXImportSyspIF : public SaXProcess {
00153         public:
00154         virtual void doImport    ( void ) = 0;
00155         virtual int getSectionID ( void ) = 0;
00156         virtual QString getSectionName ( void ) = 0;
00157 
00158         public:
00159         virtual ~SaXImportSyspIF ( void ) { }
00160 };
00161 //====================================
00162 // Class SaXImportSysp...
00163 //------------------------------------
00220 class SaXImportSysp : public SaXImportSyspIF {
00221         private:
00222         QList<char> mOptions;
00223         QString mSectionName;
00224         int mSection;
00225 
00226         public:
00227         void doImport    ( void );
00228         int getSectionID ( void );
00229         QString getSectionName ( void );
00230 
00231         public:
00232         SaXImportSysp ( int );
00233 };
00234 
00235 //====================================
00236 // Interface class for dlopen ability
00237 //------------------------------------
00245 class SaXImportCDBIF : public SaXProcess {
00246         public:
00247         virtual void doImport ( void ) = 0;
00248 
00249         public:
00250         virtual ~SaXImportCDBIF ( void ) { };
00251 };
00252 //====================================
00253 // Class SaXImportCDB...
00254 //------------------------------------
00329 class SaXImportCDB : public SaXImportCDBIF {
00330         private:
00331         int mID;
00332 
00333         public:
00334         void doImport ( void );
00335 
00336         public:
00337         SaXImportCDB ( int );
00338 };
00339 
00340 //====================================
00341 // Interface class for dlopen ability
00342 //------------------------------------
00350 class SaXImportProfileIF : public SaXProcess {
00351         public:
00352         virtual void setDevice ( int  ) = 0;
00353         virtual void doImport  ( void ) = 0;
00354         virtual SaXImport* getImport ( int = SAX_CARD ) = 0;
00355 
00356         public:
00357         virtual ~SaXImportProfileIF ( void ) { }
00358 };
00359 //====================================
00360 // Class SaXImportProfile...
00361 //------------------------------------
00376 class SaXImportProfile : public SaXImportProfileIF {
00377         private:
00378         QList<char> mOptions;
00379         SaXImport*  mLayout;
00380         SaXImport*  mDesktop;
00381         SaXImport*  mCard;
00382         SaXImport*  mPointers;
00383 
00384         private:
00385         void splitImport ( void );
00386 
00387         public:
00388         void setDevice ( int  );
00389         void doImport  ( void );
00390         SaXImport* getImport ( int = SAX_CARD );
00391         
00392         public:
00393         SaXImportProfile ( const QString& );
00394 };
00395 } // end namespace
00396 #endif

Generated on Tue Sep 25 20:18:16 2007 for libsax by  doxygen 1.5.3