|
libsax 7.2
|
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
1.7.3