EMA C++ Edition
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 Refinitiv. All rights reserved. --
6  *|-----------------------------------------------------------------------------
7  */
8 
9 #ifndef __thomsonreuters_ema_access_FilterList_h
10 #define __thomsonreuters_ema_access_FilterList_h
11 
122 
123 namespace thomsonreuters {
124 
125 namespace ema {
126 
127 namespace access {
128 
129 class FilterListDecoder;
130 class FilterListEncoder;
131 
133 {
134 public :
135 
137 
138 
140  FilterList();
142 
144 
145 
147  virtual ~FilterList();
149 
151 
152 
155  DataType::DataTypeEnum getDataType() const;
156 
160  Data::DataCode getCode() const;
161 
165  const EmaBuffer& getAsHex() const;
166 
170  const EmaString& toString() const;
171 
175  bool hasTotalCountHint() const;
176 
181  UInt32 getTotalCountHint() const;
182 
187  bool forth() const;
188 
194  bool forth( UInt8 filterId ) const;
195 
200  const FilterEntry& getEntry() const;
201 
204  void reset() const;
206 
208 
209 
213  FilterList& clear();
214 
220  FilterList& totalCountHint( UInt32 totalCountHint );
221 
230  FilterList& add( UInt8 filterId, FilterEntry::FilterAction action,
231  const ComplexType& value, const EmaBuffer& permissionData = EmaBuffer() );
232 
240  FilterList& add( UInt8 filterId, FilterEntry::FilterAction action,
241  const EmaBuffer& permissionData = EmaBuffer() );
242 
247  const FilterList& complete();
249 
250 private :
251 
252  Decoder& getDecoder();
253  bool hasDecoder() const;
254 
255  const EmaString& toString( UInt64 indent ) const;
256 
257  const Encoder& getEncoder() const;
258  bool hasEncoder() const;
259 
260  mutable EmaString _toString;
261  FilterEntry _entry;
262  FilterListDecoder* _pDecoder;
263  mutable FilterListEncoder* _pEncoder;
264 
265  FilterList( const FilterList& );
266  FilterList& operator=( const FilterList& );
267 };
268 
269 }
270 
271 }
272 
273 }
274 
275 #endif // __thomsonreuters_ema_access_FilterList_h
FilterList is a heterogeneous container of complex data type entries.
Definition: FilterList.h:132
unsigned long long UInt64
represents 64-bit unsigned integer
Definition: Common.h:68
unsigned int UInt32
represents 32-bit unsigned integer
Definition: Common.h:56
EmaString class is a container of a null terminated Ascii character string.
Definition: EmaString.h:56
EmaBuffer represents a general use binary buffer.
Definition: EmaBuffer.h:32
#define EMA_ACCESS_API
Definition: Common.h:95
ComplexType class is a parent class from whom all complex data types inherit.
Definition: ComplexType.h:33
FilterEntry represents an entry of FilterList.
Definition: FilterEntry.h:88
unsigned char UInt8
represents 8-bit unsigned integer
Definition: Common.h:32