ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Header.hpp
Go to the documentation of this file.
1 
6 #ifndef IFW_DIT_DID_HEADER_HPP_
7 #define IFW_DIT_DID_HEADER_HPP_
8 
9 #include <string>
10 
11 #include "ctd/defines/defines.hpp"
12 
13 #include "ctd/file/Yaml.hpp"
14 
15 
16 namespace dit {
17 namespace did {
18 
20 class Header {
21 public:
22 
23  static const std::string HEADER_TAG;
24 
26  typedef enum {
33 
36 
37  } DidHdrField;
38 
43  static const std::string DID_HDR_FIELD_NAME_STR;
44  static const std::string DID_HDR_FIELD_SCOPE_STR;
45  static const std::string DID_HDR_FIELD_CRE_DATE_STR;
46  static const std::string DID_HDR_FIELD_VERSION_STR;
47  static const std::string DID_HDR_FIELD_INCLUDE_STR;
48  static const std::string DID_HDR_FIELD_DESCRIPTION_STR;
51  static const std::map<DidHdrField, std::string> s_did_hdr_fields_nb_map;
52  static const std::map<std::string, DidHdrField> s_did_hdr_fields_name_map;
53 
54  Header();
55 
60  explicit Header(const ctd::file::Yaml& did);
61 
62  ~Header();
63 
69  void Parse(const ctd::file::Yaml& did);
70 
72  std::string GetName() const;
73 
75  std::string GetScope() const;
76 
79 
81  std::string GetVersion() const;
82 
85 
87  std::string GetDescription() const;
88 
94  std::string Print(DidHdrField fields = DID_HDR_FIELD_ALL,
95  const bool compact = false) const;
96 
97 private:
98  std::string m_name;
99  std::string m_scope;
100  ctd::defines::IsoTime m_creation_date;
101  std::string m_version;
103  std::string m_description;
104 };
105 
106 } // namespace did
107 } // namespace dit
108 
109 #endif // !IFW_DIT_DID_HEADER_HPP_
static const std::string DID_HDR_FIELD_DESCRIPTION_STR
Definition: Header.hpp:48
Class implementing the handling of Yaml files in the ICS environment.
Definition: Yaml.hpp:24
Header()
Definition: Header.cpp:55
static const std::string HEADER_TAG
Definition: Header.hpp:23
std::string GetDescription() const
Return Description.
Definition: Header.cpp:133
ctd::defines::IsoTime GetCreationDate() const
Return creation date (ISO8601).
Definition: Header.cpp:115
Definition: Header.hpp:27
std::string GetName() const
Return (file)name, from where the dictionary was loaded.
Definition: Header.cpp:103
static const std::map< DidHdrField, std::string > s_did_hdr_fields_nb_map
Definition: Header.hpp:51
static const std::string DID_HDR_FIELD_INCLUDE_STR
Definition: Header.hpp:47
DidHdrField
Dictionary header field types.
Definition: Header.hpp:26
static const std::string DID_HDR_FIELD_NAME_STR
Definition: Header.hpp:43
std::string GetScope() const
Return scope.
Definition: Header.cpp:109
~Header()
Definition: Header.cpp:65
std::string IsoTime
ISO8601 data type.
Definition: defines.hpp:29
std::string Print(DidHdrField fields=DID_HDR_FIELD_ALL, const bool compact=false) const
Get string copy of one or more header fields.
Definition: Header.cpp:139
const ctd::defines::List< std::string > & GetIncludes() const
Return reference to list of include files.
Definition: Header.cpp:127
static const std::string DID_HDR_FIELD_CRE_DATE_STR
Definition: Header.hpp:45
std::string GetVersion() const
Return version (control string).
Definition: Header.cpp:121
static const std::map< std::string, DidHdrField > s_did_hdr_fields_name_map
Definition: Header.hpp:52
Definition: Header.hpp:34
static const std::string DID_HDR_FIELD_SCOPE_STR
Definition: Header.hpp:44
void Parse(const ctd::file::Yaml &did)
Parse Parse/extract the fields of the DID header, contained in the string buffer. ...
Definition: Header.cpp:69
static const std::string DID_HDR_FIELD_VERSION_STR
Definition: Header.hpp:46
Definition: Header.hpp:28