#include <mib.h>
Public Member Functions | |
MibLeaf () | |
Default constructor. | |
MibLeaf (const Oidx &, mib_access, NS_SNMP SmiUINT32) | |
Construct a MibLeaf object. | |
MibLeaf (const Oidx &, mib_access, NS_SNMP SnmpSyntax *) | |
Construct a MibLeaf object. | |
MibLeaf (const Oidx &, mib_access, NS_SNMP SnmpSyntax *, int) | |
Construct a MibLeaf object. | |
MibLeaf (const MibLeaf &) | |
Copy Constructor. | |
virtual | ~MibLeaf () |
Destructor. | |
virtual void | init (NS_SNMP SnmpSyntax *, boolean) |
Initialize a MibLeaf object. | |
virtual mib_type | type () const |
Return the type of the receiver. | |
virtual MibEntryPtr | clone () |
Clone the receiver object. | |
virtual boolean | serialize (char *&, int &) |
Serialize the value of the receiver. | |
virtual boolean | deserialize (char *, int &) |
Read the value of the receiver from a byte stream. | |
virtual NS_SNMP SmiUINT32 | get_syntax () const |
Get the syntax of the receiver's value. | |
virtual Vbx | get_value () const |
Get the value of the receiver. | |
virtual int | get_value (NS_SNMP SnmpSyntax &s) const |
Get the value of the receiver. | |
virtual int | get_value (int &i) const |
Get the value of the receiver. | |
virtual int | get_value (long &i) const |
Get the value of the receiver. | |
virtual int | get_value (unsigned long &i) const |
Get the value of the receiver. | |
virtual int | get_value (char *c) const |
Get the value of the receiver. | |
virtual void | set_value (const NS_SNMP SnmpSyntax &) |
Set the value of the receiver by value. | |
virtual void | set_value (const unsigned long) |
Set the unsigned integer value of the receiver. | |
virtual int | set_value (const Vbx &) |
Set the value of the receiver from a variable binding and checks for validity of the variable binding and compatible syntax and oid. | |
virtual void | replace_value (NS_SNMP SnmpSyntax *s) |
Set the value of the receiver by reference. | |
virtual OidxPtr | max_key () |
Return the immediate successor of the greatest object identifier within the receiver's scope. | |
virtual void | get_request (Request *, int) |
Interface methods dispatch table <-> instrumentation. | |
virtual void | get_next_request (Request *, int) |
Let the receiver process a SNMP GETNEXT subrequest. | |
virtual int | commit_set_request (Request *, int) |
Let the receiver commit a SNMP SET subrequest. | |
virtual int | prepare_set_request (Request *, int &) |
Let the receiver prepare a SNMP SET subrequest. | |
virtual int | undo_set_request (Request *, int &) |
Let the receiver undo a SNMP SET subrequest. | |
virtual void | cleanup_set_request (Request *, int &) |
Clean up resources used for performing (or undoing) set requests. | |
virtual boolean | value_ok (const Vbx &) |
Check whether the receiver's value may be set to the given new value. | |
virtual int | set (const Vbx &vb) |
Set the receiver's value and backup its old value for a later undo. | |
virtual int | unset () |
Undo a previous set. | |
MibTable * | get_reference_to_table () |
Return a pointer to the table the receiver belongs to. | |
MibTableRow * | get_reference_to_row () |
Return a pointer to the row the receiver belongs to. | |
int | valid () |
Gets the flags (bits) that determine the type/stage of validity of the leaf's value. | |
boolean | has_default () |
Return whether the receiver has a default value. | |
boolean | is_locked () |
Return whether the receiver has a default value. | |
void | set_reference_to_table (MibTable *t) |
Set the receiver's reference to its table. | |
void | set_reference_to_row (MibTableRow *r) |
Set the receiver's reference to its row. | |
void | set_access (mib_access a) |
Set the maximum access rights of the receiver. | |
Oidx | get_oid () const |
Get the instance OID of the MibLeaf object. | |
Protected Member Functions | |
int | get_value_mode () |
Return the value handle mode. | |
void | set_validity (int flags) |
Sets the flags (bits) that determine the type/stage of validity of the leaf's value. | |
void | set_syntax (NS_SNMP SmiUINT32) |
Set the syntax of the receiver's value and delete the old value. | |
void | free_value () |
Frees the receiver's value and sets it to NULL. | |
Protected Attributes | |
NS_SNMP SnmpSyntax * | value |
NS_SNMP SnmpSyntax * | undo |
int | value_mode |
int | validity |
Set of flags (bits) that determine the type/stage of validity of the leaf's value. | |
MibTable * | my_table |
MibTableRow * | my_row |
Friends | |
class | MibTable |
class | MibTableRow |
MibLeaf objects can be used to model scalar managed objects as well as objects of SNMP tables. The objects of a table are defined by defining their corresponding columnar objects. The instances of each columnar object (which is itself not accessible) are then cloned from it.
In order to save memory space, from version 3.4.7 on the key() method does no longer return the complete OID (instance OID) of columnar MibLeaf objects (thus MibLeaf objects that are part of a table). Instead, MibLeaf::key() only returns the last subid that identifies the column the MibLeaf is part of. From v3.4.7 on, there is the get_oid() method that returns the entiry OID value for columnar objects as well as for other MibLeaf objects. For columnar objects this method computes the OID value from the table's OID plus the MibLeaf's column (key()), and the row's index value.
MibLeaf is a sub-class of the abstract MibEntry class. As MibLeaf represents a managed object instance a MibLeaf object contains management information. So each MibLeaf object contains a pointer "value" to that management information which can be any object derived from SnmpSyntax.
MibLeaf::MibLeaf | ( | ) |
Default constructor.
MibLeaf::MibLeaf | ( | const Oidx & | , | |
mib_access | , | |||
NS_SNMP | SmiUINT32 | |||
) |
Construct a MibLeaf object.
o | - The object identifier of the managed object. If it is part of a table, only the column subidentifier is given. If it is a scalar object the object identifier given includes the full registration oid including the suffix ".0". | |
a | - The maximum access rights for the managed object. | |
s | - The syntax of the managed object. |
MibLeaf::MibLeaf | ( | const Oidx & | , | |
mib_access | , | |||
NS_SNMP SnmpSyntax * | ||||
) |
Construct a MibLeaf object.
o | - The object identifier of the managed object. If it is part of a table, only the column subidentifier is given. If it is a scalar object the object identifier given includes the full registration oid including the suffix ".0". | |
a | - The maximum access rights for the managed object. | |
s | - A pointer to the SnmpSyntax object to be used for storing the value of the managed object. NOTE: Do not delete this pointer from outside MibLeaf. It will be deleted by ~MibLeaf |
MibLeaf::MibLeaf | ( | const Oidx & | , | |
mib_access | , | |||
NS_SNMP SnmpSyntax * | , | |||
int | ||||
) |
Construct a MibLeaf object.
oid | the object identifier of the managed object. If it is part of a table, only the column subidentifier is given. If it is a scalar object the object identifier given includes the full registration oid including the suffix ".0". | |
access | the maximum access rights for the managed object. | |
value | a pointer to the SnmpSyntax object to be used for storing the value of the managed object. NOTE: Do not delete this pointer from outside MibLeaf. It will be deleted by ~MibLeaf | |
valueMode | contains an ored value of one or more of the following modes: VMODE_DEFAULT: the value of the object pointed by value will be used as default value, otherwise the managed object has no default value. VMODE_LOCKED: value is locked (cannot be modified) while the row status of the receiver's row is active(1). This mode has no effect, if the the leaf is a scalar or otherwise if the receiver's row has no snmpRowStatus. |
MibLeaf::MibLeaf | ( | const MibLeaf & | ) |
Copy Constructor.
virtual MibLeaf::~MibLeaf | ( | ) | [virtual] |
Destructor.
virtual void MibLeaf::init | ( | NS_SNMP SnmpSyntax * | , | |
boolean | ||||
) | [virtual] |
Initialize a MibLeaf object.
This method is typically called either from a constructor with value or when loading a value from persistent storage.
initialValue | a pointer to a SnmpSyntax object which will hold the value of this MibLeaf object. | |
valueMode | contains an ored value of one or more of the following modes: VMODE_DEFAULT: the value of the object pointed by value will be used as default value, otherwise the managed object has no default value. VMODE_LOCKED: value is locked (cannot be modified) while the row status of the receiver's row is active(1). This mode has no effect, if the the leaf is a scalar or otherwise if the receiver's row has no snmpRowStatus. |
Reimplemented in agentppSimMode.
virtual mib_type MibLeaf::type | ( | ) | const [virtual] |
virtual MibEntryPtr MibLeaf::clone | ( | ) | [virtual] |
Clone the receiver object.
Reimplemented from MibEntry.
Reimplemented in snmpRowStatus, SimMibLeaf, SimRowStatus, snmpTargetAddrTDomain, snmpTargetAddrTAddress, snmpTargetAddrParams, SnmpDisplayString, SnmpEngineID, SnmpTagValue, SnmpTagList, StorageType, SnmpInt32MinMax, OctetStrMinMax, SnmpSecurityModel, SnmpSecurityLevel, SnmpMessageProcessingModel, SnmpAdminString, TimeStamp, DateAndTime, VacmAccessTableStatus, and VacmViewTreeFamilyTableStatus.
virtual boolean MibLeaf::serialize | ( | char *& | , | |
int & | ||||
) | [virtual] |
Serialize the value of the receiver.
buf | - A pointer to byte stream buffer returned. | |
sz | - The size of the buffer returned. |
Reimplemented from MibEntry.
virtual boolean MibLeaf::deserialize | ( | char * | , | |
int & | ||||
) | [virtual] |
Read the value of the receiver from a byte stream.
buf | a pointer to the input byte stream. | |
sz | the size of the input buffer. On output it contains the size remaining unread in the input buffer. |
Reimplemented from MibEntry.
virtual NS_SNMP SmiUINT32 MibLeaf::get_syntax | ( | ) | const [virtual] |
Get the syntax of the receiver's value.
virtual Vbx MibLeaf::get_value | ( | ) | const [virtual] |
Get the value of the receiver.
virtual int MibLeaf::get_value | ( | NS_SNMP SnmpSyntax & | s | ) | const [inline, virtual] |
Get the value of the receiver.
s | - A reference to a SnmpSyntax object to hold a copy of the receiver's value. |
virtual int MibLeaf::get_value | ( | int & | i | ) | const [inline, virtual] |
Get the value of the receiver.
i | - A reference to an int the receiver's value will be copied in. |
virtual int MibLeaf::get_value | ( | long & | i | ) | const [inline, virtual] |
Get the value of the receiver.
i | - A reference to a long the receiver's value will be copied in. |
virtual int MibLeaf::get_value | ( | unsigned long & | i | ) | const [inline, virtual] |
Get the value of the receiver.
i | - A reference to an unsigned long the receiver's value will be copied in. |
virtual int MibLeaf::get_value | ( | char * | c | ) | const [inline, virtual] |
Get the value of the receiver.
c | - A pointer to a string the receiver's value will be copied in. |
virtual void MibLeaf::set_value | ( | const NS_SNMP SnmpSyntax & | ) | [virtual] |
Set the value of the receiver by value.
v | - The value. |
virtual void MibLeaf::set_value | ( | const unsigned | long | ) | [virtual] |
Set the unsigned integer value of the receiver.
Caution: The syntax of this MibLeaf instance will be set to sNMP_SYNTAX_INT32! Thus, it should be only used for objects with an INTEGER syntax.
l | - The new integer value. |
virtual int MibLeaf::set_value | ( | const Vbx & | ) | [virtual] |
Set the value of the receiver from a variable binding and checks for validity of the variable binding and compatible syntax and oid.
vb | - The variable binding including the new value. |
virtual void MibLeaf::replace_value | ( | NS_SNMP SnmpSyntax * | s | ) | [virtual] |
Set the value of the receiver by reference.
v | - A pointer to the new value. |
virtual OidxPtr MibLeaf::max_key | ( | ) | [inline, virtual] |
Return the immediate successor of the greatest object identifier within the receiver's scope.
Reimplemented from MibEntry.
virtual void MibLeaf::get_request | ( | Request * | , | |
int | ||||
) | [virtual] |
Interface methods dispatch table <-> instrumentation.
Let the receiver process a SNMP GET subrequest
req | - A pointer to the whole SNMP GET request. | |
ind | - The index of the subrequest to be processed. |
Reimplemented from MibEntry.
Reimplemented in simSysUpTime, snmpInPkts, snmpOutPkts, snmpInBadVersions, snmpInBadCommunityNames, snmpInBadCommunityUses, snmpInASNParseErrs, snmpInTooBigs, snmpInNoSuchNames, snmpInBadValues, snmpInReadOnlys, snmpInGenErrs, snmpInTotalReqVars, snmpInTotalSetVars, snmpInGetRequests, snmpInGetNexts, snmpInSetRequests, snmpInGetResponses, snmpInTraps, snmpOutTooBigs, snmpOutNoSuchNames, snmpOutBadValues, snmpOutGenErrs, snmpOutGetRequests, snmpOutGetNexts, snmpOutSetRequests, snmpOutGetResponses, snmpOutTraps, snmpSilentDrops, snmpProxyDrops, and sysUpTime.
virtual void MibLeaf::get_next_request | ( | Request * | , | |
int | ||||
) | [virtual] |
Let the receiver process a SNMP GETNEXT subrequest.
req | - A pointer to the whole SNMP GETNEXT request. | |
ind | - The index of the subrequest to be processed. |
Reimplemented from MibEntry.
virtual int MibLeaf::commit_set_request | ( | Request * | , | |
int | ||||
) | [virtual] |
Let the receiver commit a SNMP SET subrequest.
req | - A pointer to the whole SNMP SET request. | |
ind | - The index of the subrequest to be processed. |
Reimplemented from MibEntry.
Reimplemented in agentppSimDeleteRow, and agentppSimDeleteTableContents.
virtual int MibLeaf::prepare_set_request | ( | Request * | , | |
int & | ||||
) | [virtual] |
Let the receiver prepare a SNMP SET subrequest.
req | - A pointer to the whole SNMP SET request. | |
ind | - The index of the subrequest to be processed. |
Reimplemented from MibEntry.
Reimplemented in agentppSimDeleteRow, agentppSimDeleteTableContents, snmpRowStatus, snmpTargetAddrTAddress, snmpTargetAddrParams, SnmpDisplayString, SnmpEngineID, SnmpTagValue, TestAndIncr, and OctetStrMinMax.
virtual int MibLeaf::undo_set_request | ( | Request * | , | |
int & | ||||
) | [virtual] |
Let the receiver undo a SNMP SET subrequest.
req | - A pointer to the whole SNMP SET request. | |
ind | - The index of the subrequest to be processed. |
Reimplemented from MibEntry.
virtual void MibLeaf::cleanup_set_request | ( | Request * | , | |
int & | ||||
) | [virtual] |
Clean up resources used for performing (or undoing) set requests.
req | - A pointer to the whole SNMP SET request. | |
ind | - The index of the subrequest to be processed. |
Reimplemented from MibEntry.
virtual boolean MibLeaf::value_ok | ( | const Vbx & | ) | [inline, virtual] |
Check whether the receiver's value may be set to the given new value.
v | - A new value. |
Reimplemented in agentppSimMode, snmpRowStatus, snmpEnableAuthenTraps, snmpTargetAddrTDomain, snmpTargetAddrParams, SnmpDisplayString, SnmpTagValue, SnmpTagList, TestAndIncr, StorageType, and SnmpInt32MinMax.
virtual int MibLeaf::set | ( | const Vbx & | vb | ) | [virtual] |
Set the receiver's value and backup its old value for a later undo.
vb | - The variable binding that holds the new value. |
Reimplemented in agentppSimMode, snmpRowStatus, TestAndIncr, and VacmViewTreeFamilyTableStatus.
virtual int MibLeaf::unset | ( | ) | [virtual] |
Undo a previous set.
Reimplemented in snmpRowStatus.
MibTable* MibLeaf::get_reference_to_table | ( | ) | [inline] |
Return a pointer to the table the receiver belongs to.
MibTableRow* MibLeaf::get_reference_to_row | ( | ) | [inline] |
Return a pointer to the row the receiver belongs to.
int MibLeaf::valid | ( | ) | [inline] |
Gets the flags (bits) that determine the type/stage of validity of the leaf's value.
If any bit is set the leaf is supposed to contain a valid value. AGENT++ only uses the first 4 bits (0-3). The other bits can be used by the API programmer to track internal states of the leaf.
boolean MibLeaf::has_default | ( | ) | [inline] |
Return whether the receiver has a default value.
boolean MibLeaf::is_locked | ( | ) | [inline] |
Return whether the receiver has a default value.
void MibLeaf::set_reference_to_table | ( | MibTable * | t | ) | [inline] |
void MibLeaf::set_reference_to_row | ( | MibTableRow * | r | ) | [inline] |
void MibLeaf::set_access | ( | mib_access | a | ) | [inline] |
Set the maximum access rights of the receiver.
a | - The maximum access rights. |
Oidx MibLeaf::get_oid | ( | ) | const |
Get the instance OID of the MibLeaf object.
If the leaf object is a columnar object then the instancce OID will be computed from the table's OID, plus the subidentifier of the leaf's column, and the row's index OID.
int MibLeaf::get_value_mode | ( | ) | [inline, protected] |
Return the value handle mode.
void MibLeaf::set_validity | ( | int | flags | ) | [inline, protected] |
Sets the flags (bits) that determine the type/stage of validity of the leaf's value.
If any bit is set the leaf is supposed to contain a valid value. AGENT++ only uses the first 4 bits (0-3). The other bits can be used by the API programmer to track internal states of the leaf.
flags | an integer value representing the validity of the receiver. |
void MibLeaf::set_syntax | ( | NS_SNMP | SmiUINT32 | ) | [protected] |
Set the syntax of the receiver's value and delete the old value.
syntax | - The syntax of a MibLeaf object's value. |
void MibLeaf::free_value | ( | ) | [protected] |
Frees the receiver's value and sets it to NULL.
friend class MibTable [friend] |
friend class MibTableRow [friend] |
NS_SNMP SnmpSyntax* MibLeaf::value [protected] |
NS_SNMP SnmpSyntax* MibLeaf::undo [protected] |
int MibLeaf::value_mode [protected] |
int MibLeaf::validity [protected] |
Set of flags (bits) that determine the type/stage of validity of the leaf's value.
If any bit is set the leaf is supposed to contain a valid value. AGENT++ only uses the first 4 bits (0-3). The other bits can be used by the API programmer to track internal states of the leaf.
MibTable* MibLeaf::my_table [protected] |
MibTableRow* MibLeaf::my_row [protected] |