00001
00002 #ifndef _MANAGEMENT_BRIDGE_
00003 #define _MANAGEMENT_BRIDGE_
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #include "qpid/management/ManagementObject.h"
00028 #include "qpid/framing/FieldTable.h"
00029 #include "qpid/framing/Uuid.h"
00030
00031 namespace qpid {
00032 namespace management {
00033
00034 class Bridge : public ManagementObject
00035 {
00036 private:
00037
00038 static std::string packageName;
00039 static std::string className;
00040 static uint8_t md5Sum[16];
00041
00042
00043 uint64_t linkRef;
00044 uint16_t channelId;
00045 uint8_t durable;
00046 std::string src;
00047 std::string dest;
00048 std::string key;
00049 uint8_t srcIsQueue;
00050 uint8_t srcIsLocal;
00051 std::string tag;
00052 std::string excludes;
00053
00054
00055
00056
00057
00058 static void writeSchema (qpid::framing::Buffer& buf);
00059 void writeProperties (qpid::framing::Buffer& buf);
00060 void writeStatistics (qpid::framing::Buffer& buf,
00061 bool skipHeaders = false);
00062 void doMethod (std::string methodName,
00063 qpid::framing::Buffer& inBuf,
00064 qpid::framing::Buffer& outBuf);
00065 writeSchemaCall_t getWriteSchemaCall(void) { return writeSchema; }
00066
00067
00068 bool getInstChanged (void) { return false; }
00069
00070 public:
00071
00072 friend class PackageQpid;
00073
00074 Bridge (ManagementAgent* agent,
00075 Manageable* coreObject, Manageable* _parent, uint16_t _channelId, uint8_t _durable, std::string _src, std::string _dest, std::string _key, uint8_t _srcIsQueue, uint8_t _srcIsLocal, std::string _tag, std::string _excludes);
00076 ~Bridge (void);
00077
00078
00079
00080 std::string& getPackageName (void) { return packageName; }
00081 std::string& getClassName (void) { return className; }
00082 uint8_t* getMd5Sum (void) { return md5Sum; }
00083
00084
00085 static const uint32_t METHOD_CLOSE = 1;
00086
00087
00088
00089 };
00090
00091 }}
00092
00093 #endif