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

Represents a TimeTicks as described in RFC 2741. More...

#include <TimeTicksVariable.hpp>

Inheritance diagram for agentxcpp::TimeTicksVariable:
Collaboration diagram for agentxcpp::TimeTicksVariable:

Public Member Functions

 TimeTicksVariable (quint32 initial_value=0)
 (Default) constructor. More...
 
 TimeTicksVariable (binary::const_iterator &pos, const binary::const_iterator &end, bool big_endian=true)
 Parse Constructor. More...
 
virtual binary serialize () const
 Encode the object as described in RFC 2741, section 5.4. More...
 
void setValue (quint32 _value)
 Set the value. More...
 
quint32 value ()
 Get the current value. More...
 
virtual void handle_get ()
 Handle a Get Request. More...
 
virtual void perform_get ()
 Perform a Get request. More...
 
virtual testset_result_t handle_testset (QSharedPointer< AbstractVariable > _v)
 Handle a TestSet request. More...
 
virtual testset_result_t perform_testset (quint32 _v)
 Perform an SNMP TestSet request. More...
 
virtual void handle_cleanupset ()
 Handle a CleanupSet request. More...
 
virtual void perform_cleanupset (quint32 _v)
 Perform an SNMP CleanupSet request. More...
 
virtual bool handle_commitset ()
 Handle a CommitSet request. More...
 
virtual bool perform_commitset (quint32 _v)
 Perform an SNMP CommitSet request. More...
 
virtual bool handle_undoset ()
 Handle an UndoSet request. More...
 
virtual bool perform_undoset (quint32 _v)
 Perform an SNMP UndoSet request. More...
 
virtual Oid toOid () const
 Convert the value to an OID. More...
 
- Public Member Functions inherited from agentxcpp::AbstractVariable
virtual ~AbstractVariable ()
 Virtual destructor. More...
 

Protected Attributes

quint32 v
 The TimeTicks value. More...
 

Private Attributes

QSharedPointer< TimeTicksVariablenew_value
 The new value for the variable. Used during a Set operation. 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 a TimeTicks as described in RFC 2741.

Definition at line 33 of file TimeTicksVariable.hpp.

Constructor & Destructor Documentation

agentxcpp::TimeTicksVariable::TimeTicksVariable ( quint32  initial_value = 0)
inline

(Default) constructor.

Parameters
initial_valueThe initial value of the object.

Definition at line 58 of file TimeTicksVariable.hpp.

TimeTicksVariable::TimeTicksVariable ( binary::const_iterator &  pos,
const binary::const_iterator &  end,
bool  big_endian = true 
)

Parse Constructor.

This constructor parses the serialized form of the object. It takes an iterator, starts parsing at the position of the iterator and advances the iterator to the position right behind the object.

The constructor expects valid data from the stream; if parsing fails, parse_error is thrown. In this case, the iterator position is undefined.

Parameters
posIterator pointing to the current stream position. The iterator is advanced while parsing.
endIterator pointing one element past the end of the current stream. This is needed to avoid buffer overrun.
big_endianWhether the input stream is in big endian format.

Definition at line 36 of file TimeTicksVariable.cpp.

References agentxcpp::read32(), and v.

Member Function Documentation

virtual void agentxcpp::TimeTicksVariable::handle_cleanupset ( )
inlinevirtual

Handle a CleanupSet request.

This function calls perform_cleanupset() with the internal value of new_value (which was updated by the last handle_testset() invocation).

Implements agentxcpp::AbstractVariable.

Definition at line 151 of file TimeTicksVariable.hpp.

References perform_cleanupset().

virtual bool agentxcpp::TimeTicksVariable::handle_commitset ( )
inlinevirtual

Handle a CommitSet request.

This function calls perform_commitset() with the internal value of new_value (which was updated by the last handle_testset() invocation).

Returns
The return value of perform_commitset().

Implements agentxcpp::AbstractVariable.

Definition at line 169 of file TimeTicksVariable.hpp.

References perform_commitset().

virtual void agentxcpp::TimeTicksVariable::handle_get ( )
inlinevirtual

Handle a Get Request.

This function calls perform_get() to update the internal value.

Implements agentxcpp::AbstractVariable.

Definition at line 105 of file TimeTicksVariable.hpp.

