libqi  1.14.5
qi/path.hpp
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2012 Aldebaran Robotics. All rights reserved.
00003  * Use of this source code is governed by a BSD-style license that can be
00004  * found in the COPYING file.
00005  */
00006 
00011 #pragma once
00012 #ifndef _LIBQI_QI_PATH_HPP_
00013 #define _LIBQI_QI_PATH_HPP_
00014 
00015 # include <string>
00016 # include <vector>
00017 # include <qi/config.hpp>
00018 
00027 namespace qi
00028 {
00029   namespace path
00030   {
00031 
00037     QI_API std::string sdkPrefix();
00038 
00039     // not thread-safe, must be kept internal
00040     namespace detail {
00041 
00046       QI_API std::vector<std::string> getSdkPrefixes();
00047 
00057       QI_API void addOptionalSdkPrefix(const char* prefix);
00058 
00065       QI_API void clearOptionalSdkPrefix();
00066 
00067     }
00068 
00069 
00079     QI_API std::string findBin(const std::string& name);
00080 
00095     QI_API std::string findLib(const std::string& name);
00096 
00119     QI_API std::string findConf(const std::string& applicationName,
00120                                 const std::string& filename);
00121 
00143     QI_API std::string findData(const std::string& applicationName,
00144                                 const std::string& filename);
00145 
00146 
00159     QI_API std::vector<std::string> confPaths(const std::string& applicationName="");
00160 
00173     QI_API std::vector<std::string> dataPaths(const std::string& applicationName="");
00174 
00186     QI_API std::vector<std::string> binPaths();
00187 
00199     QI_API std::vector<std::string> libPaths();
00200 
00201 
00216     QI_API std::string userWritableDataPath(const std::string& applicationName,
00217                                             const std::string& filename);
00218 
00233     QI_API std::string userWritableConfPath(const std::string& applicationName,
00234                                             const std::string& filename="");
00235 
00236 
00237   };
00238 };
00239 
00240 #endif  // _LIBQI_QI_PATH_HPP_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines