00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef __CORE_BUNDLE_H__
00032 #define __CORE_BUNDLE_H__
00033
00034 #include "global.h"
00035
00036 namespace tacpp {
00037
00043 class CoreBundle : public Core_data {
00046 pthread_mutex_t Mutex_;
00049 void lock();
00052 void unlock();
00055 ipaddr mgroup_;
00058 unsigned int port_;
00061 int ttl_;
00064 int priority_;
00067 string key_;
00070 time_t keepalive_time_;
00071 public:
00074 CoreBundle(const string,const string);
00077 ~CoreBundle();
00080 bool isBundle();
00083 ipaddr getMgroup();
00086 unsigned int getPort();
00089 int getTtl();
00092 int getPri();
00095 string getKey();
00098 void del();
00101 void modifyMgroup(ipaddr);
00104 void modifyPort(unsigned int);
00107 void modifyKey(const string);
00110 void modifyTtl(int);
00113 void modifyPri(int);
00116 string buildcfstr(int);
00119 string applycf(char * const*mask,const string cmdname,const list<string>paramList,Command * cmd=NULL)throw (CmdErr);
00122 void periodic();
00123 };
00124
00130 class BundleProcessor {
00131 public:
00134 BundleProcessor(ipaddr,unsigned int,char*);
00135 };
00136
00137 };
00138
00139 #endif // __CORE_BUNDLE_H__