diff options
Diffstat (limited to 'cpp/include/Ice/ObserverHelper.h')
-rw-r--r-- | cpp/include/Ice/ObserverHelper.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/cpp/include/Ice/ObserverHelper.h b/cpp/include/Ice/ObserverHelper.h index 3803b9e5b6a..97b139e9cce 100644 --- a/cpp/include/Ice/ObserverHelper.h +++ b/cpp/include/Ice/ObserverHelper.h @@ -10,7 +10,8 @@ #ifndef ICE_OBSERVERHELPER_H #define ICE_OBSERVERHELPER_H -#include <Ice/ObserverF.h> +#include <Ice/Observer.h> +#include <Ice/ProxyF.h> namespace IceInternal { @@ -99,6 +100,28 @@ protected: TPtr _observer; }; +class InvocationObserver : public ObserverHelperT<Ice::Instrumentation::InvocationObserver> +{ +public: + + InvocationObserver(IceProxy::Ice::Object*, const std::string&, const Ice::Context*); + InvocationObserver(); + + void attach(IceProxy::Ice::Object*, const std::string&, const Ice::Context*); + + void retry() + { + if(_observer) + { + InvocationObserver::retryImpl(); + } + } + +private: + + void retryImpl(); +}; + } #endif |