]> git.stg.codes - ssmd.git/blob - include/snmptable.h
Ignore more files.
[ssmd.git] / include / snmptable.h
1 #ifndef __SSMD_SNMPTABLE_H__
2 #define __SSMD_SNMPTABLE_H__
3
4 #include <list>
5
6 #include "snmp_pp/snmp_pp.h"
7
8 namespace SSMD {
9
10 typedef std::list<Vb> SNMPList;
11
12 class SNMPTable {
13     public:
14         SNMPTable(Snmp & snmp,
15                   const CTarget & target,
16                   const Oid & oid);
17         ~SNMPTable();
18
19         bool valid() const { return _valid; }
20         bool empty() const { return _list.empty(); }
21
22         template <typename T>
23         bool valueExists(const T & value) const;
24         bool getByOid(const Oid & oid, Vb & vb) const;
25         const SNMPList & getList() const { return _list; }
26
27     private:
28         SNMPList _list;
29         bool _valid;
30 };
31
32 }
33
34 #include "snmptable.inl.h"
35
36 #endif