AgentXcpp  Version:0.3
Internals Documentation
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Pages
agentxcpp::ResponsePDU Class Reference

Represents an Response-PDU. More...

#include <ResponsePDU.hpp>

Inheritance diagram for agentxcpp::ResponsePDU:
Collaboration diagram for agentxcpp::ResponsePDU:

Public Types

enum  error_t {
  noAgentXError = 0, openFailed = 256, notOpen = 257, indexWrongType = 258,
  indexAlreadyAllocated = 259, indexNoneAvailable = 260, indexNotAllocated = 261, unsupportedContext = 262,
  duplicateRegistration = 263, unknownRegistration = 264, unknownAgentCaps = 265, parseError = 266,
  requestDenied = 267, processingError = 268, tooBig = 1, noSuchName = 2,
  badValue = 3, readOnly = 4, genErr = 5, noAccess = 6,
  wrongType = 7, wrongLength = 8, wrongEncoding = 9, wrongValue = 10,
  noCreation = 11, inconsistentValue = 12, resourceUnavailable = 13, commitFailed = 14,
  undoFailed = 15, authorizationError = 16, notWritable = 17, inconsistentName = 18
}
 The type of the error field of the Response-PDU. More...
 

Public Member Functions

 ResponsePDU (binary::const_iterator &pos, const binary::const_iterator &end, bool big_endian)
 Parse constructor. More...
 
 ResponsePDU ()
 Default Constructor. More...
 
void set_error (error_t error)
 Set the error status. More...
 
error_t get_error ()
 Get the error status. More...
 
void set_sysUpTime (quint32 time)
 Set the sysUpTime. More...
 
quint32 get_sysUpTime ()
 Get the sysUpTime. More...
 
void set_index (quint16 i)
 set the index value. More...
 
quint16 get_index ()
 Get the index value. More...
 
binary serialize () const
 Serialize the PDU. More...
 
- Public Member Functions inherited from agentxcpp::PDU
virtual ~PDU ()
 Destructor. More...
 
bool get_new_index ()
 Get new_index flag. More...
 
void set_new_index (bool new_index)
 Set new_index flag. More...
 
bool get_any_index ()
 Get any_index flag. More...
 
void set_any_index (bool any_index)
 Set any_index flag. More...
 
quint32 get_sessionID ()
 Get sessionID. More...
 
void set_sessionID (quint32 id)
 Set sessionID. More...
 
quint32 get_transactionID ()
 Get transactionID. More...
 
void set_transactionID (quint32 id)
 Set transactionID. More...
 
quint32 get_packetID ()
 Get packetID. More...
 
void set_packetID (quint32 packetID)
 Set packetID. More...
 

Public Attributes

vector< Varbindvarbindlist
 The VarBindList. More...
 

Private Attributes

quint32 sysUpTime
 the sysUpTime field. More...
 
quint16 index
 the index field. More...
 
error_t error
 the error field. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from agentxcpp::PDU
static QSharedPointer< PDUparse_pdu (binary buf)
 Parse a PDU from a buffer. More...
 
- Protected Types inherited from agentxcpp::PDU
enum  type_t {
  agentxOpenPDU = 1, agentxClosePDU = 2, agentxRegisterPDU = 3, agentxUnregisterPDU = 4,
  agentxGetPDU = 5, agentxGetNextPDU = 6, agentxGetBulkPDU = 7, agentxTestSetPDU = 8,
  agentxCommitSetPDU = 9, agentxUndoSetPDU = 10, agentxCleanupSetPDU = 11, agentxNotifyPDU = 12,
  agentxPingPDU = 13, agentxIndexAllocatePDU = 14, agentxIndexDeallocatePDU = 15, agentxAddAgentCapsPDU = 16,
  agentxRemoveAgentCapsPDU = 17, agentxResponsePDU = 18
}
 The PDU types. More...
 
- Protected Member Functions inherited from agentxcpp::PDU
 PDU (binary::const_iterator &pos, const binary::const_iterator &end, bool big_endian)
 Parse constructor. More...
 
void add_header (type_t type, binary &payload) const
 Construct the PDU header and add it to the payload. More...
 
 PDU ()
 Default constructor. More...
 
- Protected Attributes inherited from agentxcpp::PDU
bool instance_registration
 the instance_registration flag More...
 
bool non_default_context
 Whether the PDU has a non-default context. More...
 
quint32 packetID
 h.packetID field according to RFC 2741, 6.1. "AgentX PDU Header". More...
 

Detailed Description

Represents an Response-PDU.

A Response-PDU is transmitted as a response to another PDU. The meaning of the individual fields of the Response-PDU depends on the PDU type to which the Response-PDU is sent. See RFC 2741 for details.

Definition at line 45 of file ResponsePDU.hpp.

