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 setBusID ( const QString& ) = 0;
00056         virtual void setScreenID ( int ) = 0;
00057         virtual void setRotate   ( int ) = 0;
00058 
00059         public:
00060         virtual QList<QString> getCardDrivers ( void ) = 0;
00061         virtual QDict<QString> getCardOptions ( const QString& ) = 0;
00062         virtual QDict<QString> getOptions ( void ) = 0;
00063         virtual QString getCardDriver ( void ) = 0;
00064         virtual QString getCardName   ( void ) = 0;
00065         virtual QString getCardVendor ( void ) = 0;
00066         virtual QString getCardModel  ( void ) = 0;
00067         virtual QString getBusID      ( void ) = 0;
00068         virtual QString getScreenID   ( void ) = 0;
00069         virtual QString getRotationDirection ( void ) = 0;
00070         virtual int getCards   ( void ) = 0;
00071         virtual int getHeads   ( void ) = 0;
00072         virtual int getDevices ( void ) = 0;
00073 
00074         public:
00075         virtual bool isNoteBook ( void ) = 0;
00076 
00077         public:
00078         virtual bool selectCard ( int ) = 0;
00079 
00080         public:
00081         virtual ~SaXManipulateCardIF ( void ) { }
00082 };
00083 
00084 //====================================
00085 // Class SaXManipulateCard...
00086 //------------------------------------
00129 class SaXManipulateCard : public SaXManipulateCardIF {
00130         protected:
00131         SaXImport*     mImport;
00132         SaXProcess*    mCDBCardModules;
00133         QList<QString> mCDBCardDrivers;
00134         QDict<QString> mCDBCardOptions;
00135         int            mCard;
00136 
00137         public:
00138         void setCardDriver ( const QString& );
00139         void setCardOption ( const QString& , const QString& );
00140         void addCardOption ( const QString& , const QString& );
00141         void removeCardOption ( const QString& );
00142         void setBusID ( const QString& );
00143         void setScreenID ( int );
00144         void setRotate   ( int );
00145 
00146         public:
00147         QList<QString> getCardDrivers ( void );
00148         QDict<QString> getCardOptions ( const QString& );
00149         QDict<QString> getOptions ( void );
00150         QString getCardDriver ( void );
00151         QString getCardName   ( void );
00152         QString getCardVendor ( void );
00153         QString getCardModel  ( void );
00154         QString getBusID      ( void );
00155         QString getScreenID   ( void );
00156         QString getRotationDirection ( void );
00157         int getCards   ( void );
00158         int getHeads   ( void );
00159         int getDevices ( void );
00160 
00161         public:
00162         bool isNoteBook ( void );
00163 
00164         public:
00165         bool selectCard ( int );
00166 
00167         public:
00168         SaXManipulateCard ( SaXImport*, int = 0 );
00169 };
00170 } // end namespace
00171 #endif

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