57 #ifndef _SNMP_OCTET_H_ 58 #define _SNMP_OCTET_H_ 62 #ifdef SNMP_PP_NAMESPACE 103 OctetStr(
const unsigned char *str,
unsigned long len);
123 OctetStr& operator=(
const char *str);
163 DLLOPT friend int operator==(
const OctetStr &lhs,
const char *rhs);
168 DLLOPT friend int operator!=(
const OctetStr &lhs,
const char *rhs);
173 DLLOPT friend int operator<(
const OctetStr &lhs,
const char *rhs);
178 DLLOPT friend int operator<=(
const OctetStr &lhs,
const char *rhs);
183 DLLOPT friend int operator>(
const OctetStr &lhs,
const char *rhs);
188 DLLOPT friend int operator>=(
const OctetStr &lhs,
const char *rhs);
193 OctetStr& operator+=(
const char *a);
198 OctetStr& operator+=(
const unsigned char c);
211 { m_changed =
true; validity =
true;
return smival.value.string.ptr[i]; };
218 unsigned char operator[](
int i)
const {
return smival.value.string.ptr[i]; };
230 int get_asn1_length()
const;
235 bool valid()
const {
return validity; };
258 const char *get_printable()
const;
276 const char *get_printable_hex(
const enum OutputType output_type = hex_output_type)
const;
283 const char *get_printable_clear()
const;
289 { hex_output_type = ot; };
295 static void set_np_char(
const char np) { nonprintable_char = np; };
305 void set_data(
const unsigned char *str,
unsigned long len);
310 unsigned long len()
const {
return smival.value.string.len; };
315 unsigned char *
data()
const {
return smival.value.string.ptr; };
318 int nCompare(
const unsigned long n,
const OctetStr &o)
const;
338 static bool set_linefeed_chars(
const char* lf_chars);
355 bool set_len(
const unsigned long new_len);
378 static char linefeed_chars[3];
456 #ifdef SNMP_PP_NAMESPACE 460 #endif // _SNMP_OCTET_H_
static void set_np_char(const char np)
Set the char get_printable_hex() and get_printable_clear() will use for non printable characters...
static char nonprintable_char
unsigned char & operator[](int i)
Allow access as if it was an array.
SNMP_PP_MUTABLE char output_last_np_char
SnmpSyntax * clone() const
Clone this object.
SmiUINT32 get_syntax() const
Return the syntax.
#define sNMP_SYNTAX_OCTETS
#define sNMP_SYNTAX_OPAQUE
OpaqueStr(const OpaqueStr &opaque)
Construct a OpaqueStr from another OpaqueStr.
OpaqueStr()
Constructor creating a valid zero length OpaqueStr.
OctetStr & operator=(const char *str)
Assign a char string to a OctetStr.
SNMP_PP_MUTABLE char * output_buffer
unsigned long len() const
Get the length of the string.
virtual SmiUINT32 get_syntax() const
Return the syntax.
The OpaqueStr class represents the Opaque SNMP type.
static void set_hex_output_type(const enum OutputType ot)
Set the output format for get_pritable_hex().
SNMP_PP_MUTABLE enum OutputType output_last_type
unsigned char operator[](int i) const
Allow access as if it was an array for const OctetStr objects.
unsigned char * data() const
Get a pointer to internal data.
bool valid() const
Return validity of the object.
SnmpSyntax & operator=(const SnmpSyntax &val)
Map other SnmpSyntax objects to OpaqueStr.
SNMP_PP_MUTABLE unsigned int output_buffer_len
OutputType
Enum for setting the hex output format.
OpaqueStr(const OctetStr &octet)
Construct a OpaqueStr from an OctetStr.
SNMP_PP_MUTABLE bool m_changed
OpaqueStr(const char *str)
Constructs a OpaqueStr with the given value.
An "abstract" (pure virtual) class that serves as the base class for all specific SNMP syntax types...
SNMP_PP_MUTABLE enum OutputFunction output_last_function
OpaqueStr(const unsigned char *str, unsigned long len)
Constructs a OpaqueStr with the given value.
virtual SnmpSyntax * clone() const
Clone this object.