Member Enumeration Documentation

The type of the error field of the Response-PDU.

Enumerator
noAgentXError 
openFailed 
notOpen 
indexWrongType 
indexAlreadyAllocated 
indexNoneAvailable 
indexNotAllocated 
unsupportedContext 
duplicateRegistration 
unknownRegistration 
unknownAgentCaps 
parseError 
requestDenied 
processingError 
tooBig 
noSuchName 
badValue 
readOnly 
genErr 
noAccess 
wrongType 
wrongLength 
wrongEncoding 
wrongValue 
noCreation 
inconsistentValue 
resourceUnavailable 
commitFailed 
undoFailed 
authorizationError 
notWritable 
inconsistentName 

Definition at line 51 of file ResponsePDU.hpp.

Constructor & Destructor Documentation

ResponsePDU::ResponsePDU ( binary::const_iterator &  pos,
const binary::const_iterator &  end,
bool  big_endian 
)

Parse constructor.

Construct the object by parsing a stream. See Parsing incoming PDUs for details about PDU parsing.

Parameters
posIterator pointing to the current stream position. The iterator is advanced while reading the header.
endIterator pointing one element past the end of the current stream. This is needed to mark the end of the buffer.
big_endianWhether the serialized form of the PDU is in big_endian format.
Exceptions
parse_errorIf parsing fails, for example because reading the stream fails or the PDU is malformed.

Definition at line 18 of file ResponsePDU.cpp.

References authorizationError, badValue, commitFailed, duplicateRegistration, error, genErr, inconsistentName, inconsistentValue, index, indexAlreadyAllocated, indexNoneAvailable, indexNotAllocated, indexWrongType, noAccess, noAgentXError, noCreation, noSuchName, notOpen, notWritable, openFailed, parseError, processingError, agentxcpp::read16(), agentxcpp::read32(), readOnly, requestDenied, resourceUnavailable, sysUpTime, tooBig, undoFailed, unknownAgentCaps, unknownRegistration, unsupportedContext, varbindlist, wrongEncoding, wrongLength, wrongType, and wrongValue.

ResponsePDU::ResponsePDU ( )

Default Constructor.

Sets the state of the object to the defaults as set by the PDU::PDU() constructor, plus the following:

  • sysUpTime = 0
  • error = noAgentXError
  • index = 0
  • varbindlist = <empty>

Definition at line 8 of file ResponsePDU.cpp.

References error, index, noAgentXError, and sysUpTime.

Member Function Documentation

error_t agentxcpp::ResponsePDU::get_error ( )
inline

Get the error status.

Definition at line 175 of file ResponsePDU.hpp.

References error.

quint16 agentxcpp::ResponsePDU::get_index ( )
inline

Get the index value.

Definition at line 206 of file ResponsePDU.hpp.

References index.

quint32 agentxcpp::ResponsePDU::get_sysUpTime ( )
inline

Get the sysUpTime.

Definition at line 190 of file ResponsePDU.hpp.

References sysUpTime.

binary ResponsePDU::serialize ( ) const
virtual
void agentxcpp::ResponsePDU::set_error ( error_t  error)
inline

Set the error status.

Parameters
errorThe new error status.
Exceptions
None.

Definition at line 167 of file ResponsePDU.hpp.

References error.

void agentxcpp::ResponsePDU::set_index ( quint16  i)
inline

set the index value.

Definition at line 198 of file ResponsePDU.hpp.

void agentxcpp::ResponsePDU::set_sysUpTime ( quint32  time)
inline

Set the sysUpTime.

Definition at line 183 of file ResponsePDU.hpp.

Member Data Documentation

error_t agentxcpp::ResponsePDU::error
private

the error field.

See RFC 2741, section 6.2.16 "The agentx-Response-PDU" for an explanation.

Definition at line 114 of file ResponsePDU.hpp.

Referenced by get_error(), ResponsePDU(), serialize(), and set_error().

quint16 agentxcpp::ResponsePDU::index
private

the index field.

See RFC 2741, section 6.2.16 "The agentx-Response-PDU" for an explanation.

Definition at line 106 of file ResponsePDU.hpp.

Referenced by get_index(), ResponsePDU(), and serialize().

quint32 agentxcpp::ResponsePDU::sysUpTime
private

the sysUpTime field.

See RFC 2741, section 6.2.16 "The agentx-Response-PDU" for an explanation.

Definition at line 98 of file ResponsePDU.hpp.

Referenced by get_sysUpTime(), ResponsePDU(), and serialize().

vector<Varbind> agentxcpp::ResponsePDU::varbindlist

The VarBindList.

This vector may be empty if the PDU has no VarBinds.

Definition at line 122 of file ResponsePDU.hpp.

Referenced by ResponsePDU(), and serialize().


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