9 #ifndef anna_diameter_stack_Avp_hpp 10 #define anna_diameter_stack_Avp_hpp 63 bool operator()(
const std::string &d1,
const std::string &d2)
const {
64 return (atoi(d1.c_str()) < atoi(d2.c_str()));
100 std::string a_formatName;
101 std::string a_vendorName;
108 label_container a_labels;
111 avprule_container a_avprules;
112 bool a_allowFixedRule;
113 int a_avprulePosition;
115 void _initializeEnumsLabelsAndRules() {
119 a_allowFixedRule =
true;
120 a_avprulePosition = 0;
128 a_vBit = FlagRule::mustnot;
129 a_mBit = FlagRule::must;
130 a_pBit = FlagRule::may;
132 _initializeEnumsLabelsAndRules();
143 const std::string &
getName(
void)
const {
return a_name; }
152 const char *
getAlias(
const std::string data)
const {
153 std::map<std::string, std::string>::const_iterator it = a_labels.find(data);
154 return ((it != a_labels.end()) ? ((*it).second.c_str()) : NULL);
159 const_avprule_iterator
avprule_end()
const {
return a_avprules.end(); }
162 const_label_iterator
label_begin()
const {
return a_labels.begin(); }
163 const_label_iterator
label_end()
const {
return a_labels.end(); }
169 bool hasAliases(
void)
const {
return (a_labels.size() != 0); }
170 bool isChild(
const AvpId & avp)
const ;
171 std::string getFlagsDescription(
void)
const ;
172 std::string getFlagRulesDescription(
void)
const ;
173 const Format * getFormat()
const ;
175 std::string asString(
void)
const ;
193 void setName(
const std::string & n) noexcept(
false) {
211 void addLabel(
const std::string & data,
const std::string & alias) noexcept(
false);
212 void addAvpRule(
const AvpRule & avpRule) noexcept(
false);
const char * getEnums(void) const
Definition: Avp.hpp:151
const char * simplifyLiteral(void)
int avprule_size() const
Definition: Avp.hpp:160
const FlagRule::_v & getMbit(void) const
Definition: Avp.hpp:147
void setVbit(const FlagRule::_v &v)
Definition: Avp.hpp:202
void setVendorName(const std::string &vn)
Definition: Avp.hpp:200
bool allowEnum(int value) const
Definition: Avp.hpp:168
#define anna_declare_enum(name)
Definition: define.autoenum.hpp:48
void setFormatName(const std::string &fn)
Definition: Avp.hpp:201
void setLiteral(const char *l)
Definition: MultiRangeExpression.hpp:76
void addLiteral(const char *l)
Definition: MultiRangeExpression.hpp:87
void setPbit(const FlagRule::_v &p)
Definition: Avp.hpp:204
std::map< int, AvpRule > avprule_container
Definition: Avp.hpp:44
std::pair< S32, S32 > AvpId
Definition: defines.hpp:31
void addEnums(const char *e)
Definition: Avp.hpp:208
void setMayEncrypt(bool me)
Definition: Avp.hpp:205
void setCode(const S32 &c) noexcept(false)
Definition: Avp.hpp:181
const char * getAlias(const std::string data) const
Definition: Avp.hpp:152
void setEnums(const char *e)
Definition: Avp.hpp:207
void setName(const std::string &n) noexcept(false)
Definition: Avp.hpp:193
const std::string & getName(void) const
Definition: Avp.hpp:143
int32_t S32
Definition: defines.hpp:78
std::map< std::string, std::string, lessLabel > label_container
Definition: Avp.hpp:67
Definition: MultiRangeExpression.hpp:23
Avp(const Dictionary *d=NULL)
Definition: Avp.hpp:137
avprule_container::iterator avprule_iterator
Definition: Avp.hpp:45
label_container::const_iterator const_label_iterator
Definition: Avp.hpp:69
const char * getLiteral(void) const
Definition: MultiRangeExpression.hpp:43
void setVendorId(const S32 &v) noexcept(false)
Definition: Avp.hpp:187
xml::Node Node
Definition: Node.hpp:21
Definition: Dictionary.hpp:50
bool mayEncrypt(void) const
Definition: Avp.hpp:149
bool contain(const unsigned int &value) const
Definition: MultiRangeExpression.hpp:67
avprule_container::const_iterator const_avprule_iterator
Definition: Avp.hpp:46
const FlagRule::_v & getPbit(void) const
Definition: Avp.hpp:148
bool operator()(const std::string &d1, const std::string &d2) const
Definition: Avp.hpp:63
const_avprule_iterator avprule_end() const
Definition: Avp.hpp:159
void initialize(const Dictionary *d=NULL)
Definition: Avp.hpp:199
label_container::iterator label_iterator
Definition: Avp.hpp:68
const_label_iterator label_end() const
Definition: Avp.hpp:163
const AvpId & getId(void) const
Definition: Avp.hpp:142
const FlagRule::_v & getVbit(void) const
Definition: Avp.hpp:146
#define ANNA_FILE_LOCATION
Definition: defines.hpp:23
const std::string & getFormatName(void) const
Definition: Avp.hpp:144
const_avprule_iterator avprule_begin() const
Definition: Avp.hpp:158
Definition: RuntimeException.hpp:23
int label_size() const
Definition: Avp.hpp:164
bool hasAliases(void) const
Definition: Avp.hpp:169
const_label_iterator label_begin() const
Definition: Avp.hpp:162
static const char * asText(const FlagRule::_v v) noexcept(false)
Definition: Avp.hpp:89
void setMbit(const FlagRule::_v &m)
Definition: Avp.hpp:203
Definition: AvpRule.hpp:51