SNMP 2.1.0
Loading...
Searching...
No Matches
SNMP::UIntegerBER< T > Class Template Reference

Base class for unsigned integer BER. More...

#include <src/BER.h>

Inheritance diagram for SNMP::UIntegerBER< T >:
[legend]
Collaboration diagram for SNMP::UIntegerBER< T >:
[legend]

Public Member Functions

virtual void encode (Stream &stream)
 Encodes UIntegerBER to stream.
 
virtual void decode (Stream &stream, const uint8_t flag=Flag::None)
 Decodes UIntegerBER from stream.
 
virtual uint8_t * encode (uint8_t *buffer)
 Encodes UIntegerBER to memory buffer.
 
virtual uint8_t * decode (uint8_t *buffer)
 Decodes UIntegerBER from memory buffer.
 
const T getValue () const
 Gets the UIntegerBER value.
 
void setValue (const T value)
 Sets the UIntegerBER value.
 
- Public Member Functions inherited from SNMP::BER
 BER (const unsigned int type)
 Creates a BER object.
 
virtual ~BER ()
 BER destructor.
 
template<typename T>
void encodeNumeric (T value, Stream &stream)
 Encodes BER numeric value to stream.
 
template<typename T>
void decodeNumeric (T *value, Stream &stream, const uint8_t flag=Flag::None)
 Decodes BER numeric value from stream.
 
template<typename T>
uint8_t * encodeNumeric (T value, uint8_t *buffer)
 Encodes BER numeric value to memory buffer.
 
template<typename T>
uint8_t * decodeNumeric (T *value, uint8_t *buffer, const uint8_t flag=Flag::None)
 Decodes BER numeric value from memory buffer.
 
template<typename T>
void setNegative (T value)
 Computes BER length of a negative integer.
 
template<typename T>
void setPositive (T value)
 Computes BER length of a positive integer.
 
const unsigned int getType () const
 Gets the BER type.
 
const unsigned int getLength () const
 Gets the BER length.
 
virtual const unsigned int getSize (const bool refresh=false)
 Gets the size of the BER.
 
- Public Member Functions inherited from SNMP::Base
void encode7bits (uint32_t value, uint8_t *buffer, const uint8_t size)
 Encodes integer value to memory buffer.
 

Protected Member Functions

 UIntegerBER (const T value, const uint8_t type)
 Creates an UIntegerBER.
 
- Protected Member Functions inherited from SNMP::BER
BERcreate (const Type &type)
 Creates a BER of given type.
 

Private Attributes

_value
 

Additional Inherited Members

- Static Public Member Functions inherited from SNMP::Base
static void encode7bits (uint32_t value, Stream &stream, const uint8_t size)
 Encodes integer value to stream.
 
- Protected Attributes inherited from SNMP::BER
Length _length
 
Type _type
 
- Protected Attributes inherited from SNMP::Base
unsigned int _size = 0
 

Detailed Description

template<class T>
class SNMP::UIntegerBER< T >

Base class for unsigned integer BER.

Template Parameters
TUnsigned integer type.

Definition at line 2093 of file BER.h.

Constructor & Destructor Documentation

◆ UIntegerBER()

template<class T>
SNMP::UIntegerBER< T >::UIntegerBER ( const T value,
const uint8_t type )
inlineprotected

Creates an UIntegerBER.

Parameters
valueUIntegerBER unsigned integer value.
typeUIntegerBER type.

Definition at line 2101 of file BER.h.

References SNMP::BER::BER(), and setValue().

Member Function Documentation

◆ decode() [1/2]

template<class T>
virtual void SNMP::UIntegerBER< T >::decode ( Stream & stream,
const uint8_t flag = Flag::None )
inlinevirtual

Decodes UIntegerBER from stream.

The inherited BER::decodeNumeric<T>() template function decodes type, length and value.

Parameters
streamStream to read from.
flagDecoding flag.

Reimplemented from SNMP::BER.

Definition at line 2129 of file BER.h.

References _value, SNMP::BER::decodeNumeric(), and SNMP::Flag::None.

◆ decode() [2/2]

template<class T>
virtual uint8_t * SNMP::UIntegerBER< T >::decode ( uint8_t * buffer)
inlinevirtual

Decodes UIntegerBER from memory buffer.

The inherited BER::decodeNumeric<T>() template function decodes type, length and value.

Parameters
bufferPointer to the buffer.
Returns
Next position to be read in buffer.

Reimplemented from SNMP::BER.

Definition at line 2155 of file BER.h.

References _value, and SNMP::BER::decodeNumeric().

◆ encode() [1/2]

template<class T>
virtual void SNMP::UIntegerBER< T >::encode ( Stream & stream)
inlinevirtual

Encodes UIntegerBER to stream.

The inherited BER::encodeNumeric<T>() template function encodes type, length and value.

Parameters
streamStream to write to.

Reimplemented from SNMP::BER.

Definition at line 2116 of file BER.h.

References _value, and SNMP::BER::encodeNumeric().

◆ encode() [2/2]

template<class T>
virtual uint8_t * SNMP::UIntegerBER< T >::encode ( uint8_t * buffer)
inlinevirtual

Encodes UIntegerBER to memory buffer.

The inherited BER::encodeNumeric<T>() template function encodes type, length and value.

Parameters
bufferPointer to the buffer.
Returns
Next position to be written in buffer.

Reimplemented from SNMP::BER.

Definition at line 2142 of file BER.h.

References _value, and SNMP::BER::encodeNumeric().

◆ getValue()

template<class T>
const T SNMP::UIntegerBER< T >::getValue ( ) const
inline

Gets the UIntegerBER value.

Returns
UIntegerBER unsigned integer value.

Definition at line 2165 of file BER.h.

References _value.

◆ setValue()

template<class T>
void SNMP::UIntegerBER< T >::setValue ( const T value)
inline

Sets the UIntegerBER value.

Note
Length is updated.
Parameters
valueUIntegerBER unsigned integer value.

Definition at line 2176 of file BER.h.

References _value, and SNMP::BER::setPositive().

Referenced by UIntegerBER().

Member Data Documentation

◆ _value

template<class T>
T SNMP::UIntegerBER< T >::_value
private

UIntegerBER unsigned integer value.

Definition at line 2183 of file BER.h.

Referenced by decode(), decode(), encode(), encode(), getValue(), and setValue().


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