ANNA Suite  2020b
Multipurpose development suite for Telco applications
Classes | Public Types | Public Member Functions | List of all members
anna::diameter::stack::Avp Class Reference

#include <Avp.hpp>

Classes

struct  FlagRule
 
struct  lessLabel
 

Public Types

typedef std::map< std::string, std::string, lessLabellabel_container
 
typedef label_container::iterator label_iterator
 
typedef label_container::const_iterator const_label_iterator
 

Public Member Functions

 Avp (const Dictionary *d=NULL)
 
 ~Avp ()
 
const AvpIdgetId (void) const
 
const std::string & getName (void) const
 
const std::string & getFormatName (void) const
 
const FlagRule::_vgetVbit (void) const
 
const FlagRule::_vgetMbit (void) const
 
const FlagRule::_vgetPbit (void) const
 
bool mayEncrypt (void) const
 
const char * getEnums (void) const
 
const char * getAlias (const std::string data) const
 
const_avprule_iterator avprule_begin () const
 
const_avprule_iterator avprule_end () const
 
int avprule_size () const
 
const_label_iterator label_begin () const
 
const_label_iterator label_end () const
 
int label_size () const
 
bool allowEnum (int value) const
 
bool hasAliases (void) const
 
bool isChild (const AvpId &avp) const
 
std::string getFlagsDescription (void) const
 
std::string getFlagRulesDescription (void) const
 
const FormatgetFormat () const
 
std::string asString (void) const
 
anna::xml::NodeasXML (anna::xml::Node *parent) const
 
void setCode (const S32 &c) noexcept(false)
 
void setVendorId (const S32 &v) noexcept(false)
 
void setName (const std::string &n) noexcept(false)
 
void initialize (const Dictionary *d=NULL)
 
void setVendorName (const std::string &vn)
 
void setFormatName (const std::string &fn)
 
void setVbit (const FlagRule::_v &v)
 
void setMbit (const FlagRule::_v &m)
 
void setPbit (const FlagRule::_v &p)
 
void setMayEncrypt (bool me)
 
void setEnums (const char *e)
 
void addEnums (const char *e)
 
void addLabel (const std::string &data, const std::string &alias) noexcept(false)
 
void addAvpRule (const AvpRule &avpRule) noexcept(false)
 

Detailed Description

Avp Reference information

Member Typedef Documentation

◆ const_label_iterator

typedef label_container::const_iterator anna::diameter::stack::Avp::const_label_iterator

◆ label_container

typedef std::map< std::string , std::string , lessLabel > anna::diameter::stack::Avp::label_container

◆ label_iterator

typedef label_container::iterator anna::diameter::stack::Avp::label_iterator

Constructor & Destructor Documentation

◆ Avp()

anna::diameter::stack::Avp::Avp ( const Dictionary d = NULL)
inline
137 { _initialize(d); }

◆ ~Avp()

anna::diameter::stack::Avp::~Avp ( )

Member Function Documentation

◆ addAvpRule()

void anna::diameter::stack::Avp::addAvpRule ( const AvpRule avpRule)
noexcept

◆ addEnums()

void anna::diameter::stack::Avp::addEnums ( const char *  e)
inline
208 { a_enums.addLiteral(e); a_enums.simplifyLiteral(); }
const char * simplifyLiteral(void)
void addLiteral(const char *l)
Definition: MultiRangeExpression.hpp:87
Here is the call graph for this function:

◆ addLabel()

void anna::diameter::stack::Avp::addLabel ( const std::string &  data,
const std::string &  alias 
)
noexcept

◆ allowEnum()

bool anna::diameter::stack::Avp::allowEnum ( int  value) const
inline
168 { return a_enums.contain(value); }
bool contain(const unsigned int &value) const
Definition: MultiRangeExpression.hpp:67
Here is the call graph for this function:

◆ asString()

std::string anna::diameter::stack::Avp::asString ( void  ) const

◆ asXML()

anna::xml::Node* anna::diameter::stack::Avp::asXML ( anna::xml::Node parent) const

◆ avprule_begin()

const_avprule_iterator anna::diameter::stack::Avp::avprule_begin ( ) const
inline
158 { return a_avprules.begin(); }

◆ avprule_end()

const_avprule_iterator anna::diameter::stack::Avp::avprule_end ( ) const
inline
159 { return a_avprules.end(); }

◆ avprule_size()

int anna::diameter::stack::Avp::avprule_size ( ) const
inline
160 { return a_avprules.size(); }

◆ getAlias()

const char* anna::diameter::stack::Avp::getAlias ( const std::string  data) const
inline
152  {
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);
155  }

◆ getEnums()