References perform_get().

virtual testset_result_t agentxcpp::TimeTicksVariable::handle_testset ( QSharedPointer< AbstractVariable _v)
inlinevirtual

Handle a TestSet request.

This function converts the argument, stores it in new_value and then calls perform_testset() with the internal value of new_value. If conversion fails, AbstractVariable::wrongType is returned and perform_testset() is not called.

Parameters
_vThe new value for the variable.
Returns
AbstractVariable::wrongType if the conversion fails. Otherwise, the result of perform_testset() is returned.

Implements agentxcpp::AbstractVariable.

Definition at line 122 of file TimeTicksVariable.hpp.

References perform_testset(), and agentxcpp::AbstractVariable::wrongType.

virtual bool agentxcpp::TimeTicksVariable::handle_undoset ( )
inlinevirtual

Handle an UndoSet request.

This function calls perform_undoset() with the internal value of new_value (which was updated by the last handle_testset() invocation).

Returns
The return value of perform_undoset().

Implements agentxcpp::AbstractVariable.

Definition at line 186 of file TimeTicksVariable.hpp.

References perform_undoset().

virtual void agentxcpp::TimeTicksVariable::perform_cleanupset ( quint32  _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.

Definition at line 159 of file TimeTicksVariable.hpp.

Referenced by handle_cleanupset().

virtual bool agentxcpp::TimeTicksVariable::perform_commitset ( quint32  _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.

Definition at line 176 of file TimeTicksVariable.hpp.

Referenced by handle_commitset().

virtual void agentxcpp::TimeTicksVariable::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.

Definition at line 113 of file TimeTicksVariable.hpp.

Referenced by handle_get().

virtual testset_result_t agentxcpp::TimeTicksVariable::perform_testset ( quint32  _v)
inlinevirtual

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).

Definition at line 141 of file TimeTicksVariable.hpp.

References agentxcpp::AbstractVariable::noAccess.

Referenced by handle_testset().

virtual bool agentxcpp::TimeTicksVariable::perform_undoset ( quint32  _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.

A default implementation is provided to allow implementing read-only variables.

Parameters
_vThe value just set by perform_commitset().
Returns
True on success, false otherwise.

Definition at line 194 of file TimeTicksVariable.hpp.

Referenced by handle_undoset().

binary TimeTicksVariable::serialize ( ) const
virtual

Encode the object as described in RFC 2741, section 5.4.

This function uses big endian.

Implements agentxcpp::AbstractVariable.

Definition at line 25 of file TimeTicksVariable.cpp.

References v, and agentxcpp::write32().

void agentxcpp::TimeTicksVariable::setValue ( quint32  _value)
inline

Set the value.

Parameters
_valueThe new value.

Definition at line 85 of file TimeTicksVariable.hpp.

virtual Oid agentxcpp::TimeTicksVariable::toOid ( ) const
inlinevirtual

Convert the value to an OID.

The conversion is done according to RFC 2578, 7.7. "Mapping of the INDEX clause". The value is converted to an Oid with a single subid.

This method should not be overridden.

Note
If a TIMETICK is used in an INDEX clause, the value 0 should be avoided according to RFC 2578, 7.7. "Mapping of the INDEX clause".

Implements agentxcpp::AbstractVariable.

Definition at line 212 of file TimeTicksVariable.hpp.

quint32 agentxcpp::TimeTicksVariable::value ( )
inline

Get the current value.

Returns
The value.

Definition at line 95 of file TimeTicksVariable.hpp.

References v.

Member Data Documentation

QSharedPointer<TimeTicksVariable> agentxcpp::TimeTicksVariable::new_value
private

The new value for the variable. Used during a Set operation.

The Set operation is performed in up to four steps (TestSet, CommitSet, CleanupSet, UndoSet). Only the TestSet step actually receives the new value. This value is stored here so that it can be delivered to perform_commitset(), perform_undoset() and perform_cleanupset().

Definition at line 49 of file TimeTicksVariable.hpp.

quint32 agentxcpp::TimeTicksVariable::v
protected

The TimeTicks value.

According to RFC 2578, TimeTicks is a non-negative 32-bit number.

Definition at line 42 of file TimeTicksVariable.hpp.

Referenced by serialize(), TimeTicksVariable(), and value().


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