libsax 7.2

path.cpp

00001 /**************
00002 FILE          : path.cpp
00003 ***************
00004 PROJECT       : SaX2 - library interface
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 #include "path.h"
00022 
00023 namespace SaX {
00024 //====================================
00025 // Constructor...
00026 //------------------------------------
00027 SaXManipulatePath::SaXManipulatePath (SaXImport* in, int path) {
00028         // .../
00033         // ----
00034         if ( ! in ) {
00035                 excNullPointerArgument ();
00036                 qError (errorString(),EXC_NULLPOINTERARGUMENT);
00037                 return;
00038         }
00039         if ( in->getSectionID() != SAX_PATH ) {
00040                 excPathImportBindFailed ( in->getSectionID() );
00041                 qError (errorString(),EXC_PATHIMPORTBINDFAILED);
00042                 return;
00043         }
00044         mImport = in;
00045         mPath   = path;
00046         mImport -> setID ( mPath );
00047 }
00048 
00049 //====================================
00050 // setFontPath
00051 //------------------------------------
00052 void SaXManipulatePath::setFontPath (const QString& path) {
00053         // .../
00056         // ----
00057         if (! mImport) {
00058                 return;
00059         }
00060         mImport -> setItem ( "FontPath",path );
00061 }
00062 
00063 //====================================
00064 // addFontPath
00065 //------------------------------------
00066 void SaXManipulatePath::addFontPath (const QString& path) {
00067         // .../
00070         // ----
00071         if (! mImport) {
00072                 return;
00073         }
00074         QString val;
00075         QString key ("FontPath");
00076         if (! mImport -> getItem (key).isEmpty()) {
00077                 val = mImport -> getItem (key);
00078         }
00079         QTextOStream (&val) << "," << path;
00080         mImport -> setItem ( key,val );
00081 }
00082 
00083 //====================================
00084 // removeFontPath
00085 //------------------------------------
00086 void SaXManipulatePath::removeFontPath (const QString& path) {
00087         // .../
00091         // ----
00092         if (! mImport) {
00093                 return;
00094         }
00095         QString val (path);
00096         QString key ("FontPath");
00097         if (! mImport -> getItem (key).isEmpty()) {
00098                 mImport -> removeItem (key,val);
00099         }
00100 }
00101 
00102 //====================================
00103 // setLoadableModule
00104 //------------------------------------
00105 void SaXManipulatePath::setLoadableModule (const QString& module) {
00106         // .../
00109         // ----
00110         if (! mImport) {
00111                 return;
00112         }
00113         mImport -> setItem ( "ModuleLoad",module );
00114 }
00115 
00116 //====================================
00117 // setDisableModule
00118 //------------------------------------
00119 void SaXManipulatePath::setDisableModule (const QString& module) {
00120         // .../
00123         // ----
00124         if (! mImport) {
00125                 return;
00126         }
00127         mImport -> setItem ( "ModuleDisable",module );
00128 }
00129 
00130 //====================================
00131 // addLoadableModule
00132 //------------------------------------
00133 void SaXManipulatePath::addLoadableModule (const QString& module) {
00134         // .../
00137         // ----
00138         if (! mImport) {
00139                 return;
00140         }
00141         QString val;
00142         QString key ("ModuleLoad");
00143         if (! mImport -> getItem (key).isEmpty()) {
00144                 val = mImport -> getItem (key);
00145         }
00146         QTextOStream (&val) << "," << module;
00147         mImport -> setItem ( key,val );
00148 }
00149 
00150 //====================================
00151 // addDisableModule
00152 //------------------------------------
00153 void SaXManipulatePath::addDisableModule (const QString& module) {
00154         // .../
00157         // ----
00158         if (! mImport) {
00159                 return;
00160         }
00161         QString val;
00162         QString key ("ModuleDisable");
00163         if (! mImport -> getItem (key).isEmpty()) {
00164                 val = mImport -> getItem (key);
00165         }
00166         QTextOStream (&val) << "," << module;
00167         mImport -> setItem ( key,val );
00168 }
00169 
00170 //====================================
00171 // removeLoadableModule
00172 //------------------------------------
00173 void SaXManipulatePath::removeLoadableModule (const QString& module) {
00174         // .../
00178         // ----
00179         if (! mImport) {
00180                 return;
00181         }
00182         QString val (module);
00183         QString key ("ModuleLoad");
00184         if (! mImport -> getItem (key).isEmpty()) {
00185                 mImport -> removeItem (key,val);
00186         }
00187 }
00188 
00189 //====================================
00190 // removeDisableModule
00191 //------------------------------------
00192 void SaXManipulatePath::removeDisableModule (const QString& module) {
00193         // .../
00197         // ----
00198         if (! mImport) {
00199                 return;
00200         }
00201         QString val (module);
00202         QString key ("ModuleDisable");
00203         if (! mImport -> getItem (key).isEmpty()) {
00204                 mImport -> removeItem (key,val);
00205         }
00206 }
00207 
00208 //====================================
00209 // setServerFlag
00210 //------------------------------------
00211 void SaXManipulatePath::setServerFlag (const QString& flag) {
00212         // .../
00215         // ----
00216         if (! mImport) {
00217                 return;
00218         }
00219         mImport -> setItem ( "ServerFlags",flag );
00220 }
00221 
00222 //====================================
00223 // addServerFlag
00224 //------------------------------------
00225 void SaXManipulatePath::addServerFlag (const QString& flag) {
00226         // .../
00229         // ----
00230         if (! mImport) {
00231                 return;
00232         }
00233         QString val;
00234         QString key ("ServerFlags");
00235         if (! mImport -> getItem (key).isEmpty()) {
00236                 val = mImport -> getItem (key);
00237         }
00238         QTextOStream (&val) << "," << flag;
00239         mImport -> setItem ( key,val );
00240 }
00241 
00242 //====================================
00243 // removeServerFlag
00244 //------------------------------------
00245 void SaXManipulatePath::removeServerFlag (const QString& flag) {
00246         // .../
00250         // ----
00251         if (! mImport) {
00252                 return;
00253         }
00254         QString val (flag);
00255         QString key ("ServerFlags");
00256         if (! mImport -> getItem (key).isEmpty()) {
00257                 mImport -> removeItem (key,val);
00258         }
00259 }
00260 
00261 //====================================
00262 // getFontPaths
00263 //------------------------------------
00264 QList<QString> SaXManipulatePath::getFontPaths (void) {
00265         // .../
00268         // ----
00269         if (! mImport) {
00270                 QList<QString>* nope = new QList<QString>;
00271                 return *nope;
00272         }
00273         QString paths = mImport -> getItem ("FontPath");
00274         return createList (paths);
00275 }
00276 
00277 //====================================
00278 // getModules
00279 //------------------------------------
00280 QList<QString> SaXManipulatePath::getModules (void) {
00281         // .../
00284         // ----
00285         if (! mImport) {
00286                 QList<QString>* nope = new QList<QString>;
00287                 return *nope;
00288         }
00289         QString modules = mImport -> getItem ("ModuleLoad");
00290         return createList (modules);
00291 }
00292 
00293 //====================================
00294 // getServerFlags 
00295 //------------------------------------
00296 QList<QString> SaXManipulatePath::getServerFlags (void) {
00297         // .../
00300         // ----
00301         if (! mImport) {
00302                 QList<QString>* nope = new QList<QString>;
00303                 return *nope;
00304         }
00305         QString modules = mImport -> getItem ("ServerFlags");
00306         return createList (modules);
00307 }
00308 
00309 //====================================
00310 // transform string to Qlist
00311 //------------------------------------
00312 QList<QString> SaXManipulatePath::createList ( const QString& data) {
00313         // .../
00316         // ----
00317         if (data.isEmpty()) {
00318                 QList<QString>* nope = new QList<QString>;
00319                 return *nope;
00320         }
00321         QList<QString> result; 
00322         QStringList dataList = QStringList::split ( ",", data );
00323         for (QStringList::Iterator it=dataList.begin(); it!=dataList.end();++ it) {
00324                 QString item(*it);
00325                 result.append (item);
00326         }
00327         return result;
00328 }
00329 } // end namespace