21#ifndef __IceStorm_SubscriberRecord_h__
22#define __IceStorm_SubscriberRecord_h__
24#include <Ice/Comparable.h>
25#include <Ice/Exception.h>
26#include <Ice/ExceptionHelpers.h>
27#include <Ice/FactoryTableInit.h>
28#include <Ice/GCObject.h>
29#include <Ice/Identity.h>
30#include <Ice/Incoming.h>
31#include <Ice/LocalObject.h>
32#include <Ice/Object.h>
33#include <Ice/ObjectF.h>
34#include <Ice/Optional.h>
36#include <Ice/ProxyF.h>
37#include <Ice/StreamHelpers.h>
39#include <Ice/ValueF.h>
40#include <IceStorm/IceStorm.h>
41#include <IceUtil/PushDisableWarnings.h>
42#include <IceUtil/ScopedArray.h>
43#include <IceUtil/UndefSysMacros.h>
45#ifndef ICE_IGNORE_VERSION
46#if ICE_INT_VERSION / 100 != 307
47#error Ice version mismatch!
49#if ICE_INT_VERSION % 100 > 50
50#error Beta header file detected
52#if ICE_INT_VERSION % 100 < 0
53#error Ice patch level mismatch!
57#ifdef ICE_CPP11_MAPPING
64 ::Ice::Identity
topic;
67 std::tuple<const ::Ice::Identity&, const ::Ice::Identity&>
70 return std::tie(
topic,
id);
79 ::std::shared_ptr<::Ice::ObjectPrx>
obj;
82 ::std::shared_ptr<::IceStorm::TopicPrx>
theTopic;
84 std::tuple<const ::std::string&,
85 const ::Ice::Identity&,
87 const ::std::shared_ptr<::Ice::ObjectPrx>&,
88 const ::IceStorm::QoS&,
90 const ::std::shared_ptr<::IceStorm::TopicPrx>&>
100 using Ice::operator<=;
101 using Ice::operator>;
102 using Ice::operator>=;
103 using Ice::operator==;
104 using Ice::operator!=;
112 struct StreamableTraits<::IceStorm::SubscriberRecordKey>
114 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
115 static const int minWireSize = 4;
116 static const bool fixedLength =
false;
119 template <
typename S>
120 struct StreamReader<::IceStorm::SubscriberRecordKey, S>
123 read(S* istr, ::IceStorm::SubscriberRecordKey& v)
125 istr->readAll(
v.topic,
v.id);
130 struct StreamableTraits<::IceStorm::SubscriberRecord>
132 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
133 static const int minWireSize = 13;
134 static const bool fixedLength =
false;
137 template <
typename S>
138 struct StreamReader<::IceStorm::SubscriberRecord, S>
141 read(S* istr, ::IceStorm::SubscriberRecord& v)
143 istr->readAll(
v.topicName,
v.id,
v.link,
v.obj,
v.theQoS,
v.cost,
v.theTopic);
171 if (
topic != rhs_.topic)
189 if (
topic < rhs_.topic)
193 else if (rhs_.topic <
topic)
201 else if (rhs_.id <
id)
259 static const StreamHelperCategory
helper = StreamHelperCategoryStruct;
264 template <
typename S>
268 write(S* ostr, const ::IceStorm::SubscriberRecordKey& v)
270 ostr->write(v.topic);
275 template <
typename S>
289 static const StreamHelperCategory
helper = StreamHelperCategoryStruct;
294 template <
typename S>
298 write(S* ostr, const ::IceStorm::SubscriberRecord& v)
300 ostr->write(v.topicName);
304 ostr->write(v.theQoS);
306 ostr->write(v.theTopic);
310 template <
typename S>
316 istr->read(v.topicName);
320 istr->read(v.theQoS);
322 istr->read(v.theTopic);
330#include <IceUtil/PopDisableWarnings.h>
::IceInternal::ProxyHandle<::IceProxy::IceStorm::Topic > TopicPrx
::std::vector<::IceStorm::SubscriberRecord > SubscriberRecordSeq
double v(double t, double v0, double a0, double j)
void read(auto &eigen, auto *table)
The key for persistent subscribers, or topics.
bool operator>=(const SubscriberRecordKey &rhs_) const
bool operator<(const SubscriberRecordKey &rhs_) const
bool operator==(const SubscriberRecordKey &rhs_) const
bool operator!=(const SubscriberRecordKey &rhs_) const
bool operator>(const SubscriberRecordKey &rhs_) const
bool operator<=(const SubscriberRecordKey &rhs_) const
Used to store persistent information for persistent subscribers.
::IceStorm::TopicPrx theTopic
static void read(S *istr, ::IceStorm::SubscriberRecordKey &v)
static void read(S *istr, ::IceStorm::SubscriberRecord &v)
static void write(S *ostr, const ::IceStorm::SubscriberRecordKey &v)
static void write(S *ostr, const ::IceStorm::SubscriberRecord &v)
static const StreamHelperCategory helper
static const bool fixedLength
static const int minWireSize
static const StreamHelperCategory helper
static const bool fixedLength
static const int minWireSize