interface_info.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __INTERFACE_INTERFACE_INFO_H_
00025 #define __INTERFACE_INTERFACE_INFO_H_
00026
00027 #include <list>
00028
00029 namespace fawkes {
00030
00031 class InterfaceInfo
00032 {
00033 public:
00034 InterfaceInfo(const char *type, const char *id, const unsigned char *hash,
00035 unsigned int serial, bool has_writer, unsigned int num_readers);
00036 InterfaceInfo(const InterfaceInfo &i);
00037 ~InterfaceInfo();
00038
00039 const char * type() const;
00040 const char * id() const;
00041 const unsigned char * hash() const;
00042 bool has_writer() const;
00043 unsigned int num_readers() const;
00044 unsigned int serial() const;
00045
00046 bool operator<(const InterfaceInfo &ii) const;
00047
00048 private:
00049 char *__type;
00050 char *__id;
00051 unsigned char *__hash;
00052 bool __has_writer;
00053 unsigned int __num_readers;
00054 unsigned int __serial;
00055 };
00056
00057
00058 class InterfaceInfoList : public std::list<InterfaceInfo>
00059 {
00060 public:
00061 void append(const char *type, const char *id, const unsigned char *hash,
00062 unsigned int serial, bool has_writer, unsigned int num_readers);
00063 };
00064
00065 }
00066
00067 #endif