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

Generated on Tue May 2 11:17:31 2006 for libsax by  doxygen 1.4.6