libqi
1.12
|
00001 00012 #pragma once 00013 #ifndef _LIBQI_QI_PATH_HPP_ 00014 #define _LIBQI_QI_PATH_HPP_ 00015 00016 # include <string> 00017 # include <vector> 00018 # include <qi/config.hpp> 00019 00028 namespace qi 00029 { 00030 namespace path 00031 { 00032 00038 QI_API std::string sdkPrefix(); 00039 00040 // not thread-safe, must be kept internal 00041 namespace detail { 00042 00047 QI_API std::vector<std::string> getSdkPrefixes(); 00048 00058 QI_API void addOptionalSdkPrefix(const char* prefix); 00059 00066 QI_API void clearOptionalSdkPrefix(); 00067 00068 } 00069 00070 00080 QI_API std::string findBin(const std::string& name); 00081 00096 QI_API std::string findLib(const std::string& name); 00097 00122 QI_API std::string findConf(const std::string& applicationName, 00123 const std::string& filename); 00124 00148 QI_API std::string findData(const std::string& applicationName, 00149 const std::string& filename); 00150 00151 00164 QI_API std::vector<std::string> confPaths(const std::string& applicationName=""); 00165 00178 QI_API std::vector<std::string> dataPaths(const std::string& applicationName=""); 00179 00191 QI_API std::vector<std::string> binPaths(); 00192 00204 QI_API std::vector<std::string> libPaths(); 00205 00206 00221 QI_API std::string userWritableDataPath(const std::string& applicationName, 00222 const std::string& filename); 00223 00237 QI_API std::string userWritableConfPath(const std::string& applicationName, 00238 const std::string& filename=""); 00239 00240 00241 }; 00242 }; 00243 00244 #endif // _LIBQI_QI_PATH_HPP_