process.h

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               "/var/lib/sax/createPRO.pl"
00043 #define META               "/var/lib/sax/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 CDBTABLETS         CDBDIR "Tablets"
00052 #define CDBTOUCHERS        CDBDIR "Touchscreens"
00053 #define CDBCARDMODULES     DATADIR "CardModules"
00054 #define CDBTABLETMODULES   DATADIR "TabletModules"
00055 
00056 #define SAX_CARD           4
00057 #define SAX_DESKTOP        5
00058 #define SAX_POINTERS       6
00059 #define SAX_KEYBOARD       7
00060 #define SAX_LAYOUT         8
00061 #define SAX_PATH           9
00062 #define SAX_EXTENSIONS     10
00063 #define SAX_ISAX           11
00064 #define SAX_SYSP           12
00065 #define SAX_CDB            13
00066 #define SAX_PROF           14
00067 #define SAX_META           15
00068 
00069 #define CDB_CARDS          16
00070 #define CDB_MONITORS       17
00071 #define CDB_PENS           18
00072 #define CDB_POINTERS       19
00073 #define CDB_TABLETS        20
00074 #define CDB_TOUCHERS       21
00075 #define CDB_CARDMODULES    22
00076 #define CDB_TABLETMODULES  23
00077 
00078 #define SYSP_MOUSE         30
00079 #define SYSP_KEYBOARD      31
00080 #define SYSP_CARD          32
00081 #define SYSP_DESKTOP       33
00082 #define SYSP_3D            34
00083 
00084 #define MAX_LINE_LENGTH    8192
00085 
00086 //====================================
00087 // Interface class for dlopen ability
00088 //------------------------------------
00096 class SaXProcessIF : public SaXStorage {
00097         public:
00098         virtual void start ( QList<char>,int = SAX_ISAX ) = 0;
00099         virtual void start ( int ) = 0;
00100 
00101         public:
00102         virtual ~SaXProcessIF ( void ) { }
00103 };
00104 //====================================
00105 // Class SaXProcess...
00106 //------------------------------------
00128 class SaXProcess : public SaXProcessIF {
00129         private:
00130         SaXProcessCall* mProc;
00131 
00132         private:
00133         void storeData     ( void );
00134         void storeDataSysp ( void );
00135         void storeDataCDB  ( int  );
00136         void storeDataSYS  ( int  );
00137 
00138         public:
00139         void start ( QList<char>, int = SAX_ISAX );
00140         void start ( int );
00141 
00142         public:
00143         SaXProcess ( void );
00144 };
00145 } // end namespace
00146 #endif

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