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               "/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<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<char>, int = SAX_ISAX );
00142         void start ( int );
00143 
00144         public:
00145         SaXProcess ( void );
00146 };
00147 } // end namespace
00148 #endif

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