SubscriberRecord.ice
Go to the documentation of this file.
1 // **********************************************************************
2 //
3 // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
4 //
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
7 //
8 // **********************************************************************
9 
10 #pragma once
11 
12 [["ice-prefix", "cpp:header-ext:h"]]
13 
14 #include <Ice/Identity.ice>
15 #include <IceStorm/IceStorm.ice>
16 
17 module IceStorm
18 {
19 
20 /**
21  *
22  * The key for persistent subscribers, or topics.
23  *
24  * If the subscriber identity is empty then the record is used as a
25  * place holder for the creation of a topic, otherwise the record
26  * holds a subscription record.
27  *
28  **/
29 struct SubscriberRecordKey
30 {
31  // The topic identity.
33 
34  // The identity of the subscriber. If this is empty then the key
35  // is a placeholder for a topic.
37 }
38 
39 /**
40  *
41  * Used to store persistent information for persistent subscribers.
42  *
43  **/
44 struct SubscriberRecord
45 {
46  string topicName; // The name of the topic.
47 
48  Ice::Identity id; // The subscriber identity.
49 
50  // Is this a link record, or a subscriber record?
51  bool link;
52 
53  Object* obj; // The subscriber object.
54 
55  // We could simulate a union here with a class object.
56 
57  // Persistent subscriber data.
58  QoS theQoS; // The QoS.
59 
60  // Link subscriber data.
61  int cost; // The cost.
62  Topic* theTopic; // The linked topic.
63 }
64 
65 sequence<SubscriberRecord> SubscriberRecordSeq;
66 
67 } // End module IceStorm
IceStorm::SubscriberRecordSeq
::std::vector< ::IceStorm::SubscriberRecord > SubscriberRecordSeq
Definition: SubscriberRecord.h:225
IceStorm
Definition: DBTypes.ice:22
IceStorm::SubscriberRecord::theQoS
QoS theQoS
Definition: SubscriberRecord.ice:58
IceStorm::SubscriberRecord::obj
Object * obj
Definition: SubscriberRecord.ice:53
IceStorm::SubscriberRecordKey::id
Ice::Identity id
Definition: SubscriberRecord.ice:36
IceStorm::SubscriberRecord::theTopic
Topic * theTopic
Definition: SubscriberRecord.ice:62
IceStorm::SubscriberRecord
Used to store persistent information for persistent subscribers.
Definition: SubscriberRecord.h:214
IceStorm::SubscriberRecord::id
Ice::Identity id
Definition: SubscriberRecord.ice:48
GfxTL::Identity
void Identity(MatrixXX< N, N, T > *a)
Definition: MatrixXX.h:523
IceStorm::SubscriberRecordKey::topic
Ice::Identity topic
Definition: SubscriberRecord.ice:32
IceStorm::SubscriberRecord::topicName
string topicName
Definition: SubscriberRecord.ice:46
IceStorm::SubscriberRecord::cost
int cost
Definition: SubscriberRecord.ice:61