Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

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

Generated on Wed Sep 14 10:27:01 2005 for libsax by  doxygen 1.4.4