|
libsax 7.2
|
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<const 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<const 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<const 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
1.7.3