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 //------------------------------------
00323 class SaXImportCDB : public SaXImportCDBIF {
00324         private:
00325         int mID;
00326 
00327         public:
00328         void doImport ( void );
00329 
00330         public:
00331         SaXImportCDB ( int );
00332 };
00333 
00334 //====================================
00335 // Interface class for dlopen ability
00336 //------------------------------------
00344 class SaXImportProfileIF : public SaXProcess {
00345         public:
00346         virtual void setDevice ( int  ) = 0;
00347         virtual void doImport  ( void ) = 0;
00348         virtual SaXImport* getImport ( int = SAX_CARD ) = 0;
00349 
00350         public:
00351         virtual ~SaXImportProfileIF ( void ) { }
00352 };
00353 //====================================
00354 // Class SaXImportProfile...
00355 //------------------------------------
00370 class SaXImportProfile : public SaXImportProfileIF {
00371         private:
00372         QList<char> mOptions;
00373         SaXImport*  mLayout;
00374         SaXImport*  mDesktop;
00375         SaXImport*  mCard;
00376         SaXImport*  mPointers;
00377 
00378         private:
00379         void splitImport ( void );
00380 
00381         public:
00382         void setDevice ( int  );
00383         void doImport  ( void );
00384         SaXImport* getImport ( int = SAX_CARD );
00385         
00386         public:
00387         SaXImportProfile ( const QString& );
00388 };
00389 } // end namespace
00390 #endif

Generated on Mon Jan 7 17:25:36 2008 for libsax by  doxygen 1.4.6