ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
file.hpp
Go to the documentation of this file.
1 
6 #ifndef IFW_CTD_FILE_HPP_
7 #define IFW_CTD_FILE_HPP_
8 
9 #include <string>
10 
11 #include "ctd/defines/defines.hpp"
12 
13 
14 namespace ctd {
15 namespace file {
16 
18 typedef enum {
19  SYSROOT = 1,
20  INTROOT = 2,
21  DATAROOT = 4,
22  CFGROOT = 8,
25 } RootType;
26 
31 const std::string SYSROOT_STR = "SYSROOT";
32 const std::string INTROOT_STR = "INTROOT";
33 const std::string DATAROOT_STR = "DATAROOT";
34 const std::string CFGROOT_STR = "CFGROOT";
38 typedef enum {
40  RES_CONFIG = 1,
41  RES_AUDIO = 2,
42  RES_IMAGE = 4,
43  RES_MODEL = 8,
44  RES_DICTIONARY = 16,
45  RES_DATA = 32,
48 } ResourceType;
49 
54 const std::string RES_DIR = "resource";
55 const std::string RES_CONFIG_STR = "config";
56 const std::string RES_AUDIO_STR = "audio";
57 const std::string RES_IMAGE_STR = "image";
58 const std::string RES_MODEL_STR = "model";
59 const std::string RES_DICTIONARY_STR = "dictionary";
60 const std::string RES_DATA_STR = "data";
63 std::string RootVarTypeNbToString(const RootType type);
65 
67 RootType RootVarTypeStringToNb(const std::string& type);
68 
70 std::string ResDirNbToString(const ResourceType type);
71 
73 ResourceType ResDirStringToNb(const std::string& type);
74 
76 std::string ResolvePath(const std::string& filename);
77 
79 std::string CreateIfwFilename(const std::string& filename,
80  const RootType root,
81  const ResourceType resource,
82  const std::string& extension = "");
83 
85 std::string CheckAddExtension(const std::string& filename,
86  const std::string& extension);
87 
89 void RemoveFile(const std::string& filename);
90 
133 std::string FindFile(const std::string& filename,
134  int32_t roots = ROOTS_ALL,
135  int32_t resources = RES_ALL,
136  const bool exception = true);
137 
148 std::string LoadFile(const std::string& filename,
149  std::string* complete_filename = NULL,
150  RootType roots = ROOTS_ALL,
151  ResourceType resources = RES_ALL);
152 
159 void SaveFile(const std::string& filename,
160  const std::string& buffer,
161  const bool overwrite = true);
162 
163 } // namespace file
164 } // namespace ctd
165 
166 
167 #endif // !IFW_CTD_FILE_HPP_
void RemoveFile(const std::string &filename)
Remove the referenced file, if it exists.
Definition: file.cpp:75
const std::string RES_IMAGE_STR
Definition: file.hpp:57
std::string ResDirNbToString(ResourceType type)
Convert resource type from number to string representation.
Definition: file.cpp:40
const std::string SYSROOT_STR
Definition: file.hpp:31
Definition: file.hpp:42
Definition: file.hpp:46
Definition: file.hpp:23
const std::string RES_DIR
Definition: file.hpp:54
Definition: file.hpp:19
Definition: file.hpp:45
Definition: file.hpp:21
RootType RootVarTypeStringToNb(const std::string &type)
Convert root type from string to number representation.
Definition: file.cpp:30
std::string ResolvePath(const std::string &filename)
Resolve the filename if it contains env. variables, &quot;~&quot; and relative paths.
Definition: file.cpp:122
const std::string CFGROOT_STR
Definition: file.hpp:34
Definition: file.hpp:44
Definition: file.hpp:41
const std::string RES_CONFIG_STR
Definition: file.hpp:55
std::string CreateIfwFilename(const std::string &filename, const RootType root, const ResourceType resource, const std::string &extension)
Create a resource path in the IFW deployment environment.
Definition: file.cpp:90
const std::string DATAROOT_STR
Definition: file.hpp:33
Definition: file.hpp:20
ResourceType ResDirStringToNb(const std::string &type)
Convert resource type from string to number representation.
Definition: file.cpp:52
Definition: file.hpp:24
const std::string RES_MODEL_STR
Definition: file.hpp:58
Definition: file.hpp:40
RootType
Types of ELT deployment environment roots.
Definition: file.hpp:18
Definition: file.hpp:22
std::string RootVarTypeNbToString(RootType type)
Convert root type from number to string representation.
Definition: file.cpp:20
std::string CheckAddExtension(const std::string &filename, const std::string &extension)
Check if the filename has the specified extension (no initiating dot). If not, add it...
Definition: file.cpp:64
Definition: file.hpp:43
ResourceType
Types of resources found in the ELT deployment roots.
Definition: file.hpp:39
std::string FindFile(const std::string &filename, int32_t roots, int32_t resources, const bool exception)
Locate file in the locations defined by the ELT ICS deployment environment.
Definition: file.cpp:151
const std::string RES_AUDIO_STR
Definition: file.hpp:56
std::string LoadFile(const std::string &filename, std::string *complete_filename, RootType roots, ResourceType resources)
Load a file and return the content.
Definition: file.cpp:226
const std::string RES_DATA_STR
Definition: file.hpp:60
void SaveFile(const std::string &filename, const std::string &buffer, const bool overwrite)
Save the contents inthe buffer into the given filename.
Definition: file.cpp:250
const std::string RES_DICTIONARY_STR
Definition: file.hpp:59
const std::string INTROOT_STR
Definition: file.hpp:32