EMA C++ Edition
FilterList.h
Go to the documentation of this file.
1/*|-----------------------------------------------------------------------------
2 *| This source code is provided under the Apache 2.0 license
3 *| and is provided AS IS with no warranty or guarantee of fit for purpose.
4 *| See the project's LICENSE.md for details.
5 *| Copyright (C) 2019, 2024 LSEG. All rights reserved. --
6 *|-----------------------------------------------------------------------------
7 */
8
9#ifndef __refinitiv_ema_access_FilterList_h
10#define __refinitiv_ema_access_FilterList_h
11
122#include "DataDictionary.h"
123
124namespace refinitiv {
125
126namespace ema {
127
128namespace access {
129
130class FilterListDecoder;
131class FilterListEncoder;
132
134{
135public :
136
138
139
143
145
146
148 virtual ~FilterList();
150
152
153
157
162
166 const EmaBuffer& getAsHex() const;
167
171 const EmaString& toString() const;
172
177 const EmaString& toString( const refinitiv::ema::rdm::DataDictionary& dictionary ) const;
178
182 bool hasTotalCountHint() const;
183
189
194 bool forth() const;
195
201 bool forth( UInt8 filterId ) const;
202
207 const FilterEntry& getEntry() const;
208
211 void reset() const;
213
215
216
221
227 FilterList& totalCountHint( UInt32 totalCountHint );
228
238 const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
239
248 const EmaBuffer& permissionData = EmaBuffer() );
249
256
257private :
258
259 Decoder& getDecoder();
260 bool hasDecoder() const;
261
262 const EmaString& toString( UInt64 indent ) const;
263
264 const Encoder& getEncoder() const;
265 bool hasEncoder() const;
266
267 mutable EmaString _toString;
268 FilterEntry _entry;
269 mutable FilterListDecoder* _pDecoder;
270 mutable FilterListEncoder* _pEncoder;
271
272 FilterList( const FilterList& );
273 FilterList& operator=( const FilterList& );
274};
275
276}
277
278}
279
280}
281
282#endif // __refinitiv_ema_access_FilterList_h
#define EMA_ACCESS_API
Definition: Common.h:95
*|--------------------------------------------------------------------------—
Definition: AckMsg.h:62
unsigned int UInt32
represents 32-bit unsigned integer
Definition: Common.h:56
unsigned char UInt8
represents 8-bit unsigned integer
Definition: Common.h:32
unsigned long long UInt64
represents 64-bit unsigned integer
Definition: Common.h:68
The access namespace contains all interfaces and definitions specified for use with the EMA Access pa...
The ema namespace contains all interfaces and definitions specified for use with EMA.
ComplexType class is a parent class from whom all complex data types inherit.
Definition: ComplexType.h:34
EmaBuffer represents a general use binary buffer.
Definition: EmaBuffer.h:33
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:57
FilterEntry represents an entry of FilterList.
Definition: FilterEntry.h:89
FilterList is a heterogeneous container of complex data type entries.
Definition: FilterList.h:134
const EmaString & toString() const
const FilterEntry & getEntry() const
DataType::DataTypeEnum getDataType() const
FilterList & add(UInt8 filterId, FilterEntry::FilterAction action, const EmaBuffer &permissionData=EmaBuffer())
const EmaString & toString(const refinitiv::ema::rdm::DataDictionary &dictionary) const
bool forth(UInt8 filterId) const
const EmaBuffer & getAsHex() const
FilterList & totalCountHint(UInt32 totalCountHint)
FilterList & add(UInt8 filterId, FilterEntry::FilterAction action, const ComplexType &value, const EmaBuffer &permissionData=EmaBuffer())
Data::DataCode getCode() const