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,
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__*/
int8_t mama_bool_t
Definition: types.h:42
void(MAMACALLTYPE * mamaDQPublisherMsgCB)(mamaDQPublisherManager manager, mamaMsg msg)
Definition: dqpublishermanager.h:72
struct mamaDQPublisherImpl_ * mamaDQPublisher
Definition: types.h:104
mamaDQPublisher pub
Definition: dqpublishermanager.h:38
Definition: dqpublishermanager.h:76
struct mamaDQPublisherManagerImpl_ * mamaDQPublisherManager
Definition: types.h:105
mamaDQPublisherCreateCB onCreate
Definition: dqpublishermanager.h:78
const char mamaFtState void * closure
Definition: ft.h:54
void(MAMACALLTYPE * mamaDQPublisherErrorCB)(mamaDQPublisherManager manager, mama_status status, const char *errortxt, mamaMsg msg)
Definition: dqpublishermanager.h:66
mamaDQPublisherErrorCB onError
Definition: dqpublishermanager.h:82
MAMAExpDLL mama_status mamaDQPublisherManager_addPublisher(mamaDQPublisherManager manager, const char *symbol, mamaDQPublisher pub, void *cache)
void(MAMACALLTYPE * mamaDQPublisherNewRequestCB)(mamaDQPublisherManager manager, const char *symbol, short subType, short msgType, mamaMsg msg)
Definition: dqpublishermanager.h:45
Definition: dqpublishermanager.h:35
struct mamaPublishTopic_ mamaPublishTopic
MAMAExpDLL void mamaDQPublisherManager_setSenderId(mamaDQPublisherManager manager, uint64_t senderid)
MAMAExpDLL mama_status mamaDQPublisherManager_destroyPublisher(mamaDQPublisherManager manager, const char *symbol)
MAMAExpDLL void mamaDQPublisherManager_setSeqNum(mamaDQPublisherManager manager, mama_seqnum_t num)
void(MAMACALLTYPE * mamaDQPublisherRefreshCB)(mamaDQPublisherManager manager, mamaPublishTopic *info, short subType, short msgType, mamaMsg msg)
Definition: dqpublishermanager.h:59
const char * symbol
Definition: dqpublishermanager.h:37
struct mamaQueueImpl_ * mamaQueue
Definition: types.h:107
void(MAMACALLTYPE * mamaDQPublisherRequestCB)(mamaDQPublisherManager manager, mamaPublishTopic *info, short subType, short msgType, mamaMsg msg)
Definition: dqpublishermanager.h:52
uint16_t mama_u16_t
Definition: types.h:37
MAMAExpDLL void * mamaDQPublisherManager_getClosure(mamaDQPublisherManager manager)
enum mamaMsgStatus_ mamaMsgStatus
Utility class (enum) for interpreting message status.
uint32_t mama_seqnum_t
Definition: types.h:48
mamaMsg msg
Definition: publisher.h:54
struct mamaDQPublisherManagerCallbacks_ mamaDQPublisherManagerCallbacks
MAMAExpDLL void mamaDQPublisherManager_destroy(mamaDQPublisherManager manager)
mamaDQPublisherMsgCB onMsg
Definition: dqpublishermanager.h:83
MAMAExpDLL mama_status mamaDQPublisherManager_removePublisher(mamaDQPublisherManager manager, const char *symbol, mamaDQPublisher *pub)
MAMAExpDLL mama_status mamaDQPublisherManager_createPublisher(mamaDQPublisherManager manager, const char *symbol, void *cache, mamaDQPublisher *newPublisher)
mamaDQPublisherRefreshCB onRefresh
Definition: dqpublishermanager.h:81
double mama_f64_t
Definition: types.h:44
MAMAExpDLL mama_status mamaDQPublisherManager_allocate(mamaDQPublisherManager *result)
Create a mama publisher for the corresponding transport.
struct mamaMsgImpl_ * mamaMsg
Opaque definitions for all major MAMA data types.
Definition: types.h:95
mamaDQPublisherNewRequestCB onNewRequest
Definition: dqpublishermanager.h:79
mama_status
Definition: status.h:37
MAMAExpDLL mama_status mamaDQPublisherManager_sendNoSubscribers(mamaDQPublisherManager manager, const char *symbol)
MAMAExpDLL void mamaDQPublisherManager_enableSendTime(mamaDQPublisherManager manager, mama_bool_t enable)
mamaMsg mama_status status
Definition: publisher.h:54
mamaDQPublisherRequestCB onRequest
Definition: dqpublishermanager.h:80
typedef void(MAMACALLTYPE *mamaFtMemberOnFtStateChangeCb)(mamaFtMember ftMember
Callback function type for MAMA fault tolerance events.
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.
struct mamaTransportImpl_ * mamaTransport
Definition: types.h:98
void(MAMACALLTYPE * mamaDQPublisherCreateCB)(mamaDQPublisherManager manager)
Definition: dqpublishermanager.h:42
void * cache
Definition: dqpublishermanager.h:39
MAMAExpDLL void mamaDQPublisherManager_setStatus(mamaDQPublisherManager manager, mamaMsgStatus status)
MAMAExpDLL mama_status mamaDQPublisherManager_sendSyncRequest(mamaDQPublisherManager manager, mama_u16_t nummsg, mama_f64_t delay, mama_f64_t duration)


© 2012 Linux Foundation