OpenMAMA C++ API
MamaInbox.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_INBOX_CPP_H__
23 #define MAMA_INBOX_CPP_H__
24 
25 #include <mama/mamacpp.h>
26 
27 namespace Wombat
28 {
29 
33  class MAMACPPExpDLL MamaInbox
34  {
35  /* Private Member Variables. */
36  mamaInbox mInbox;
37  MamaInboxCallback * mCallback;
38  void * mClosure;
39 
40  /* Private Functions. */
41  static void MAMACALLTYPE onInboxDestroy (mamaInbox inbox,
42  void *closure);
43 
44  static void MAMACALLTYPE onInboxError (mama_status status,
45  void *closure);
46 
47  static void MAMACALLTYPE onInboxMsg (mamaMsg msg,
48  void *closure);
49 
50  public:
51  virtual ~MamaInbox (void);
52 
53  MamaInbox (void);
54 
64  virtual void create (MamaTransport* transport,
65  MamaQueue* queue,
66  MamaInboxCallback* callback,
67  void* closure = NULL);
68 
69  virtual void destroy (void);
70  virtual void* getClosure (void) const;
71 
72  // Access to C types for implementation of related classes.
73  mamaInbox getCValue ();
74  const mamaInbox getCValue () const;
75  };
76 
77 } // namespace Wombat
78 #endif // MAMA_INBOX_CPP_H__
The MamaInboxCallback gets invoked when a message arrives in an inbox or when inbox related errors ar...
Definition: MamaInboxCallback.h:33
Definition: MamaConnection.h:29
Used for sending messages requesting a direct reply.
Definition: MamaInbox.h:33
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