9 #ifndef anna_diameter_codec_basetypes_AvpData_hpp 10 #define anna_diameter_codec_basetypes_AvpData_hpp 65 virtual void codeBasic(
char* buffer,
int &size) noexcept(
false) = 0;
74 virtual void updateBasic() noexcept(
false) {;}
82 virtual void setPrintableString(
const char * printableString) noexcept(
false) = 0;
96 std::string
assertPrintable(
const char* buffer,
const int size)
const noexcept(
false) {
99 if(size == 0)
return result;
106 ex +=
"::assertPrintable | Non-printable data provided";
136 virtual int getSize()
const = 0;
147 void code(
char* buffer,
int &size) noexcept(
false) {
148 codeBasic(buffer, size);
217 virtual void decode(
const char* buffer,
const int size) noexcept(
false) = 0;
225 if(!printableString) {
227 ex +=
"::fromPrintableString | Null printableString provided";
232 setPrintableString(printableString);
virtual int getSize() const =0
static DataBlock & fromHexString(const std::string &hexString, DataBlock &target) noexcept(false)
Definition: AvpData.hpp:56
const char * getData() const
Definition: DataBlock.hpp:86
static std::string asAsciiString(const char *buffer, int size, bool &isFullyPrintable)
virtual void decode(const char *buffer, const int size) noexcept(false)=0
void fromPrintableString(const char *printableString) noexcept(false)
Definition: AvpData.hpp:224
int getSize() const
Definition: DataBlock.hpp:78
std::string asDataBlockString() noexcept(false)
Definition: AvpData.hpp:171
std::string asHexString() noexcept(false)
Definition: AvpData.hpp:196
static std::string asHexString(const int number)
std::string assertPrintable(const char *buffer, const int size) const noexcept(false)
Definition: AvpData.hpp:96
virtual std::string getFormatName() const =0
virtual std::string asString() noexcept(false)
Definition: AvpData.hpp:186
#define ANNA_FILE_LOCATION
Definition: defines.hpp:23
void code(char *buffer, int &size) noexcept(false)
Definition: AvpData.hpp:147
virtual std::string asPrintableString() noexcept(false)
Definition: AvpData.hpp:159
AvpData()
Definition: AvpData.hpp:118
Definition: RuntimeException.hpp:23
std::string asString(const int characterByLine=24) const
void fromHexString(const std::string &hexString) noexcept(false)
Definition: AvpData.hpp:240
Definition: DataBlock.hpp:24