OpenMAMA
MamdaNewsManager.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 MamdaNewsManagerH
23 #define MamdaNewsManagerH
24 
30 #include <mamda/MamdaNewsStory.h>
33 #include <mamda/MamdaNewsQuery.h>
34 
35 namespace Wombat
36 {
37 
48  class MAMDAOPTExpDLL MamdaNewsManager
49  {
50  public:
52  virtual ~MamdaNewsManager();
53 
59  void addBroadcastHeadlineSource (MamaQueue* queue,
60  MamaSource* source,
61  const char* symbol,
62  void* closure);
66  void clearBroadcastHeadlineSources ();
67 
73  void addBroadcastStorySource (MamaQueue* queue,
74  MamaSource* source,
75  const char* symbol,
76  void* closure);
77 
81  void clearBroadcastStorySources ();
82 
86  void addBroadcastHeadlineHandler (MamdaNewsHeadlineHandler* handler);
87 
91  void addBroadcastStoryHandler (MamdaNewsStoryHandler* handler);
92 
96  void addQualityHandler (MamdaQualityListener* handler);
97 
101  void addErrorHandler (MamdaErrorListener* handler);
102 
103 
104  void clearQuerySources ();
105 
110  void executeQuery (
111  MamaQueue* queue,
112  MamaSource* source,
113  MamdaQuery* newsQuery,
114  MamdaNewsQueryType queryType,
115  MamdaNewsQueryHandler* handler,
116  void* closure);
117 
118  void removeQuery (MamdaQuery* newsQuery);
119 
124  void requestStory (const MamdaNewsHeadline& headline,
125  MamdaNewsStoryHandler* handler,
126  void* closure);
127 
134  void requestStory (MamaQueue* queue,
135  MamaSource* source,
136  MamdaNewsStoryId storyId,
137  MamdaNewsStoryHandler* handler,
138  void* closure);
139 
144  void requestStoryLater (const MamdaNewsHeadline& headline,
145  MamdaNewsStoryHandler* handler,
146  double secondsLater,
147  void* closure);
148 
154  void requestStoryLater (const MamdaNewsStory& story,
155  MamdaNewsStoryHandler* handler,
156  double secondsLater,
157  void* closure);
158 
163  void requestStoryLater (MamaQueue* queue,
164  MamaSource* source,
165  MamdaNewsStoryId storyId,
166  MamdaNewsStoryHandler* handler,
167  double secondsLater,
168  void* closure);
169 
170  struct MamdaNewsManagerImpl;
171  MamdaNewsManagerImpl& mImpl;
172  };
173 
174 } // namespace
175 
176 #endif // MamdaNewsManagerH


© 2012 Linux Foundation