summaryrefslogtreecommitdiff
path: root/ACE/ASNMP/asnmp/pdu.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ASNMP/asnmp/pdu.h')
-rw-r--r--ACE/ASNMP/asnmp/pdu.h219
1 files changed, 0 insertions, 219 deletions
diff --git a/ACE/ASNMP/asnmp/pdu.h b/ACE/ASNMP/asnmp/pdu.h
deleted file mode 100644
index a2d84388da0..00000000000
--- a/ACE/ASNMP/asnmp/pdu.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/* -*-C++-*- */
-#ifndef PDU_CLS_
-#define PDU_CLS_
-//=============================================================================
-/**
- * @file pdu.h
- *
- * $Id$
- *
- * Pdu class definition. Encapsulation of an SMI Protocol
- * Data Unit (PDU) aka Packet in C++.
- *
- *
- * @author Peter E Mellquist original code Michael MacFaden mrm@cisco.com ACE port
- * @author add iterator class for pdus
- */
-//=============================================================================
-
-/*===================================================================
- Copyright (c) 1996
- Hewlett-Packard Company
-
- ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
- Permission to use, copy, modify, distribute and/or sell this software
- and/or its documentation is hereby granted without fee. User agrees
- to display the above copyright notice and this license notice in all
- copies of the software and any documentation of the software. User
- agrees to assume all liability for the use of the software; Hewlett-Packard
- makes no representations about the suitability of this software for any
- purpose. It is provided "AS-IS without warranty of any kind,either express
- or implied. User hereby grants a royalty-free license to any and all
- derivatives based upon this software code base.
-=====================================================================*/
-
-// TODO: this needs to be moved into the CLASS and modifyable at runtime
-// TODO: define an iterator object to traverse the vbs in a pdu
-
-#define MAX_VBS 25
-#include "asnmp/vb.h" // include Vb class definition
-
-/**
- * @class Pdu
- *
- * @brief Protocol Data Unit (PDU) concrete class. An abstraction of the
- * data packet used to by two SNMP sessions to communicate.
- */
-class ASNMP_Export Pdu
-{
-public:
- /// constructor no args
- Pdu( void);
-
- /// constructor with vbs and count
- Pdu( Vb* pvbs, const int pvb_count);
-
- /// constructor with another Pdu instance
- Pdu( const Pdu &pdu);
-
- /// destructor
- ~Pdu();
-
- /// assignment to another Pdu object overloaded
- Pdu& operator=( const Pdu &pdu);
-
- /// append a vb to the pdu
- Pdu& operator+=( Vb &vb);
-
- // TODO: add Pdu& operator-=(const Vb &vb);
-
- /// extract all Vbs from Pdu
- int get_vblist( Vb* pvbs, const int pvb_count);
-
- /// deposit all Vbs to Pdu
- int set_vblist( Vb* pvbs, const int pvb_count);
-
- /// get a particular vb
- /// where 0 is the first vb
- int get_vb( Vb &vb, const int index = 0) const;
-
- /// set a particular vb
- /// where 0 is the first vb
- int set_vb( Vb &vb, const int index);
-
- /// return number of vbs
- int get_vb_count() const;
-
- /// return the error status
- int get_error_status() const;
-
- /// return the complete error info from this pdu
- const char *agent_error_reason();
-
- /// set the error status
- friend ASNMP_Export void set_error_status( Pdu *pdu, const int status);
-
- /// return the error index
- int get_error_index() const;
-
- /// set the error index
- friend ASNMP_Export void set_error_index( Pdu *pdu, const int index);
-
- /// clear error status
- friend ASNMP_Export void clear_error_status( Pdu *pdu);
-
- /// clear error index
- friend ASNMP_Export void clear_error_index( Pdu *pdu);
-
- /// return the request id
- unsigned long get_request_id() const;
-
- /// set the request id
- friend void set_request_id( Pdu *pdu, const unsigned long rid);
-
- /// get the pdu type
- unsigned short get_type() const;
-
- /// set the pdu type
- void set_type( unsigned short type);
-
- /// returns validity of Pdu instance
- int valid() const;
-
- /// trim off count vbs from the end of the vb list
- int trim(const int count=1);
-
- /// delete a Vb anywhere within the Pdu
- int delete_vb( const int position);
-
- /// delete_all vbs in pdu
- void delete_all_vbs();
-
- /// set notify timestamp
- void set_notify_timestamp( const TimeTicks & timestamp);
-
- /// get notify timestamp
- void get_notify_timestamp( TimeTicks & timestamp) const;
-
- /// set the notify id
- void set_notify_id( const Oid id);
-
- /// get the notify id
- void get_notify_id( Oid &id) const;
-
- /// set the notify enterprise
- void set_notify_enterprise( const Oid &enterprise);
-
- /// get the notify enterprise
- void get_notify_enterprise( Oid & enterprise) const;
-
- /// return fomatted version of this object
- const char *to_string();
-
-
- protected:
- /// pointer to array of Vbs
- Vb *vbs_[MAX_VBS];
-
- /// count of Vbs
- int vb_count_;
-
- /// SMI error status
- int error_status_;
-
- /// SMI error index
- int error_index_;
-
- /// valid boolean status of object construction
- /// SMI request id
- int validity_;
- unsigned long request_id_;
-
- /// derived at run time based on request type
- unsigned short pdu_type_;
-
- /**
- * a timestamp associated with an infor
- * for notify Pdu objects only
- * traps & notifies
- */
- TimeTicks notify_timestamp_;
-
- /// an id
- Oid notify_id_;
-
- Oid notify_enterprise_;
-
- private:
- /// buffer for to_string()
- char *output_;
-};
-
-
-/**
- * @class VbIter
- *
- * @brief Utility class to iterate once through a PDU varbind list
- */
-class ASNMP_Export VbIter
-{
- public:
- /// default constructor
- VbIter(Pdu& pdu);
-
- /// returns 1 if ok, else 0 if none left
- int next(Vb& vb);
-
- private:
- /// disallow copy constructor use
- VbIter(const VbIter&);
-
- /// current object in list
- int idx_;
-
- /// ptr to pdu being interated over
- Pdu *pdu_;
-};
-
-#endif //PDU_CLS_
-