AgentXcpp  Version:0.3
API Documentation
 All Classes Functions Variables Enumerations Enumerator Friends Pages
agentxcpp::OctetStringVariable Class Reference

Represents an OctetSting as described in RFC 2741. More...

#include <OctetStringVariable.hpp>

Inheritance diagram for agentxcpp::OctetStringVariable:
[legend]

Public Member Functions

 OctetStringVariable (binary _value=binary())
 (Default) constructor. More...
 
 OctetStringVariable (QString initial_value)
 Construct object from a string. More...
 
void setValue (binary _value)
 Set the value. More...
 
void setValue (QString _value)
 Set the value. More...
 
binary value () const
 Get the current value. More...
 
QString toString () const
 Get the current value as string. More...
 
virtual Oid toOid () const
 Convert the value to an OID. More...
 
virtual void perform_get ()
 Perform a Get request. More...
 
virtual testset_result_t perform_testset (const binary &_v)
 Handle a TestSet request. More...
 
virtual void perform_cleanupset (const binary &_v)
 Perform an SNMP CleanupSet request. More...
 
virtual bool perform_commitset (const binary &_v)
 Perform an SNMP CommitSet request. More...
 
virtual bool perform_undoset (const binary &_v)
 Perform an SNMP UndoSet request. More...
 
- Public Member Functions inherited from agentxcpp::AbstractVariable
virtual ~AbstractVariable ()
 Virtual destructor. More...
 

Protected Attributes

binary v
 The value. More...
 

Additional Inherited Members

- Public Types inherited from agentxcpp::AbstractVariable
enum  testset_result_t {
  noError = 0, genErr = 5, noAccess = 6, wrongType = 7,
  wrongLength = 8, wrongValue = 10, noCreation = 11, inconsistentValue = 12,
  resourceUnavailable = 13, notWritable = 17, inconsistentName = 18
}
 Result type for the TestSet validation. More...
 

Detailed Description

Represents an OctetSting as described in RFC 2741.

Constructor & Destructor Documentation

agentxcpp::OctetStringVariable::OctetStringVariable ( binary  _value = binary())
inline

(Default) constructor.

Construct object from binary data, or construct the empty string.

OctetStringVariable::OctetStringVariable ( QString  initial_value)

Construct object from a string.

Member Function Documentation

virtual void agentxcpp::OctetStringVariable::perform_cleanupset ( const binary _v)
inlinevirtual

Perform an SNMP CleanupSet request.

This method is invoked when an SNMP CleanupSet request is received. It shall release any resources allocated by perform_testset().

The default implementation does nothing. If no action is required to perform the CleanupSet operation, this method need not be overridden.

Parameters
_vThe value to which the variable was (possibly) set.
virtual bool agentxcpp::OctetStringVariable::perform_commitset ( const binary _v)
inlinevirtual

Perform an SNMP CommitSet request.

This method is invoked when an SNMP CommitSet request is received. It shall perform the actual write operation.

The default implementation returns false to indicate that the operation failed. To implement a writeable SNMP variable this method must be overridden.

Parameters
_vThe value which shall be written.
Returns
True if the operation succeeded, false otherwise.
virtual void agentxcpp::OctetStringVariable::perform_get ( )
inlinevirtual

Perform a Get request.

This method is invoked when an SNMP Get request is received. It should update the internal value v.

virtual testset_result_t agentxcpp::OctetStringVariable::perform_testset ( const binary _v)
inlinevirtual

Handle a TestSet request.

Perform an SNMP TestSet request. This method is invoked when an SNMP TestSet request is received. It shall check whether a Set operation is possible for the variable. It shall acquire the resources needed to perform the Set operation (but the Set operation shall not yet be performed).

The default implementation returns AbstractVariable::noAccess to indicate that this is a read-only variable. Thus, for read-only variables this method need not be overridden.

Parameters
_vThe new value provided by the master agent.
Returns
The result of the check (this is reported to the master agent).
virtual bool agentxcpp::OctetStringVariable::perform_undoset ( const binary _v)
inlinevirtual

Perform an SNMP UndoSet request.

This method is invoked when an SNMP UndoSet request is received. It shall undo whatever perform_commitset() performed. It shall also release all resources allocated by perform_testset(), because perform_cleanupset() will not be called afterwards.

The default implementation returns false to indicate that the operation failed. It is strongly recommended that writeable variables override this method.

Parameters
_vThe value just set by perform_commitset().
Returns
True on success, false otherwise.
void agentxcpp::OctetStringVariable::setValue ( binary  _value)
inline

Set the value.

Parameters
_valueThe new value.
void OctetStringVariable::setValue ( QString  _value)

Set the value.

Parameters
_valueThe new value.
Oid OctetStringVariable::toOid ( ) const
virtual

Convert the value to an OID.

The conversion is done according to RFC 2578, 7.7. "Mapping of the INDEX clause". First, the string length is converted to a subid. Then, each octet of the value is converted into a separate subid.

Implements agentxcpp::AbstractVariable.

QString OctetStringVariable::toString ( ) const

Get the current value as string.

binary agentxcpp::OctetStringVariable::value ( ) const
inline

Get the current value.

Returns
The value.

Member Data Documentation

binary agentxcpp::OctetStringVariable::v
protected

The value.

According to RFC 2578, Octet_String represents arbitrary binary or textual data.