1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
10 #include <anna/diameter/codec/basetypes/OctetString.hpp>
16 //------------------------------------------------------------------------------
17 //----------------------------------------------------- OctetString::codeBasic()
18 //------------------------------------------------------------------------------
19 void anna::diameter::codec::basetypes::OctetString::codeBasic(char* buffer, int &size) throw(anna::RuntimeException) {
20 memcpy(buffer, a_value.c_str(), size = getSize());
23 //------------------------------------------------------------------------------
24 //-------------------------------------------- OctetString::setPrintableString()
25 //------------------------------------------------------------------------------
26 void anna::diameter::codec::basetypes::OctetString::setPrintableString(const char * printableString) throw(anna::RuntimeException) {
27 setValue(printableString);
31 //------------------------------------------------------------------------------
32 //----------------------------------------------- OctetString::assertPrintable()
33 //------------------------------------------------------------------------------
34 void anna::diameter::codec::basetypes::OctetString::assertPrintable() const throw(anna::RuntimeException) {
35 /*std::string dummy =*/
36 AvpData::assertPrintable(a_value.c_str(), a_value.size());
40 //------------------------------------------------------------------------------
41 //-------------------------------------------------------- OctetString::decode()
42 //------------------------------------------------------------------------------
43 void anna::diameter::codec::basetypes::OctetString::decode(const char* buffer, const int size) throw(anna::RuntimeException) {
45 std::string msg = getFormatName(); // Unknown format inherit from OctetString
46 msg += "::decode | Null Buffer provided";
47 throw anna::RuntimeException(msg, ANNA_FILE_LOCATION);
50 a_value.assign(buffer, size); // direct decode due to private member nature