card.h

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 QDict<QString> getCardOptions ( const QString& ) = 0;
00064         virtual QDict<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         QDict<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         QDict<QString> getCardOptions ( const QString& );
00153         QDict<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

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