OSDN Git Service

Merge DHC codes
[ultramonkey-l7/ultramonkey-l7-v3.git] / snmpagent / QueueContainer.h
1 #ifndef QUEUECONTAINER_H
2 #define QUEUECONTAINER_H
3 #include <boost/shared_array.hpp>
4
5 class   QueueContainer
6 {
7
8 public:
9         typedef boost::shared_array<char> dataPtr;
10
11 protected:
12         size_t  size_;
13         dataPtr data_;
14
15 public:
16         QueueContainer() {
17                 size_ = 0;
18         }
19         QueueContainer(size_t   insize, char *inptr) {
20                 size_ = insize;
21                 data_.reset(inptr);
22         }
23         QueueContainer(const QueueContainer &inqueue) {
24                 size_ = inqueue.size_;
25                 data_ = inqueue.data_;
26         }
27         ~QueueContainer() {}
28
29         QueueContainer *reset(size_t insize, char *inptr) {
30                 size_ = insize;
31                 data_.reset(inptr);
32                 return this;
33         }
34
35         size_t  size() {
36                 return size_;
37         }
38         dataPtr data() {
39                 return data_;
40         }
41 };
42 #endif  // QUEUECONTAINER_H