OpenMAMA
dqpublishermanager.h
Go to the documentation of this file.
1 /* $Id$
2  *
3  * OpenMAMA: The open middleware agnostic messaging API
4  * Copyright (C) 2011 NYSE Technologies, Inc.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19  * 02110-1301 USA
20  */
21 
22 #ifndef MAMA_DQPUBLISHERMANAGER_H__
23 #define MAMA_DQPUBLISHERMANAGER_H__
24 
25 #include "mama/types.h"
26 #include "wombat/wConfig.h"
27 
28 #if defined( __cplusplus )
29 extern "C"
30 {
31 #endif /* defined( __cplusplus ) */
32 
33 
34 
35 typedef struct mamaPublishTopic_
36 {
37  const char* symbol;
39  void* cache;
41 
42 typedef void (MAMACALLTYPE *mamaDQPublisherCreateCB)(
43  mamaDQPublisherManager manager);
44 
45 typedef void (MAMACALLTYPE *mamaDQPublisherNewRequestCB)(
46  mamaDQPublisherManager manager,
47  const char* symbol,
48  short subType,
49  short msgType,
50  mamaMsg msg);
51 
52 typedef void (MAMACALLTYPE *mamaDQPublisherRequestCB)(
53  mamaDQPublisherManager manager,
54  mamaPublishTopic* info,
55  short subType,
56  short msgType,
57  mamaMsg msg);
58 
59 typedef void (MAMACALLTYPE *mamaDQPublisherRefreshCB)(
60  mamaDQPublisherManager manager,
61  mamaPublishTopic* info,
62  short subType,
63  short msgType,
64  mamaMsg msg);
65 
66 typedef void (MAMACALLTYPE *mamaDQPublisherErrorCB)(
67  mamaDQPublisherManager manager,
68  mama_status status,
69  const char* errortxt,
70  mamaMsg msg);
71 
72 typedef void (MAMACALLTYPE *mamaDQPublisherMsgCB)(
73  mamaDQPublisherManager manager,
74  mamaMsg msg);
75 
77 {
85 
86 
87 
100 MAMAExpDLL
101 extern mama_status
103 
110 MAMAExpDLL
111 extern mama_status
113  mamaDQPublisherManager dqPublisher,mamaTransport transport,
114  mamaQueue queue,
115  const mamaDQPublisherManagerCallbacks* callback,
116  const char* sourcename,
117  const char* root,
118  void* closure);
119 
120 
121 MAMAExpDLL
122 extern void
124 
125 MAMAExpDLL
126 extern mama_status
128  mamaDQPublisherManager manager,
129  const char *symbol,
130  mamaDQPublisher pub,
131  void * cache);
132 
133 MAMAExpDLL
134 extern mama_status
136  mamaDQPublisherManager manager,
137  const char *symbol,
138  mamaDQPublisher* pub);
139 
140 MAMAExpDLL
141 extern mama_status
143  mamaDQPublisherManager manager,
144  const char *symbol,
145  void * cache,
146  mamaDQPublisher *newPublisher);
147 
148 MAMAExpDLL
149 extern mama_status
151  mamaDQPublisherManager manager,
152  const char *symbol);
153 
154 
155 MAMAExpDLL
156 extern void
158  mamaDQPublisherManager manager,
159  mamaMsgStatus status);
160 
161 MAMAExpDLL
162 extern void*
164 
165 MAMAExpDLL
166 extern void
168  mamaDQPublisherManager manager,
169  uint64_t senderid);
170 
171 MAMAExpDLL
172 extern void
174  mamaDQPublisherManager manager,
175  mama_seqnum_t num);
176 
177 MAMAExpDLL
178 extern mama_status
180  mamaDQPublisherManager manager,
181  mama_u16_t nummsg,
182  mama_f64_t delay,
183  mama_f64_t duration);
184 
185 
186 MAMAExpDLL
187 extern mama_status
189  mamaDQPublisherManager manager,
190  const char *symbol);
191 
192 MAMAExpDLL
193 extern void
195  mamaDQPublisherManager manager,
196  mama_bool_t enable);
197 
198 #if defined( __cplusplus )
199 }
200 #endif /* defined( __cplusplus ) */
201 
202 #endif /* MAMA_DQPUBLISHERMANAGER_H__*/
mamaDQPublisherManager_removePublisher
MAMAExpDLL mama_status mamaDQPublisherManager_removePublisher(mamaDQPublisherManager manager, const char *symbol, mamaDQPublisher *pub)
mamaPublishTopic_
Definition: dqpublishermanager.h:35
mamaDQPublisherManagerCallbacks_::onRefresh
mamaDQPublisherRefreshCB onRefresh
Definition: dqpublishermanager.h:81
mamaDQPublisherRequestCB
void(MAMACALLTYPE * mamaDQPublisherRequestCB)(mamaDQPublisherManager manager, mamaPublishTopic *info, short subType, short msgType, mamaMsg msg)
Definition: dqpublishermanager.h:52
mamaDQPublisherManager_createPublisher
MAMAExpDLL mama_status mamaDQPublisherManager_createPublisher(mamaDQPublisherManager manager, const char *symbol, void *cache, mamaDQPublisher *newPublisher)
mamaDQPublisherManager_getClosure
MAMAExpDLL void * mamaDQPublisherManager_getClosure(mamaDQPublisherManager manager)
types.h
mama_status
mama_status
Definition: status.h:37
mamaDQPublisherManager_destroy
MAMAExpDLL void mamaDQPublisherManager_destroy(mamaDQPublisherManager manager)
mamaDQPublisherManager
struct mamaDQPublisherManagerImpl_ * mamaDQPublisherManager
Definition: types.h:105
mamaPublishTopic_::symbol
const char * symbol
Definition: dqpublishermanager.h:37
mamaDQPublisherManagerCallbacks_
Definition: dqpublishermanager.h:76
mama_u16_t
uint16_t mama_u16_t
Definition: types.h:37
mamaDQPublisherManager_enableSendTime
MAMAExpDLL void mamaDQPublisherManager_enableSendTime(mamaDQPublisherManager manager, mama_bool_t enable)
mamaDQPublisherManager_allocate
MAMAExpDLL mama_status mamaDQPublisherManager_allocate(mamaDQPublisherManager *result)
Create a mama publisher for the corresponding transport.
mamaDQPublisherMsgCB
void(MAMACALLTYPE * mamaDQPublisherMsgCB)(mamaDQPublisherManager manager, mamaMsg msg)
Definition: dqpublishermanager.h:72
mamaDQPublisherCreateCB
void(MAMACALLTYPE * mamaDQPublisherCreateCB)(mamaDQPublisherManager manager)
Definition: dqpublishermanager.h:42
mamaDQPublisherManagerCallbacks_::onNewRequest
mamaDQPublisherNewRequestCB onNewRequest
Definition: dqpublishermanager.h:79
mamaDQPublisherManager_create
MAMAExpDLL mama_status mamaDQPublisherManager_create(mamaDQPublisherManager dqPublisher, mamaTransport transport, mamaQueue queue, const mamaDQPublisherManagerCallbacks *callback, const char *sourcename, const char *root, void *closure)
Send a message from the specified publisher.
mamaDQPublisherManager_sendNoSubscribers
MAMAExpDLL mama_status mamaDQPublisherManager_sendNoSubscribers(mamaDQPublisherManager manager, const char *symbol)
mamaDQPublisher
struct mamaDQPublisherImpl_ * mamaDQPublisher
Definition: types.h:104
mamaDQPublisherErrorCB
void(MAMACALLTYPE * mamaDQPublisherErrorCB)(mamaDQPublisherManager manager, mama_status status, const char *errortxt, mamaMsg msg)
Definition: dqpublishermanager.h:66
mamaDQPublisherManager_setStatus
MAMAExpDLL void mamaDQPublisherManager_setStatus(mamaDQPublisherManager manager, mamaMsgStatus status)
mamaDQPublisherManagerCallbacks
struct mamaDQPublisherManagerCallbacks_ mamaDQPublisherManagerCallbacks
mamaDQPublisherManagerCallbacks_::onRequest
mamaDQPublisherRequestCB onRequest
Definition: dqpublishermanager.h:80
mamaTransport
struct mamaTransportImpl_ * mamaTransport
Definition: types.h:98
mamaDQPublisherManagerCallbacks_::onError
mamaDQPublisherErrorCB onError
Definition: dqpublishermanager.h:82
mamaDQPublisherManager_addPublisher
MAMAExpDLL mama_status mamaDQPublisherManager_addPublisher(mamaDQPublisherManager manager, const char *symbol, mamaDQPublisher pub, void *cache)
mamaDQPublisherManager_sendSyncRequest
MAMAExpDLL mama_status mamaDQPublisherManager_sendSyncRequest(mamaDQPublisherManager manager, mama_u16_t nummsg, mama_f64_t delay, mama_f64_t duration)
mamaDQPublisherNewRequestCB
void(MAMACALLTYPE * mamaDQPublisherNewRequestCB)(mamaDQPublisherManager manager, const char *symbol, short subType, short msgType, mamaMsg msg)
Definition: dqpublishermanager.h:45
mama_f64_t
double mama_f64_t
Definition: types.h:44
mamaMsg
struct mamaMsgImpl_ * mamaMsg
Opaque definitions for all major MAMA data types.
Definition: types.h:95
mamaPublishTopic_::pub
mamaDQPublisher pub
Definition: dqpublishermanager.h:38
mama_seqnum_t
uint32_t mama_seqnum_t
Definition: types.h:48
mamaPublishTopic
struct mamaPublishTopic_ mamaPublishTopic
mamaDQPublisherManager_setSenderId
MAMAExpDLL void mamaDQPublisherManager_setSenderId(mamaDQPublisherManager manager, uint64_t senderid)
mama_bool_t
int8_t mama_bool_t
Definition: types.h:42
mamaPublishTopic_::cache
void * cache
Definition: dqpublishermanager.h:39
mamaDQPublisherManagerCallbacks_::onCreate
mamaDQPublisherCreateCB onCreate
Definition: dqpublishermanager.h:78
mamaDQPublisherRefreshCB
void(MAMACALLTYPE * mamaDQPublisherRefreshCB)(mamaDQPublisherManager manager, mamaPublishTopic *info, short subType, short msgType, mamaMsg msg)
Definition: dqpublishermanager.h:59
mamaDQPublisherManager_setSeqNum
MAMAExpDLL void mamaDQPublisherManager_setSeqNum(mamaDQPublisherManager manager, mama_seqnum_t num)
mamaDQPublisherManager_destroyPublisher
MAMAExpDLL mama_status mamaDQPublisherManager_destroyPublisher(mamaDQPublisherManager manager, const char *symbol)
mamaQueue
struct mamaQueueImpl_ * mamaQueue
Definition: types.h:107
mamaMsgStatus
enum mamaMsgStatus_ mamaMsgStatus
Utility class (enum) for interpreting message status.
mamaDQPublisherManagerCallbacks_::onMsg
mamaDQPublisherMsgCB onMsg
Definition: dqpublishermanager.h:83


© 2012 Linux Foundation