ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Types | Public Member Functions | Static Public Member Functions | List of all members
anna::diameter::codec::Format Struct Reference

#include <Format.hpp>

Public Types

enum  _v {
  None = -1, Unknown, Any, OctetString,
  Integer32, Integer64, Unsigned32, Unsigned64,
  Float32, Float64, Grouped, Address,
  Time, UTF8String, DiameterIdentity, DiameterURI,
  Enumerated, IPFilterRule, QoSFilterRule
}
 

Public Member Functions

 anna_declare_enum (diameter::codec::Format)
 

Static Public Member Functions

static const char * asText (const Format::_v v) noexcept(false)
 
static bool isReserved (const std::string &formatName)
 
static bool isRFC3588 (const std::string &formatName)
 

Detailed Description

Diameter RFC3588 Avp Data Format definition

Member Enumeration Documentation

◆ _v

Enumerator
None 
Unknown 
Any 
OctetString 
Integer32 
Integer64 
Unsigned32 
Unsigned64 
Float32 
Float64 
Grouped 
Address 
Time 
UTF8String 
DiameterIdentity 
DiameterURI 
Enumerated 
IPFilterRule 
QoSFilterRule 
30  {
31  None = -1, // Initialized
32 
33 // Reserved
34  Unknown, // Unregistered at diameter dictionary
35  Any, // used on generic AVP
36 // RFC 3588
37  OctetString, // S8* n (possible zero-padding)
38  Integer32, // S32 4
39  Integer64, // S64 8
40  Unsigned32, // U32 4
41  Unsigned64, // U64 8
42  Float32, // F32 4
43  Float64, // F64 8
44  Grouped, // U32* 4*n
45  Address, // S8* 4 (IPv4) or 16 (IPv6)
46  Time, // S8* 4
47  UTF8String, // S8* n (possible zero-padding)
48  DiameterIdentity, // S8* n (possible zero-padding)
49  DiameterURI, // S8* n (possible zero-padding)
50  Enumerated, // S32 4
51  IPFilterRule, // S8* n (possible zero-padding)
52  QoSFilterRule // S8* n (possible zero-padding)
53  };
Definition: Format.hpp:35
Definition: Format.hpp:46
Definition: Format.hpp:31

Member Function Documentation

◆ anna_declare_enum()

anna::diameter::codec::Format::anna_declare_enum ( diameter::codec::Format  )

◆ asText()

static const char* anna::diameter::codec::Format::asText ( const Format::_v  v)
inlinestaticnoexcept

Format description

Parameters
vFormat type
Returns
Format description
64  {
65  return asCString(v);
66  }

◆ isReserved()

static bool anna::diameter::codec::Format::isReserved ( const std::string &  formatName)
inlinestatic

Boolean about if format type is reserved (API internal use)

Parameters
formatNameFormat text name
Returns
Boolean 'true' if reserved for internal use, 'false' if is user format type (RFC 3588 or application-specific)
76  {
77  if(formatName == asText(Format::Unknown)) return true;
78 
79  if(formatName == asText(Format::Any)) return true;
80 
81  return false;
82  }
static const char * asText(const Format::_v v) noexcept(false)
Definition: Format.hpp:64
Definition: Format.hpp:35
Here is the call graph for this function:

◆ isRFC3588()

static bool anna::diameter::codec::Format::isRFC3588 ( const std::string &  formatName)
inlinestatic

Boolean about if format type belongs to RFC 3588

Parameters
formatNameFormat text name
Returns
Boolean 'true' if belongs to RFC 3588, 'false' if is application-specific)
90  {
91  if(isReserved(formatName)) return false;
92 
93  return (asEnum(formatName) != None);
94  }
static bool isReserved(const std::string &formatName)
Definition: Format.hpp:76
Definition: Format.hpp:31
Here is the call graph for this function:

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