21 #ifndef __IceStorm_SubscriberRecord_h__
22 #define __IceStorm_SubscriberRecord_h__
24 #include <IceUtil/PushDisableWarnings.h>
25 #include <Ice/ProxyF.h>
26 #include <Ice/ObjectF.h>
27 #include <Ice/ValueF.h>
28 #include <Ice/Exception.h>
29 #include <Ice/LocalObject.h>
30 #include <Ice/StreamHelpers.h>
31 #include <Ice/Comparable.h>
32 #include <Ice/Proxy.h>
33 #include <Ice/Object.h>
34 #include <Ice/GCObject.h>
35 #include <Ice/Value.h>
36 #include <Ice/Incoming.h>
37 #include <Ice/FactoryTableInit.h>
38 #include <IceUtil/ScopedArray.h>
39 #include <Ice/Optional.h>
40 #include <Ice/ExceptionHelpers.h>
41 #include <Ice/Identity.h>
42 #include <IceStorm/IceStorm.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 // C++11 mapping
62 struct SubscriberRecordKey
67 std::tuple<const ::Ice::Identity&, const ::Ice::Identity&> ice_tuple()
const
69 return std::tie(
topic,
id);
73 struct SubscriberRecord
78 ::std::shared_ptr<::Ice::ObjectPrx>
obj;
81 ::std::shared_ptr<::IceStorm::TopicPrx>
theTopic;
83 std::tuple<const ::std::string&, const ::Ice::Identity&, const bool&, const ::std::shared_ptr<::Ice::ObjectPrx>&, const ::IceStorm::QoS&,
const int&, const ::std::shared_ptr<::IceStorm::TopicPrx>&> ice_tuple()
const
92 using Ice::operator<=;
94 using Ice::operator>=;
95 using Ice::operator==;
96 using Ice::operator!=;
106 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
107 static const int minWireSize = 4;
108 static const bool fixedLength =
false;
116 istr->readAll(
v.topic,
v.id);
123 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
124 static const int minWireSize = 13;
125 static const bool fixedLength =
false;
133 istr->readAll(
v.topicName,
v.id,
v.link,
v.obj,
v.theQoS,
v.cost,
v.theTopic);
139 #else // C++98 mapping
160 if (
topic != rhs_.topic)
177 if (
topic < rhs_.topic)
181 else if (rhs_.topic <
topic)
189 else if (rhs_.id <
id)
240 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
241 static const int minWireSize = 4;
242 static const bool fixedLength =
false;
248 static void write(S* ostr, const ::IceStorm::SubscriberRecordKey&
v)
250 ostr->write(
v.topic);
268 static const StreamHelperCategory helper = StreamHelperCategoryStruct;
269 static const int minWireSize = 13;
270 static const bool fixedLength =
false;
276 static void write(S* ostr, const ::IceStorm::SubscriberRecord&
v)
278 ostr->write(
v.topicName);
282 ostr->write(
v.theQoS);
284 ostr->write(
v.theTopic);
293 istr->read(
v.topicName);
297 istr->read(
v.theQoS);
299 istr->read(
v.theTopic);
307 #include <IceUtil/PopDisableWarnings.h>