libsax 7.2

path.h

00001 /**************
00002 FILE          : path.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_PATH_H
00022 #define SAX_PATH_H 1
00023 
00024 //====================================
00025 // Includes...
00026 //------------------------------------
00027 #include "import.h"
00028 
00029 namespace SaX {
00030 //====================================
00031 // Interface class for dlopen ability
00032 //------------------------------------
00040 class SaXManipulatePathIF : public SaXException {
00041         public:
00042         virtual void setFontPath ( const QString& ) = 0;
00043         virtual void addFontPath ( const QString& ) = 0;
00044         virtual void removeFontPath ( const QString& ) = 0;
00045 
00046         public:
00047         virtual void setLoadableModule ( const QString& ) = 0;
00048         virtual void addLoadableModule ( const QString& ) = 0;
00049         virtual void removeLoadableModule ( const QString& ) = 0;
00050         virtual void setDisableModule ( const QString& ) = 0;
00051         virtual void addDisableModule ( const QString& ) = 0;
00052         virtual void removeDisableModule ( const QString& ) = 0;
00053 
00054         public:
00055         virtual void setServerFlag ( const QString& ) = 0;
00056         virtual void addServerFlag ( const QString& ) = 0;
00057         virtual void removeServerFlag ( const QString& ) = 0;
00058 
00059         public:
00060         virtual QList<QString> getFontPaths   ( void ) = 0;
00061         virtual QList<QString> getModules     ( void ) = 0;
00062         virtual QList<QString> getServerFlags ( void ) = 0;
00063 
00064         public:
00065         virtual ~SaXManipulatePathIF ( void ) { }
00066 };
00067 //====================================
00068 // Class SaXManipulatePath...
00069 //------------------------------------
00115 class SaXManipulatePath : public SaXManipulatePathIF {
00116         private:
00117         SaXImport* mImport;
00118         int mPath;
00119 
00120         private:
00121         QList<QString> createList ( const QString& );
00122 
00123         public:
00124         void setFontPath ( const QString& );
00125         void addFontPath ( const QString& );
00126         void removeFontPath ( const QString& );
00127 
00128         public:
00129         void setLoadableModule ( const QString& );
00130         void addLoadableModule ( const QString& );
00131         void removeLoadableModule ( const QString& );
00132         void setDisableModule ( const QString& );
00133         void addDisableModule ( const QString& );
00134         void removeDisableModule ( const QString& );
00135 
00136         public:
00137         void setServerFlag ( const QString& );
00138         void addServerFlag ( const QString& );
00139         void removeServerFlag ( const QString& );
00140 
00141         public:
00142         QList<QString> getFontPaths   ( void );
00143         QList<QString> getModules     ( void );
00144         QList<QString> getServerFlags ( void );
00145 
00146         public:
00147         SaXManipulatePath ( SaXImport*, int = 0 );
00148 };
00149 } // end namespace
00150 #endif