Main Page
Data Structures
Files
File List
Globals
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
;
38
mamaDQPublisher
pub
;
39
void
*
cache
;
40
}
mamaPublishTopic
;
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
76
typedef
struct
mamaDQPublisherManagerCallbacks_
77
{
78
mamaDQPublisherCreateCB
onCreate
;
79
mamaDQPublisherNewRequestCB
onNewRequest
;
80
mamaDQPublisherRequestCB
onRequest
;
81
mamaDQPublisherRefreshCB
onRefresh
;
82
mamaDQPublisherErrorCB
onError
;
83
mamaDQPublisherMsgCB
onMsg
;
84
}
mamaDQPublisherManagerCallbacks
;
85
86
87
100
MAMAExpDLL
101
extern
mama_status
102
mamaDQPublisherManager_allocate
(
mamaDQPublisherManager
* result);
103
110
MAMAExpDLL
111
extern
mama_status
112
mamaDQPublisherManager_create
(
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
123
mamaDQPublisherManager_destroy
(
mamaDQPublisherManager
manager);
124
125
MAMAExpDLL
126
extern
mama_status
127
mamaDQPublisherManager_addPublisher
(
128
mamaDQPublisherManager
manager,
129
const
char
*symbol,
130
mamaDQPublisher
pub,
131
void
* cache);
132
133
MAMAExpDLL
134
extern
mama_status
135
mamaDQPublisherManager_removePublisher
(
136
mamaDQPublisherManager
manager,
137
const
char
*symbol,
138
mamaDQPublisher
* pub);
139
140
MAMAExpDLL
141
extern
mama_status
142
mamaDQPublisherManager_createPublisher
(
143
mamaDQPublisherManager
manager,
144
const
char
*symbol,
145
void
* cache,
146
mamaDQPublisher
*newPublisher);
147
148
MAMAExpDLL
149
extern
mama_status
150
mamaDQPublisherManager_destroyPublisher
(
151
mamaDQPublisherManager
manager,
152
const
char
*symbol);
153
154
155
MAMAExpDLL
156
extern
void
157
mamaDQPublisherManager_setStatus
(
158
mamaDQPublisherManager
manager,
159
mamaMsgStatus
status);
160
161
MAMAExpDLL
162
extern
void
*
163
mamaDQPublisherManager_getClosure
(
mamaDQPublisherManager
manager);
164
165
MAMAExpDLL
166
extern
void
167
mamaDQPublisherManager_setSenderId
(
168
mamaDQPublisherManager
manager,
169
uint64_t senderid);
170
171
MAMAExpDLL
172
extern
void
173
mamaDQPublisherManager_setSeqNum
(
174
mamaDQPublisherManager
manager,
175
mama_seqnum_t
num);
176
177
MAMAExpDLL
178
extern
mama_status
179
mamaDQPublisherManager_sendSyncRequest
(
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
188
mamaDQPublisherManager_sendNoSubscribers
(
189
mamaDQPublisherManager
manager,
190
const
char
*symbol);
191
192
MAMAExpDLL
193
extern
void
194
mamaDQPublisherManager_enableSendTime
(
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