|
libsax 7.2
|
00001 /************** 00002 FILE : process.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_PROCESS_H 00022 #define SAX_PROCESS_H 1 00023 00024 //==================================== 00025 // Includes... 00026 //------------------------------------ 00027 #include <qregexp.h> 00028 #include <qfile.h> 00029 #include <sys/types.h> 00030 #include <dirent.h> 00031 00032 #include "storage.h" 00033 #include "exception.h" 00034 #include "processcall.h" 00035 00036 namespace SaX { 00037 //==================================== 00038 // Defines... 00039 //------------------------------------ 00040 #define ISAX "/usr/sbin/isax" 00041 #define SYSP "/usr/sbin/sysp" 00042 #define PROF "/usr/share/sax/libsax/createPRO.pl" 00043 #define META "/usr/share/sax/libsax/createMTA.pl" 00044 00045 #define CDBDIR "/usr/share/sax/api/data/cdb/" 00046 #define DATADIR "/usr/share/sax/api/data/" 00047 #define CDBCARDS CDBDIR "Cards" 00048 #define CDBMONITORS CDBDIR "Monitors" 00049 #define CDBPOINTERS CDBDIR "Pointers" 00050 #define CDBPENS CDBDIR "Pens" 00051 #define CDBPADS CDBDIR "Pads" 00052 #define CDBTABLETS CDBDIR "Tablets" 00053 #define CDBTOUCHERS CDBDIR "Touchscreens" 00054 #define CDBCARDMODULES DATADIR "CardModules" 00055 #define CDBTABLETMODULES DATADIR "TabletModules" 00056 00057 #define SAX_CARD 4 00058 #define SAX_DESKTOP 5 00059 #define SAX_POINTERS 6 00060 #define SAX_KEYBOARD 7 00061 #define SAX_LAYOUT 8 00062 #define SAX_PATH 9 00063 #define SAX_EXTENSIONS 10 00064 #define SAX_ISAX 11 00065 #define SAX_SYSP 12 00066 #define SAX_CDB 13 00067 #define SAX_PROF 14 00068 #define SAX_META 15 00069 00070 #define CDB_CARDS 16 00071 #define CDB_MONITORS 17 00072 #define CDB_PENS 18 00073 #define CDB_POINTERS 19 00074 #define CDB_TABLETS 20 00075 #define CDB_TOUCHERS 21 00076 #define CDB_CARDMODULES 22 00077 #define CDB_TABLETMODULES 23 00078 #define CDB_PADS 24 00079 00080 #define SYSP_MOUSE 30 00081 #define SYSP_KEYBOARD 31 00082 #define SYSP_CARD 32 00083 #define SYSP_DESKTOP 33 00084 #define SYSP_3D 34 00085 00086 #define MAX_LINE_LENGTH 8192 00087 00088 //==================================== 00089 // Interface class for dlopen ability 00090 //------------------------------------ 00098 class SaXProcessIF : public SaXStorage { 00099 public: 00100 virtual void start ( QList<const char*>,int = SAX_ISAX ) = 0; 00101 virtual void start ( int ) = 0; 00102 00103 public: 00104 virtual ~SaXProcessIF ( void ) { } 00105 }; 00106 //==================================== 00107 // Class SaXProcess... 00108 //------------------------------------ 00130 class SaXProcess : public SaXProcessIF { 00131 private: 00132 SaXProcessCall* mProc; 00133 00134 private: 00135 void storeData ( void ); 00136 void storeDataSysp ( void ); 00137 void storeDataCDB ( int ); 00138 void storeDataSYS ( int ); 00139 00140 public: 00141 void start ( QList<const char*>, int = SAX_ISAX ); 00142 void start ( int ); 00143 00144 public: 00145 SaXProcess ( void ); 00146 }; 00147 } // end namespace 00148 #endif
1.7.3