OpenMAMA
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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__*/


© 2012 Linux Foundation