summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/MetricsObserverI.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/MetricsObserverI.h')
-rw-r--r--cpp/src/Ice/MetricsObserverI.h48
1 files changed, 23 insertions, 25 deletions
diff --git a/cpp/src/Ice/MetricsObserverI.h b/cpp/src/Ice/MetricsObserverI.h
index 653b0535d93..07b19567652 100644
--- a/cpp/src/Ice/MetricsObserverI.h
+++ b/cpp/src/Ice/MetricsObserverI.h
@@ -31,14 +31,6 @@ public:
virtual std::string operator()(const std::string&) const = 0;
};
-class Updater : public IceUtil::Shared
-{
-public:
-
- virtual void update() = 0;
-};
-typedef IceUtil::Handle<Updater> UpdaterPtr;
-
template<typename T> class MetricsHelperT : public MetricsHelper
{
public:
@@ -268,6 +260,14 @@ protected:
};
};
+class Updater : public IceUtil::Shared
+{
+public:
+
+ virtual void update() = 0;
+};
+typedef IceUtil::Handle<Updater> UpdaterPtr;
+
template<typename T> class UpdaterT : public Updater
{
public:
@@ -288,7 +288,17 @@ private:
void (T::*_fn)();
};
-class ObserverI;
+template<typename T> Updater*
+newUpdater(const IceUtil::Handle<T>& updater, void (T::*fn)())
+{
+ return new UpdaterT<T>(updater.get(), fn);
+}
+
+template<typename T> Updater*
+newUpdater(const IceInternal::Handle<T>& updater, void (T::*fn)())
+{
+ return new UpdaterT<T>(updater.get(), fn);
+}
template<typename T> class ObserverT : virtual public Ice::Instrumentation::Observer
{
@@ -413,22 +423,6 @@ private:
IceUtilInternal::StopWatch _watch;
};
-class ObserverI : virtual public Ice::Instrumentation::Observer, public ObserverT<Metrics>
-{
-};
-
-template<typename T> Updater*
-newUpdater(const IceUtil::Handle<T>& updater, void (T::*fn)())
-{
- return new UpdaterT<T>(updater.get(), fn);
-}
-
-template<typename T> Updater*
-newUpdater(const IceInternal::Handle<T>& updater, void (T::*fn)())
-{
- return new UpdaterT<T>(updater.get(), fn);
-}
-
template<typename ObserverImplType>
class ObserverFactoryT : public Updater, private IceUtil::Mutex
{
@@ -566,6 +560,10 @@ private:
UpdaterPtr _updater;
};
+class ObserverI : virtual public Ice::Instrumentation::Observer, public ObserverT<Metrics>
+{
+};
+
}
#endif