const char* anna::diameter::stack::Avp::getEnums ( void  ) const
inline
151 { return a_enums.getLiteral(); }
const char * getLiteral(void) const
Definition: MultiRangeExpression.hpp:43
Here is the call graph for this function:

◆ getFlagRulesDescription()

std::string anna::diameter::stack::Avp::getFlagRulesDescription ( void  ) const

◆ getFlagsDescription()

std::string anna::diameter::stack::Avp::getFlagsDescription ( void  ) const

◆ getFormat()

const Format* anna::diameter::stack::Avp::getFormat ( ) const

◆ getFormatName()

const std::string& anna::diameter::stack::Avp::getFormatName ( void  ) const
inline
144 { return a_formatName; }

◆ getId()

const AvpId& anna::diameter::stack::Avp::getId ( void  ) const
inline
142 { return a_id; }

◆ getMbit()

const FlagRule::_v& anna::diameter::stack::Avp::getMbit ( void  ) const
inline
147 { return a_mBit; }

◆ getName()

const std::string& anna::diameter::stack::Avp::getName ( void  ) const
inline
143 { return a_name; }

◆ getPbit()

const FlagRule::_v& anna::diameter::stack::Avp::getPbit ( void  ) const
inline
148 { return a_pBit; }

◆ getVbit()

const FlagRule::_v& anna::diameter::stack::Avp::getVbit ( void  ) const
inline
146 { return a_vBit; }

◆ hasAliases()

bool anna::diameter::stack::Avp::hasAliases ( void  ) const
inline
169 { return (a_labels.size() != 0); }

◆ initialize()

void anna::diameter::stack::Avp::initialize ( const Dictionary d = NULL)
inline
199 { _initialize(d); }

◆ isChild()

bool anna::diameter::stack::Avp::isChild ( const AvpId avp) const

◆ label_begin()

const_label_iterator anna::diameter::stack::Avp::label_begin ( ) const
inline
162 { return a_labels.begin(); }

◆ label_end()

const_label_iterator anna::diameter::stack::Avp::label_end ( ) const
inline
163 { return a_labels.end(); }

◆ label_size()

int anna::diameter::stack::Avp::label_size ( ) const
inline
164 { return a_labels.size(); }

◆ mayEncrypt()

bool anna::diameter::stack::Avp::mayEncrypt ( void  ) const
inline
149 { return a_mayEncrypt; }

◆ setCode()

void anna::diameter::stack::Avp::setCode ( const S32 c)
inlinenoexcept
181  {
182  if(c < 0) throw anna::RuntimeException("Negative avp-code not allowed", ANNA_FILE_LOCATION);
183 
184  a_id.first = c;
185  }
#define ANNA_FILE_LOCATION
Definition: defines.hpp:23
Definition: RuntimeException.hpp:23

◆ setEnums()

void anna::diameter::stack::Avp::setEnums ( const char *  e)
inline
207 { a_enums.setLiteral(e); }
void setLiteral(const char *l)
Definition: MultiRangeExpression.hpp:76
Here is the call graph for this function:

◆ setFormatName()

void anna::diameter::stack::Avp::setFormatName ( const std::string &  fn)
inline
201 { a_formatName = fn; }

◆ setMayEncrypt()

void anna::diameter::stack::Avp::setMayEncrypt ( bool  me)
inline
205 { a_mayEncrypt = me; }

◆ setMbit()

void anna::diameter::stack::Avp::setMbit ( const FlagRule::_v m)
inline
203 { a_mBit = m; }

◆ setName()

void anna::diameter::stack::Avp::setName ( const std::string &  n)
inlinenoexcept
193  {
194  if(n == "") throw anna::RuntimeException("Empty avp-name string not allowed", ANNA_FILE_LOCATION);
195 
196  a_name = n;
197  }
#define ANNA_FILE_LOCATION
Definition: defines.hpp:23
Definition: RuntimeException.hpp:23

◆ setPbit()

void anna::diameter::stack::Avp::setPbit ( const FlagRule::_v p)
inline
204 { a_pBit = p; } // deprecated flag ...

◆ setVbit()

void anna::diameter::stack::Avp::setVbit ( const FlagRule::_v v)
inline
202 { a_vBit = v; }

◆ setVendorId()

void anna::diameter::stack::Avp::setVendorId ( const S32 v)
inlinenoexcept
187  {
188  if(v < 0) throw anna::RuntimeException("Negative vendor-id not allowed", ANNA_FILE_LOCATION);
189 
190  a_id.second = v;
191  }
#define ANNA_FILE_LOCATION
Definition: defines.hpp:23
Definition: RuntimeException.hpp:23

◆ setVendorName()

void anna::diameter::stack::Avp::setVendorName ( const std::string &  vn)
inline
200 { a_vendorName = vn; }

The documentation for this class was generated from the following file: