9 #ifndef anna_diameter_stack_Dictionary_hpp 10 #define anna_diameter_stack_Dictionary_hpp 62 if(id1.second == id2.second)
return (id1.first < id2.first);
64 return (id1.second < id2.second);
73 if(id1.first == id2.first) {
74 if(id1.second != id2.second)
return (id1.second);
79 return (id1.first < id2.first);
91 format_container a_formats;
92 vendor_container a_vendors;
94 command_container a_commands;
100 typedef std::map<std::string, const Vendor *> vendorNames_container;
101 typedef vendorNames_container::const_iterator const_vendorNames_iterator;
103 typedef std::map<std::string, const Avp *> avpNames_container;
104 typedef avpNames_container::const_iterator const_avpNames_iterator;
106 typedef std::map<std::string, const Command *> commandNames_container;
107 typedef commandNames_container::const_iterator const_commandNames_iterator;
109 vendorNames_container a_vendorNames;
110 avpNames_container a_avpNames;
111 commandNames_container a_commandNames;
130 const std::string &
getName()
const {
return a_name; }
131 const Format * getFormat(
const std::string & formatName)
const ;
132 const Vendor * getVendor(
S32 vendorId)
const ;
133 const Vendor * getVendor(
const std::string & vendorName)
const ;
134 const Avp * getAvp(
const AvpId & avpId)
const ;
135 const Avp * getAvp(
const std::string & avpName)
const ;
137 const Command * getCommand(
const std::string & commandName)
const ;
141 void addFormat(
const Format &,
bool reserved =
false) noexcept(
false);
142 void addVendor(
const Vendor &) noexcept(
false);
143 void addAvp(
const Avp &) noexcept(
false);
144 void addCommand(
const Command &) noexcept(
false);
147 const_format_iterator
format_begin()
const {
return a_formats.begin(); }
148 const_format_iterator
format_end()
const {
return a_formats.end(); }
151 const_vendor_iterator
vendor_begin()
const {
return a_vendors.begin(); }
152 const_vendor_iterator
vendor_end()
const {
return a_vendors.end(); }
155 const_avp_iterator
avp_begin()
const {
return a_avps.begin(); }
156 const_avp_iterator
avp_end()
const {
return a_avps.end(); }
160 const_command_iterator
command_end()
const {
return a_commands.end(); }
170 std::string asString(
void)
const ;
183 std::string asXMLString()
const ;
207 virtual void load(
const std::string & pathFile) noexcept(
false);
const_format_iterator format_end() const
Definition: Dictionary.hpp:148
const_avp_iterator avp_begin() const
Definition: Dictionary.hpp:155
Definition: Dictionary.hpp:60
Definition: Vendor.hpp:46
const_avp_iterator avp_end() const
Definition: Dictionary.hpp:156
~Dictionary()
Definition: Dictionary.hpp:127
int format_size() const
Definition: Dictionary.hpp:149
const_command_iterator command_begin() const
Definition: Dictionary.hpp:159
vendor_container::const_iterator const_vendor_iterator
Definition: Dictionary.hpp:58
bool operator()(CommandId id1, CommandId id2) const
Definition: Dictionary.hpp:72
void clear(void)
Definition: Dictionary.hpp:212
bool operator()(AvpId id1, AvpId id2) const
Definition: Dictionary.hpp:61
int vendor_size() const
Definition: Dictionary.hpp:153
int avp_size() const
Definition: Dictionary.hpp:157
const_vendor_iterator vendor_end() const
Definition: Dictionary.hpp:152
std::map< AvpId, Avp, lessAvp > avp_container
Definition: Dictionary.hpp:67
std::pair< S32, S32 > AvpId
Definition: defines.hpp:31
const std::string & getName() const
Definition: Dictionary.hpp:130
Definition: DTDMemory.hpp:24
int32_t S32
Definition: defines.hpp:78
std::map< std::string, Format > format_container
Definition: Dictionary.hpp:54
std::string a_name
Definition: Dictionary.hpp:86
void allowUpdates(bool allow=true)
Definition: Dictionary.hpp:140
format_container::const_iterator const_format_iterator
Definition: Dictionary.hpp:55
xml::Node Node
Definition: Node.hpp:21
Definition: Dictionary.hpp:50
Definition: Dictionary.hpp:71
avp_container::const_iterator const_avp_iterator
Definition: Dictionary.hpp:68
Definition: Command.hpp:48
std::map< S32, Vendor > vendor_container
Definition: Dictionary.hpp:57
int command_size() const
Definition: Dictionary.hpp:161
const_vendor_iterator vendor_begin() const
Definition: Dictionary.hpp:151
std::pair< U24, bool > CommandId
Definition: defines.hpp:32
const_format_iterator format_begin() const
Definition: Dictionary.hpp:147
std::map< CommandId, Command, lessCommand > command_container
Definition: Dictionary.hpp:82
const_command_iterator command_end() const
Definition: Dictionary.hpp:160
command_container::const_iterator const_command_iterator
Definition: Dictionary.hpp:83