AGENT++  4.0.3
sim_mib.h
Go to the documentation of this file.
1 /*_############################################################################
2  _##
3  _## AGENT++ 4.0 - sim_mib.h
4  _##
5  _## Copyright (C) 2000-2013 Frank Fock and Jochen Katz (agentpp.com)
6  _##
7  _## Licensed under the Apache License, Version 2.0 (the "License");
8  _## you may not use this file except in compliance with the License.
9  _## You may obtain a copy of the License at
10  _##
11  _## http://www.apache.org/licenses/LICENSE-2.0
12  _##
13  _## Unless required by applicable law or agreed to in writing, software
14  _## distributed under the License is distributed on an "AS IS" BASIS,
15  _## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  _## See the License for the specific language governing permissions and
17  _## limitations under the License.
18  _##
19  _##########################################################################*/
20 
21 
22 #ifndef sim_mib_h_
23 #define sim_mib_h_
24 
25 #include <agent_pp/agent++.h>
26 #include <agent_pp/mib.h>
27 
28 #ifdef AGENTPP_NAMESPACE
29 namespace Agentpp {
30 #endif
31 
42 class AGENTPP_DECL SimMib:public Mib
43 {
44  public:
48  SimMib();
49 
53  virtual ~SimMib();
54 };
55 
56 
65 {
66  public:
70  SimMibLeaf();
71 
83  SimMibLeaf(const Oidx&, mib_access, NS_SNMP SmiUINT32);
84 
98  SimMibLeaf(const Oidx&, mib_access, NS_SNMP SnmpSyntax*);
99 
116  SimMibLeaf(const Oidx&, mib_access, NS_SNMP SnmpSyntax*, bool);
117 
121  SimMibLeaf(const SimMibLeaf&);
122 
126  virtual ~SimMibLeaf();
127 
133  virtual MibEntryPtr clone();
134 
142  virtual mib_access get_access();
143 
149  static void set_config_mode();
155  static void unset_config_mode();
156 
163  static bool get_config_mode();
164 
165  protected:
166 
167  static bool configMode;
168 
169 };
170 
172  public:
173  SimMibTable(const Oidx& o, const index_info* i,
174  unsigned int n): MibTable(o, i, n) { }
175  virtual ~SimMibTable() { }
176 
177  virtual int check_creation(Request*, int&);
178 };
179 
181  public:
182  SimRowStatus(const Oidx& o, mib_access a): snmpRowStatus(o, a) { }
183  virtual ~SimRowStatus() { }
184 
185  virtual bool transition_ok(const Vbx&);
186 
194  virtual mib_access get_access();
195 
201  virtual MibEntryPtr clone();
202 
203 };
204 
205 /**********************************************************************
206  *
207  * class simSysUpTime
208  *
209  **********************************************************************/
210 
212 
213 public:
214  simSysUpTime();
215 
216  void get_request(Request*, int);
217 
218  static time_t get();
219  static time_t get_currentTime();
220 
221 private:
222  static time_t start;
223 };
224 
225 /**********************************************************************
226  *
227  * class simSysGroup
228  *
229  **********************************************************************/
230 
232 
233 public:
234 
235  simSysGroup();
236 };
237 
238 
239 #ifdef AGENTPP_NAMESPACE
240 }
241 #endif
242 
243 #endif