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_ERASER      "Eraser"
00037 #define SAX_INPUT_MOUSE       "Mouse"
00038 #define SAX_INPUT_VNC         "VNC"
00039 #define SAX_INPUT_KEYBOARD    "Keyboard"
00040 
00041 //====================================
00042 // Interface class for dlopen ability
00043 //------------------------------------
00051 class SaXManipulateDevicesIF : public SaXException {
00052         public:
00053         virtual int addDesktopDevice ( void ) = 0;
00054         virtual int addInputDevice   ( const char* ) = 0;
00055 
00056         public:
00057         virtual int removeDesktopDevice ( int ) = 0;
00058         virtual int removeInputDevice   ( int ) = 0;
00059 
00060         public:
00061         virtual ~SaXManipulateDevicesIF ( void ) { }
00062 };
00063 //====================================
00064 // Class SaXManipulateDevices...
00065 //------------------------------------
00138 class SaXManipulateDevices : public SaXManipulateDevicesIF {
00139         private:
00140         SaXImport* mDesktop;
00141         SaXImport* mCard;
00142         SaXImport* mInput;
00143         SaXImport* mLayout;
00144 
00145         private:
00146         bool desktopHandlingAllowed;
00147         bool inputHandlingAllowed;
00148 
00149         private:
00150         void updateLayout (int);
00151 
00152         public:
00153         int addDesktopDevice ( void );
00154         int addInputDevice   ( const char* );
00155 
00156         public:
00157         int removeDesktopDevice ( int );
00158         int removeInputDevice   ( int );
00159 
00160         public:
00161         SaXManipulateDevices ( SaXImport*,SaXImport*,SaXImport* );
00162         SaXManipulateDevices ( SaXImport*,SaXImport* );
00163 };
00164 } // end namespace
00165 #endif

Generated on Mon Jun 19 12:42:49 2006 for libsax by  doxygen 1.4.6