device.h

00001 /**************
00002 FILE          : device.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_DEVICE_H
00022 #define SAX_DEVICE_H 1
00023 
00024 //====================================
00025 // Includes...
00026 //------------------------------------
00027 #include "import.h"
00028 
00029 namespace SaX {
00030 //====================================
00031 // Defines...
00032 //------------------------------------
00033 #define SAX_INPUT_TOUCHPANEL  "Touchpanel"
00034 #define SAX_INPUT_TABLET      "Tablet"
00035 #define SAX_INPUT_PEN         "Pen"
00036 #define SAX_INPUT_PAD         "Pad"
00037 #define SAX_INPUT_ERASER      "Eraser"
00038 #define SAX_INPUT_MOUSE       "Mouse"
00039 #define SAX_INPUT_VNC         "VNC"
00040 #define SAX_INPUT_KEYBOARD    "Keyboard"
00041 
00042 //====================================
00043 // Interface class for dlopen ability
00044 //------------------------------------
00052 class SaXManipulateDevicesIF : public SaXException {
00053         public:
00054         virtual int addDesktopDevice ( void ) = 0;
00055         virtual int addInputDevice   ( const char* ) = 0;
00056 
00057         public:
00058         virtual int removeDesktopDevice ( int ) = 0;
00059         virtual int removeInputDevice   ( int ) = 0;
00060 
00061         public:
00062         virtual ~SaXManipulateDevicesIF ( void ) { }
00063 };
00064 //====================================
00065 // Class SaXManipulateDevices...
00066 //------------------------------------
00139 class SaXManipulateDevices : public SaXManipulateDevicesIF {
00140         private:
00141         SaXImport* mDesktop;
00142         SaXImport* mCard;
00143         SaXImport* mInput;
00144         SaXImport* mLayout;
00145 
00146         private:
00147         bool desktopHandlingAllowed;
00148         bool inputHandlingAllowed;
00149 
00150         private:
00151         void updateLayout (int);
00152 
00153         public:
00154         int addDesktopDevice ( void );
00155         int addInputDevice   ( const char* );
00156 
00157         public:
00158         int removeDesktopDevice ( int );
00159         int removeInputDevice   ( int );
00160 
00161         public:
00162         SaXManipulateDevices ( SaXImport*,SaXImport*,SaXImport* );
00163         SaXManipulateDevices ( SaXImport*,SaXImport* );
00164 };
00165 } // end namespace
00166 #endif

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