/usr/include/mama/MamaSymbolList.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 | /* $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_SYMBOL_LIST_CPP_H__
#define MAMA_SYMBOL_LIST_CPP_H__
#include <mama/mamacpp.h>
#include <mama/MamaSymbolListMember.h>
#include <mama/MamaSymbolListHandlerTypes.h>
namespace Wombat
{
/**
* MamaSymbolList manages a list of MAMA symbols and related
* attributes. Methods are provided for creating, updating and
* sorting the members of the list. Handler interfaces are provided
* so that it is possible to handle asynchronous/external changes to
* the symbol list, as many types of symbol lists can be quite
* dynamic.
*/
class MAMACPPExpDLL MamaSymbolList
{
public:
MamaSymbolList ();
virtual ~MamaSymbolList ();
/**
* Add a "membership" handler that implements the
* MamaSymbolListMembershipHandler interface. Multiple handlers
* may be registered.
*
* @param handler The handler to be registered.
*/
void addMembershipHandler (MamaSymbolListMembershipHandler* handler);
/**
* Add a symbol to the list.
* The list maintains a unique list of symbols.
*
* @param member The symbol member to be added.
*/
void addMember (MamaSymbolListMember* member);
/**
* Find a symbol in the list.
*
* @param symbol The name of the symbol to be removed.
* @param source The source of the symbol to be removed.
* @param transport The transport of the symbol to be removed.
* @return The object containing additional information about the
* symbol (or NULL).
*/
MamaSymbolListMember* findMember (const char* symbol,
const char * source,
mamaTransport transport);
/**
* Remove a symbol from the list (providing it exists in the
* list). The member itself is not destroyed but returned as the
* result of this method.
*
* @param symbol The symbol to be removed.
* @param source The source of the symbol to be removed
* @param transport The transport of the symbol to be removed
* @return The member just removed (or NULL if not found)
*/
MamaSymbolListMember* removeMember (const char* symbol,
const char* source,
mamaTransport transport);
/**
* Remove a symbol from the list (providing it exists in the
* list). The member itself is not destroyed.
*
* @param member The member to be removed.
*/
void removeMember (MamaSymbolListMember& member);
/**
* Remove all symbols from the list (providing it exists in the
* list). The member itself is not destroyed.
*
*/
void removeMemberAll (void);
/**
* Remove all symbols from the list. Handlers remain registered.
*/
void clear ();
/**
* Dump the contents of the list to stdout. For debugging.
*/
void dump ();
/**
* @return whether the symbol list is empty.
*/
bool empty () const;
/**
* @return the size of the symbol list.
*/
mama_size_t size () const;
/**
* Set the closure.
*
* @param closure The closure.
*/
void setClosure (void* closure);
/**
* Get the closure.
*
* @return The closure.
*/
void* getClosure () const;
/**
* Iterate over all members of the symbol list.
*
* @param handler Handler invoked for each member of the symbol list.
* @param iterateClosure The closure passed to the
* MamaSymbolListIteratorHandler::onMember() interface.
*/
void iterate (MamaSymbolListIteratorHandler& handler,
void* iterateClosure = NULL);
/**
* Get the underlying Impl at C level
* @return The mamaSymbolList
*/
mamaSymbolList getCValue ();
/**
* Get the underlying Impl at C level
* @return The mamaSymbolList
*/
const mamaSymbolList getCValue () const;
struct MamaSymbolListImpl;
MamaSymbolListImpl* myPimpl;
protected:
mamaSymbolList myList;
};
} // namespace Wombat
#endif // MAMA_SYMBOL_LIST_CPP_H__
|