00001 #ifndef _IT_BUS_PDK_INTERCEPTOR_NODE_H_
00002 #define _IT_BUS_PDK_INTERCEPTOR_NODE_H_
00003
00004
00005
00006
00007 #include <it_bus/api_defines.h>
00008 #include <it_bus_pdk/interceptor.h>
00009
00010 namespace IT_Bus
00011 {
00015 class IT_BUS_API InterceptorNode
00016 {
00017 public:
00018
00019 virtual ~InterceptorNode();
00020
00021 const String&
00022 name() const;
00023
00024 const String&
00025 description() const;
00026
00027 protected :
00028
00029 InterceptorNode(
00030 Interceptor* interceptor,
00031 const String& name
00032 );
00033
00034 InterceptorNode(
00035 Interceptor* interceptor,
00036 const String& name,
00037 const String& description
00038 );
00039
00040 Interceptor* m_interceptor;
00041
00042 private:
00043
00044 String m_name;
00045 String m_description;
00046 };
00047
00048 class IT_BUS_API ServerRequestInterceptorNode : public InterceptorNode
00049 {
00050 public:
00051
00052 ServerRequestInterceptorNode(
00053 ServerRequestInterceptor* interceptor,
00054 const String& name
00055 );
00056
00057 ServerRequestInterceptorNode(
00058 ServerRequestInterceptor* interceptor,
00059 const String& name,
00060 const String& description
00061 );
00062
00063 virtual ~ServerRequestInterceptorNode();
00064
00065 ServerRequestInterceptor*
00066 interceptor();
00067 };
00068
00069 class IT_BUS_API ServerMessageInterceptorNode : public InterceptorNode
00070 {
00071 public:
00072
00073 ServerMessageInterceptorNode(
00074 ServerMessageInterceptor* interceptor,
00075 const String& name
00076 );
00077
00078 ServerMessageInterceptorNode(
00079 ServerMessageInterceptor* interceptor,
00080 const String& name,
00081 const String& description
00082 );
00083
00084 virtual ~ServerMessageInterceptorNode();
00085
00086 ServerMessageInterceptor*
00087 interceptor();
00088 };
00089
00090
00091 }
00092
00093 #endif