00001 /*-*-c++-*-***************************************************************** 00002 devicemanager.h 00003 --------------- 00004 begin : Thu Mar 25 2004 00005 copyright : (C) 2004 by Martin Preuss 00006 email : martin@libchipcard.de 00007 00008 *************************************************************************** 00009 * * 00010 * This library is free software; you can redistribute it and/or * 00011 * modify it under the terms of the GNU Lesser General Public * 00012 * License as published by the Free Software Foundation; either * 00013 * version 2.1 of the License, or (at your option) any later version. * 00014 * * 00015 * This library is distributed in the hope that it will be useful, * 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00018 * Lesser General Public License for more details. * 00019 * * 00020 * You should have received a copy of the GNU Lesser General Public * 00021 * License along with this library; if not, write to the Free Software * 00022 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * 00023 * MA 02111-1307 USA * 00024 * * 00025 ***************************************************************************/ 00026 00031 #ifndef SIMTHETIC_PATHMANAGER_H 00032 #define SIMTHETIC_PATHMANAGER_H 00033 00034 #include <string> 00035 00036 00037 namespace simth { 00038 00059 class PathManager { 00060 public: 00061 typedef enum { 00062 PathTypeModule=0, 00063 PathTypeDevice, 00064 PathTypeSimthBinary 00065 } PathType; 00066 00067 private: 00068 static std::string _getRegKey(const char *name); 00069 static bool _setRegKey(const char *name, const char *value); 00070 static bool _verifyPath(const std::string &path, 00071 const std::string &file); 00072 static std::string _askForPath(const std::string &title, 00073 const std::string &filter, 00074 const std::string &p); 00075 00076 public: 00077 PathManager(); 00078 ~PathManager(); 00079 00080 static std::string getPath(PathType t); 00081 }; 00082 00083 00084 00085 } /* namespace */ 00086 00087 #endif