|
libsax 7.2
|
00001 /************** 00002 FILE : card.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_CARD_H 00022 #define SAX_CARD_H 1 00023 00024 //==================================== 00025 // Includes... 00026 //------------------------------------ 00027 #include <stdarg.h> 00028 #include <dirent.h> 00029 #include "import.h" 00030 00031 namespace SaX { 00032 //==================================== 00033 // Defines... 00034 //------------------------------------ 00035 #define ACPI_BATTERY "/proc/acpi/battery" 00036 #define SAX_ROTATE_LEFT 1 00037 #define SAX_ROTATE_RIGHT 2 00038 00039 //==================================== 00040 // Interface class for dlopen ability 00041 //------------------------------------ 00049 class SaXManipulateCardIF : public SaXException { 00050 public: 00051 virtual void setCardDriver ( const QString& ) = 0; 00052 virtual void setCardOption ( const QString& , const QString& ) = 0; 00053 virtual void addCardOption ( const QString& , const QString& ) = 0; 00054 virtual void removeCardOption ( const QString& ) = 0; 00055 virtual void addCardExternal ( const QString& ) = 0; 00056 virtual void addCardExternalOption ( const QString& , const QString& ) = 0; 00057 virtual void setBusID ( const QString& ) = 0; 00058 virtual void setScreenID ( int ) = 0; 00059 virtual void setRotate ( int ) = 0; 00060 00061 public: 00062 virtual QList<QString> getCardDrivers ( void ) = 0; 00063 virtual Q3Dict<QString> getCardOptions ( const QString& ) = 0; 00064 virtual Q3Dict<QString> getOptions ( void ) = 0; 00065 virtual QString getCardDriver ( void ) = 0; 00066 virtual QString getCardName ( void ) = 0; 00067 virtual QString getCardVendor ( void ) = 0; 00068 virtual QString getCardModel ( void ) = 0; 00069 virtual QString getBusID ( void ) = 0; 00070 virtual QString getScreenID ( void ) = 0; 00071 virtual QString getRotationDirection ( void ) = 0; 00072 virtual int getCards ( void ) = 0; 00073 virtual int getHeads ( void ) = 0; 00074 virtual int getDevices ( void ) = 0; 00075 00076 public: 00077 virtual bool isNoteBook ( void ) = 0; 00078 00079 public: 00080 virtual bool selectCard ( int ) = 0; 00081 00082 public: 00083 virtual ~SaXManipulateCardIF ( void ) { } 00084 }; 00085 00086 //==================================== 00087 // Class SaXManipulateCard... 00088 //------------------------------------ 00131 class SaXManipulateCard : public SaXManipulateCardIF { 00132 protected: 00133 SaXImport* mImport; 00134 SaXProcess* mCDBCardModules; 00135 QList<QString> mCDBCardDrivers; 00136 Q3Dict<QString> mCDBCardOptions; 00137 int mCard; 00138 00139 public: 00140 void setCardDriver ( const QString& ); 00141 void setCardOption ( const QString& , const QString& ); 00142 void addCardOption ( const QString& , const QString& ); 00143 void removeCardOption ( const QString& ); 00144 void addCardExternal ( const QString& ); 00145 void addCardExternalOption ( const QString& , const QString& ); 00146 void setBusID ( const QString& ); 00147 void setScreenID ( int ); 00148 void setRotate ( int ); 00149 00150 public: 00151 QList<QString> getCardDrivers ( void ); 00152 Q3Dict<QString> getCardOptions ( const QString& ); 00153 Q3Dict<QString> getOptions ( void ); 00154 QString getCardDriver ( void ); 00155 QString getCardName ( void ); 00156 QString getCardVendor ( void ); 00157 QString getCardModel ( void ); 00158 QString getBusID ( void ); 00159 QString getScreenID ( void ); 00160 QString getRotationDirection ( void ); 00161 int getCards ( void ); 00162 int getHeads ( void ); 00163 int getDevices ( void ); 00164 00165 public: 00166 bool isNoteBook ( void ); 00167 00168 public: 00169 bool selectCard ( int ); 00170 00171 public: 00172 SaXManipulateCard ( SaXImport*, int = 0 ); 00173 }; 00174 } // end namespace 00175 #endif
1.7.3