OpenMAMA C++ API
MamaBasicWildCardSubscription.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_BASIC_WILD_CARD__SUBSCRIPTION_CPP_H__
23 #define MAMA_BASIC_WILD_CARD__SUBSCRIPTION_CPP_H__
24 
25 #include "mama/mama.h"
27 
28 namespace Wombat
29 {
30 class MamaStatus;
31 class MamaMsg;
32 class MamaQueue;
33 class MamaTransport;
34 class MamaBasicWildCardSubscriptionCallback;
35 
45 {
46 public:
47 
53 
58 
75  virtual void create (
76  MamaTransport* transport,
77  MamaQueue* queue,
79  const char* source,
80  const char* topic,
81  void* closure = NULL);
82 
88  virtual const char* getSymbol (void) const;
89 
95  virtual const char* getSource (void) const;
96 
105  virtual void* getTopicClosure() const;
106 
114  virtual void setTopicClosure (void *closure);
115 
120  virtual void muteCurrentTopic (void);
121 
128  virtual MamaBasicWildCardSubscriptionCallback* getBasicWildCardCallback (void) const;
129 
130 private:
131 
132  /* Private functions. */
133  static void MAMACALLTYPE onSubscriptionCreate(mamaSubscription subsc, void *closure);
134  static void MAMACALLTYPE onSubscriptionDestroy(mamaSubscription subscription, void *closure);
135  static void MAMACALLTYPE onSubscriptionError(mamaSubscription subsc, mama_status status, void *platformError, const char *subject, void *closure);
136  static void MAMACALLTYPE onSubscriptionMessage(mamaSubscription subsc, mamaMsg msg, const char *topic, void *closure, void *topicClosure);
137 
138  // The callback class passed to the create function
140 };
141 
142 } // namespace Wombat
143 #endif // MAMA_BASIC_WILD_CARD__SUBSCRIPTION_CPP_H__
The MamaBasicSubscription interface represents a subscription to a topic with no market data semantic...
Definition: MamaBasicSubscription.h:44
Definition: MamaConnection.h:29
The MamaBasicWildCardSubscription interface represents a subscription to a topic with no market data ...
Definition: MamaBasicWildCardSubscription.h:44
The message callback interface for basic subscriptions.
Definition: MamaBasicWildCardSubscriptionCallback.h:35
Queue allows applications to dispatch events in order with multiple threads using a single MamaDispat...
Definition: MamaQueue.h:40
The MamaTransport class provides market data functionality.
Definition: MamaTransport.h:261