16 #ifndef __IceStorm_Metrics_h__
17 #define __IceStorm_Metrics_h__
40 #ifndef ICE_IGNORE_VERSION
41 # if ICE_INT_VERSION / 100 != 307
42 # error Ice version mismatch!
44 # if ICE_INT_VERSION % 100 >= 50
45 # error Beta header file detected
47 # if ICE_INT_VERSION % 100 < 10
48 # error Ice patch level mismatch!
53 # if defined(ICE_STATIC_LIBS)
55 # elif defined(ICESTORM_API_EXPORTS)
56 # define ICESTORM_API ICE_DECLSPEC_EXPORT
58 # define ICESTORM_API ICE_DECLSPEC_IMPORT
62 #ifdef ICE_CPP11_MAPPING // C++11 mapping
68 class SubscriberMetrics;
79 class ICE_CLASS(ICESTORM_API)
TopicMetrics :
public ::Ice::ValueHelper<TopicMetrics, Metrics>
102 TopicMetrics(const ::std::string&
id,
long long int total,
int current,
long long int totalLifetime,
int failures,
long long int published,
long long int forwarded) :
104 published(published),
113 std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const long long int&, const long long int&>
ice_tuple()
const
115 return std::tie(
id, total, current, totalLifetime, failures, published, forwarded);
127 long long int published = 0LL;
131 long long int forwarded = 0LL;
142 class ICE_CLASS(ICESTORM_API)
SubscriberMetrics :
public ::Ice::ValueHelper<SubscriberMetrics, Metrics>
166 SubscriberMetrics(const ::std::string&
id,
long long int total,
int current,
long long int totalLifetime,
int failures,
int queued,
int outstanding,
long long int delivered) :
169 outstanding(outstanding),
178 std::tuple<const ::std::string&, const long long int&, const int&, const long long int&, const int&, const int&, const int&, const long long int&>
ice_tuple()
const
180 return std::tie(
id, total, current, totalLifetime, failures, queued, outstanding, delivered);
200 long long int delivered = 0LL;
217 static void write(S* ostr, const ::IceMX::TopicMetrics& v)
219 ostr->writeAll(v.published, v.forwarded);
235 static void write(S* ostr, const ::IceMX::SubscriberMetrics& v)
237 ostr->writeAll(v.queued, v.outstanding, v.delivered);
257 using TopicMetricsPtr = ::std::shared_ptr<TopicMetrics>;
259 using SubscriberMetricsPtr = ::std::shared_ptr<SubscriberMetrics>;
264 #else // C++98 mapping
275 ICESTORM_API ::IceProxy::Ice::Object* upCast(TopicMetrics*);
278 class SubscriberMetrics;
281 ICESTORM_API ::IceProxy::Ice::Object* upCast(SubscriberMetrics*);
293 ICESTORM_API ::Ice::Object* upCast(TopicMetrics*);
295 typedef ::IceInternal::Handle< TopicMetrics> TopicMetricsPtr;
296 typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::TopicMetrics> TopicMetricsPrx;
297 typedef TopicMetricsPrx TopicMetricsPrxPtr;
299 ICESTORM_API void _icePatchObjectPtr(TopicMetricsPtr&, const ::Ice::ObjectPtr&);
302 class SubscriberMetrics;
304 ICESTORM_API ::Ice::Object* upCast(SubscriberMetrics*);
306 typedef ::IceInternal::Handle< SubscriberMetrics> SubscriberMetricsPtr;
307 typedef ::IceInternal::ProxyHandle< ::IceProxy::IceMX::SubscriberMetrics> SubscriberMetricsPrx;
308 typedef SubscriberMetricsPrx SubscriberMetricsPrxPtr;
310 ICESTORM_API void _icePatchObjectPtr(SubscriberMetricsPtr&, const ::Ice::ObjectPtr&);
326 class ICE_CLASS(ICESTORM_API) TopicMetrics :
public virtual ::Ice::Proxy<TopicMetrics, ::IceProxy::IceMX::Metrics>
343 class ICE_CLASS(ICESTORM_API) SubscriberMetrics :
public virtual ::Ice::Proxy<SubscriberMetrics, ::IceProxy::IceMX::Metrics>
375 typedef TopicMetricsPrx ProxyType;
376 typedef TopicMetricsPtr PointerType;
378 virtual ~TopicMetrics();
398 ::
IceMX::Metrics(id, total, current, totalLifetime, failures),
399 published(published),
404 #ifdef ICE_CPP11_COMPILER
405 TopicMetrics(
const TopicMetrics&) =
default;
406 TopicMetrics& operator=(
const TopicMetrics&) =
default;
413 virtual ::Ice::ObjectPtr ice_clone()
const;
421 virtual bool ice_isA(const ::std::string&
id, const ::Ice::Current& current = ::
Ice::emptyCurrent)
const;
428 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::
Ice::emptyCurrent)
const;
435 virtual const ::std::string& ice_id(const ::Ice::Current& current = ::
Ice::emptyCurrent)
const;
441 static const ::std::string& ice_staticId();
447 static ::Ice::ValueFactoryPtr ice_factory();
468 static ::Ice::ValueFactoryPtr _iceS_TopicMetrics_init = ::IceMX::TopicMetrics::ice_factory();
472 inline bool operator==(
const TopicMetrics& lhs,
const TopicMetrics& rhs)
477 inline bool operator<(
const TopicMetrics& lhs,
const TopicMetrics& rhs)
491 typedef SubscriberMetricsPrx ProxyType;
492 typedef SubscriberMetricsPtr PointerType;
494 virtual ~SubscriberMetrics();
497 SubscriberMetrics() :
516 ::
IceMX::Metrics(id, total, current, totalLifetime, failures),
518 outstanding(outstanding),
523 #ifdef ICE_CPP11_COMPILER
524 SubscriberMetrics(
const SubscriberMetrics&) =
default;
525 SubscriberMetrics& operator=(
const SubscriberMetrics&) =
default;
532 virtual ::Ice::ObjectPtr ice_clone()
const;
540 virtual bool ice_isA(const ::std::string&
id, const ::Ice::Current& current = ::
Ice::emptyCurrent)
const;
547 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::
Ice::emptyCurrent)
const;
554 virtual const ::std::string& ice_id(const ::Ice::Current& current = ::
Ice::emptyCurrent)
const;
560 static const ::std::string& ice_staticId();
566 static ::Ice::ValueFactoryPtr ice_factory();
591 static ::Ice::ValueFactoryPtr _iceS_SubscriberMetrics_init = ::IceMX::SubscriberMetrics::ice_factory();
595 inline bool operator==(
const SubscriberMetrics& lhs,
const SubscriberMetrics& rhs)
600 inline bool operator<(
const SubscriberMetrics& lhs,
const SubscriberMetrics& rhs)
615 static void write(S* ostr, const ::IceMX::TopicMetrics& v)
617 ostr->write(v.published);
618 ostr->write(v.forwarded);
635 static void write(S* ostr, const ::IceMX::SubscriberMetrics& v)
637 ostr->write(v.queued);
638 ostr->write(v.outstanding);
639 ostr->write(v.delivered);