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