Logo
  • Main Page
  • Related Pages
  • Modules
  • Classes
  • Files

mmsconfigdata.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2005-2007 Stefan Schwarzer, Jens Schneider,             *
00003  *                           Matthias Hardt, Guido Madaus                  *
00004  *                                                                         *
00005  *   Copyright (C) 2007-2008 BerLinux Solutions GbR                        *
00006  *                           Stefan Schwarzer & Guido Madaus               *
00007  *                                                                         *
00008  *   Copyright (C) 2009-2013 BerLinux Solutions GmbH                       *
00009  *                                                                         *
00010  *   Authors:                                                              *
00011  *      Stefan Schwarzer   <stefan.schwarzer@diskohq.org>,                 *
00012  *      Matthias Hardt     <matthias.hardt@diskohq.org>,                   *
00013  *      Jens Schneider     <jens.schneider@diskohq.org>,                   *
00014  *      Guido Madaus       <guido.madaus@diskohq.org>,                     *
00015  *      Patrick Helterhoff <patrick.helterhoff@diskohq.org>,               *
00016  *      René Bählkow       <rene.baehlkow@diskohq.org>                     *
00017  *                                                                         *
00018  *   This library is free software; you can redistribute it and/or         *
00019  *   modify it under the terms of the GNU Lesser General Public            *
00020  *   License version 2.1 as published by the Free Software Foundation.     *
00021  *                                                                         *
00022  *   This library is distributed in the hope that it will be useful,       *
00023  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00024  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00025  *   Lesser General Public License for more details.                       *
00026  *                                                                         *
00027  *   You should have received a copy of the GNU Lesser General Public      *
00028  *   License along with this library; if not, write to the                 *
00029  *   Free Software Foundation, Inc.,                                       *
00030  *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA            *
00031  **************************************************************************/
00032 
00033 #include "mmstools/mmstools.h"
00034 #include "mmsconfig/mmsconfigdata.h"
00035 #include <string.h>
00036 
00037 // static variables
00038 MMSConfigDataGlobal     MMSConfigData::global;
00039 MMSConfigDataDB         MMSConfigData::configdb;
00040 MMSConfigDataDB         MMSConfigData::datadb;
00041 MMSConfigDataGraphics   MMSConfigData::graphics;
00042 MMSConfigDataLanguage   MMSConfigData::language;
00043 
00044 MMSConfigData::MMSConfigData(MMSConfigDataGlobal    global,
00045                              MMSConfigDataDB        configdb,
00046                              MMSConfigDataDB        datadb,
00047                              MMSConfigDataGraphics  graphics,
00048                              MMSConfigDataLanguage  language) {
00049     this->global   = global;
00050     this->configdb = configdb;
00051     this->datadb   = datadb;
00052     this->graphics = graphics;
00053     this->language = language;
00054 #ifdef HARD_PREFIX
00055     this->global.prefix = HARD_PREFIX;
00056 #endif
00057 }
00058 
00059 MMSConfigData::MMSConfigData() {
00060 #ifdef HARD_PREFIX
00061     this->global.prefix = HARD_PREFIX;
00062 #endif
00063 }
00064 
00065 MMSConfigData::~MMSConfigData() {
00066 }
00067 
00068 /* global section getters */
00069 const string MMSConfigData::getLogfile() {
00070     return this->global.logfile;
00071 }
00072 
00073 const string MMSConfigData::getInputMap() {
00074     return this->global.inputmap;
00075 }
00076 
00077 const string MMSConfigData::getPrefix() {
00078     if(!this->global.prefix.empty())
00079         return this->global.prefix;
00080 
00081     FILE *stream;
00082     char prefix[1024];
00083     memset(prefix,0,1024);
00084 
00085     /* check prefix from disko.pc */
00086     stream = popen("pkg-config --variable=prefix disko","r");
00087     if(stream!=NULL) {
00088         if(fgets(prefix,1024,stream)!=NULL) {
00089             prefix[strlen(prefix)-1]='/';
00090             pclose(stream);
00091             this->global.prefix = prefix;
00092             return this->global.prefix;
00093         }
00094         pclose(stream);
00095     }
00096 
00097     /* check prefix from mmstools.pc (big_lib = n) */
00098     stream = popen("pkg-config --variable=prefix mmstools","r");
00099     if(stream!=NULL) {
00100         if(fgets(prefix,1024,stream)!=NULL) {
00101             prefix[strlen(prefix)-1]='/';
00102             pclose(stream);
00103             this->global.prefix = prefix;
00104             return this->global.prefix;
00105         }
00106         pclose(stream);
00107     }
00108 
00109     /* check if there is the diskoappctrl tool installed */
00110     stream = fopen("./bin/diskoappctrl","r");
00111     if(stream != NULL) {
00112         sprintf(prefix,"./");
00113         fclose(stream);
00114         this->global.prefix = prefix;
00115         return this->global.prefix;
00116     }
00117 
00118     return this->global.prefix;
00119 }
00120 
00121 const string MMSConfigData::getTheme() {
00122     return this->global.theme;
00123 }
00124 
00125 const string MMSConfigData::getSysConfig(){
00126     return this->global.sysconfig;
00127 }
00128 
00129 const string MMSConfigData::getData(){
00130     return this->global.data;
00131 }
00132 
00133 const bool MMSConfigData::getStdout() {
00134     return this->global.stdout;
00135 }
00136 
00137 const int MMSConfigData::getInputInterval() {
00138     return this->global.inputinterval;
00139 }
00140 
00141 const string MMSConfigData::getFirstPlugin() {
00142     return this->global.firstplugin;
00143 }
00144 
00145 const bool   MMSConfigData::getShutdown() {
00146     return this->global.shutdown;
00147 }
00148 
00149 const string MMSConfigData::getShutdownCmd() {
00150     return this->global.shutdowncmd;
00151 }
00152 
00153 const string MMSConfigData::getInputMode() {
00154     return this->global.inputmode;
00155 }
00156 
00157 const string MMSConfigData::getActMonAddress() {
00158     return this->global.actmonaddress;
00159 }
00160 
00161 const unsigned int MMSConfigData::getActMonPort() {
00162     return this->global.actmonport;
00163 }
00164 
00165 /* db section getters */
00166 const string MMSConfigData::getConfigDBDBMS() {
00167     return this->configdb.dbms;
00168 }
00169 
00170 const string MMSConfigData::getConfigDBAddress() {
00171     return this->configdb.address;
00172 }
00173 
00174 const unsigned int MMSConfigData::getConfigDBPort() {
00175     return this->configdb.port;
00176 }
00177 
00178 const string MMSConfigData::getConfigDBUser() {
00179     return this->configdb.user;
00180 }
00181 
00182 const string MMSConfigData::getConfigDBPassword() {
00183     return this->configdb.password;
00184 }
00185 
00186 const string MMSConfigData::getConfigDBDatabase() {
00187     return this->configdb.database;
00188 };
00189 
00190 const string MMSConfigData::getDataDBDBMS() {
00191     return this->datadb.dbms;
00192 }
00193 
00194 const string MMSConfigData::getDataDBAddress() {
00195     return this->datadb.address;
00196 }
00197 
00198 const unsigned int MMSConfigData::getDataDBPort() {
00199     return this->datadb.port;
00200 }
00201 
00202 const string MMSConfigData::getDataDBUser() {
00203     return this->datadb.user;
00204 }
00205 
00206 const string MMSConfigData::getDataDBPassword() {
00207     return this->datadb.password;
00208 }
00209 const string MMSConfigData::getDataDBDatabase() {
00210     return this->datadb.database;
00211 };
00212 
00213 // graphics section getters
00214 const MMSConfigDataLayer MMSConfigData::getVideoLayer() {
00215     return this->graphics.videolayer;
00216 }
00217 
00218 const MMSConfigDataLayer MMSConfigData::getGraphicsLayer() {
00219     return this->graphics.graphicslayer;
00220 }
00221 
00222 const MMSFBBackend MMSConfigData::getBackend() {
00223     return this->graphics.backend;
00224 }
00225 
00226 const MMSFBRectangle MMSConfigData::getVRect() {
00227     return this->graphics.vrect;
00228 }
00229 
00230 const MMSFBRectangle MMSConfigData::getTouchRect() {
00231     return this->graphics.touchrect;
00232 }
00233 
00234 const MMSFBPointerMode MMSConfigData::getPointer() {
00235     return this->graphics.pointer;
00236 }
00237 
00238 const MMSFBSurfacePixelFormat MMSConfigData::getGraphicsWindowPixelformat() {
00239     return this->graphics.graphicswindowpixelformat;
00240 }
00241 
00242 const MMSFBSurfacePixelFormat MMSConfigData::getGraphicsSurfacePixelformat() {
00243     return this->graphics.graphicssurfacepixelformat;
00244 }
00245 
00246 const bool MMSConfigData::getExtendedAccel() {
00247     return this->graphics.extendedaccel;
00248 }
00249 
00250 const string MMSConfigData::getAllocMethod() {
00251     return this->graphics.allocmethod;
00252 }
00253 
00254 const MMSFBFullScreenMode MMSConfigData::getFullScreen() {
00255     return this->graphics.fullscreen;
00256 }
00257 
00258 const int MMSConfigData::getRotateScreen() {
00259     return this->graphics.rotatescreen;
00260 }
00261 
00262 const bool   MMSConfigData::getHideApplication() {
00263     return this->graphics.hideapplication;
00264 }
00265 
00266 const bool   MMSConfigData::getInitialLoad() {
00267     return this->graphics.initialload;
00268 }
00269 
00270 const bool   MMSConfigData::getDebugFrames() {
00271     return this->graphics.debugframes;
00272 }
00273 
00274 const bool   MMSConfigData::getTouchSwapX() {
00275     return this->graphics.touchSwapX;
00276 }
00277 
00278 const bool   MMSConfigData::getTouchSwapY() {
00279     return this->graphics.touchSwapY;
00280 }
00281 
00282 const bool   MMSConfigData::getTouchSwapXY() {
00283     return this->graphics.touchSwapXY;
00284 }
00285 
00286 
00287 // graphics section setters
00288 void MMSConfigData::setVideoLayer(MMSConfigDataLayer layer) {
00289     this->graphics.videolayer = layer;
00290 }
00291 
00292 void MMSConfigData::setGraphicsLayer(MMSConfigDataLayer layer) {
00293     this->graphics.graphicslayer = layer;
00294 }
00295 
00296 void MMSConfigData::setFullScreen(MMSFBFullScreenMode fsm) {
00297     this->graphics.fullscreen = fsm;
00298 }
00299 
00300 void MMSConfigData::setRotateScreen(int rs) {
00301     this->graphics.rotatescreen = rs;
00302 }
00303 
00304 void MMSConfigData::setHideApplication(bool hideapplication) {
00305     this->graphics.hideapplication = hideapplication;
00306 }
00307 
00308 void MMSConfigData::setInitialLoad(bool initialload) {
00309     this->graphics.initialload = initialload;
00310 }
00311 
00312 void MMSConfigData::setDebugFrames(bool debugframes) {
00313     this->graphics.debugframes = debugframes;
00314 }
00315 
00316 
00317 const MMSLanguage MMSConfigData::getSourceLang() {
00318     return this->language.sourcelang;
00319 }
00320 
00321 const MMSLanguage MMSConfigData::getDefaultTargetLang() {
00322     return this->language.defaulttargetlang;
00323 }
00324 
00325 const bool MMSConfigData::getAddTranslations() {
00326     return this->language.addtranslations;
00327 }
00328 
00329 const string MMSConfigData::getLanguagefileDir() {
00330     return this->language.languagefiledir;
00331 }
00332 
00333 
00334 
00335 

Generated by doxygen