summaryrefslogtreecommitdiff
path: root/cpp/include/Ice/ObserverHelper.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-08-08 15:22:27 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-08-08 15:22:27 +0200
commitb9e90a9c390c55244a65472ef93d01baefca8c4d (patch)
treead338ae8f6e79297ccf61b7523261e4680492474 /cpp/include/Ice/ObserverHelper.h
parentMerge remote-tracking branch 'origin/encoding11' into mx (diff)
downloadice-b9e90a9c390c55244a65472ef93d01baefca8c4d.tar.bz2
ice-b9e90a9c390c55244a65472ef93d01baefca8c4d.tar.xz
ice-b9e90a9c390c55244a65472ef93d01baefca8c4d.zip
Fixes
Diffstat (limited to 'cpp/include/Ice/ObserverHelper.h')
-rw-r--r--cpp/include/Ice/ObserverHelper.h25
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