00001 #if !defined(__MCPDU_H_)
00002 #define __MCPDU_H_
00003
00004 #ident "@(#)$Id: MCPdu.h,v 1.2 2003/05/12 07:08:00 mike Exp $"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "mcllib/snmp/MCVB.h"
00026 #include "mcllib/MCBase.h"
00027
00028 namespace mcllib
00029 {
00030 namespace snmp
00031 {
00044 class MCPdu : public MCBase
00045 {
00046 public:
00048 typedef const MCVB* IMPLTYPE;
00050 typedef unsigned long size_t;
00052 typedef IMPLTYPE const_iterator;
00053
00055 MCPdu();
00057 ~MCPdu();
00059 MCPdu(IMPLTYPE pStr, size_t length);
00061 operator IMPLTYPE();
00063 const MCVB& operator[](size_t index) const;
00065 void push_back(const MCVB& vb);
00067 void append(const MCPdu& mcp);
00069 const MCVB& back() const;
00071 size_t getValid() const;
00073 size_t length() const;
00075 const_iterator begin() const;
00077 const_iterator end() const;
00079 void clear();
00081 void reserve(size_t extent);
00083 MCPdu clone() const;
00085 unsigned long getCount() const;
00086 };
00087 };
00088 };
00089
00090 #endif