18 #ifndef _COMMONIFACE_HH_
19 #define _COMMONIFACE_HH_
23 #include <boost/uuid/sha1.hpp>
49 std::string
find_file(
const std::string &_file);
57 std::string
find_file(
const std::string &_file,
58 bool _searchLocalPath);
71 std::string
get_sha1(
const T &_buffer);
77 const char *
getEnv(
const char *_name);
86 boost::uuids::detail::sha1 sha1;
88 std::stringstream stream;
90 if (_buffer.size() == 0)
92 sha1.process_bytes(
NULL, 0);
96 sha1.process_bytes(&(_buffer[0]), _buffer.size() *
sizeof(_buffer[0]));
99 sha1.get_digest(hash);
101 for (std::size_t i = 0; i <
sizeof(hash) /
sizeof(hash[0]); ++i)
103 stream << std::setfill(
'0')
104 << std::setw(
sizeof(hash[0]) * 2)
GZ_COMMON_VISIBLE std::string find_file_path(const std::string &_file)
search for a file in common::SystemPaths
std::string get_sha1(const T &_buffer)
Compute the SHA1 hash of an array of bytes.
Definition: CommonIface.hh:84
GZ_COMMON_VISIBLE const char * getEnv(const char *_name)
Cross platform retrieval of an environment variable.
GZ_COMMON_VISIBLE void load()
Load the common library.
#define GZ_COMMON_VISIBLE
Definition: system.hh:91
#define NULL
Definition: CommonTypes.hh:30
GZ_COMMON_VISIBLE std::string find_file(const std::string &_file)
search for file in common::SystemPaths
GZ_COMMON_VISIBLE void add_search_path_suffix(const std::string &_suffix)
add path sufix to common::SystemPaths