6#include "../internal/Conf.hpp"
17#include "../internal/Common.hpp"
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
103 EventFlag(std::uint32_t flag, std::string name)
noexcept : flag_{flag}, name_{std::move(name)} {
108
109
110
111
112
113
114
115
116
120
121
122
123
124
125
126
127
131
132
133
134
135
136
137
138
139
143
144
145
146
147
148
149
150
154
155
156
157
158
159
160
161
167
168
169
170
171
175
176
180
181
182 explicit EventFlag()
noexcept : flag_{
unsigned(-1)}, name_{
"INVALID"} {
186
187
193
194
195
196
197
198
199 bool in(std::uint32_t eventFlagsMask)
const noexcept {
200 return (eventFlagsMask & flag_) != 0;
204
205
206
207
208
209
210
211 template <
typename EventFlagsMask>
212 bool in(
const EventFlagsMask &eventFlagsMask)
const noexcept
219 return in(eventFlagsMask.getMask());
223 const std::string &getName()
const &
noexcept {
228 const std::string &toString()
const &
noexcept {
233
234
235
236
237
238
239 friend std::
int32_t operator|(
const EventFlag &eventFlag1, std::int32_t eventFlag2)
noexcept {
240 return static_cast<std::int32_t>(dxfcpp::orOp(eventFlag1
.getFlag(), eventFlag2));
244
245
246
247
248
249
250 friend std::
int32_t operator|(std::int32_t eventFlag1,
const EventFlag &eventFlag2)
noexcept {
251 return dxfcpp::orOp(eventFlag1, eventFlag2
.getFlag());
255
256
257
258
259
260
261 friend std::
int32_t operator&(
const EventFlag &eventFlag1, std::int32_t eventFlag2)
noexcept {
262 return static_cast<std::int32_t>(dxfcpp::andOp(eventFlag1
.getFlag(), eventFlag2));
266
267
268
269
270
271
272 friend std::
int32_t operator&(std::int32_t eventFlag1,
const EventFlag &eventFlag2)
noexcept {
273 return dxfcpp::andOp(eventFlag1, eventFlag2
.getFlag());
277
278
279
280
281
282
283 friend std::
uint32_t operator|(
const EventFlag &eventFlag1, std::uint32_t eventFlag2)
noexcept {
288
289
290
291
292
293
294 friend std::
uint32_t operator|(std::uint32_t eventFlag1,
const EventFlag &eventFlag2)
noexcept {
295 return dxfcpp::orOp(eventFlag1, eventFlag2
.getFlag());
299
300
301
302
303
304
305 friend std::
uint32_t operator&(
const EventFlag &eventFlag1, std::uint32_t eventFlag2)
noexcept {
306 return static_cast<std::int32_t>(dxfcpp::andOp(eventFlag1
.getFlag(), eventFlag2));
310
311
312
313
314
315
316 friend std::
uint32_t operator&(std::uint32_t eventFlag1,
const EventFlag &eventFlag2)
noexcept {
317 return dxfcpp::andOp(eventFlag1, eventFlag2
.getFlag());
321
322
323
324
325
326
327 template <
typename Event>
static bool isSnapshotBegin(
const std::shared_ptr<Event> &event) {
332
333
334
335
336
337
338 template <
typename Event>
static bool isSnapshotEnd(
const std::shared_ptr<Event> &event) {
343
344
345
346
347
348
349 template <
typename Event>
static bool isSnapshotSnip(
const std::shared_ptr<Event> &event) {
354
355
356
357
358
360 return isSnapshotEnd(event) || isSnapshotSnip(event);
364
365
366
367
368
369
370 template <
typename Event>
static bool isPending(
const std::shared_ptr<Event> &event) {
371 return (event->getEventFlags() &
TX_PENDING) != 0;
375
376
377
378
379
380
381 template <
typename Event>
static bool isRemove(
const std::shared_ptr<Event> &event) {
389template <>
struct std::hash<dxfcpp::EventFlag> {
390 std::size_t operator()(
const dxfcpp::EventFlag &eventFlag)
const noexcept {
398class EventFlagsMask
final {
403
404
409
410
411
412
413
414 template <Integral MaskType>
415 explicit EventFlagsMask(MaskType mask)
noexcept : mask_{
static_cast<std::uint32_t>(mask)} {
419
420
421
422
423
424
425 template <
typename EventFlagIt>
EventFlagsMask(EventFlagIt begin, EventFlagIt end)
noexcept {
426 mask_ = std::accumulate(begin, end, 0u, [](
unsigned mask,
const EventFlag &flag) {
432
433
434
435
437 : EventFlagsMask(eventFlags.begin(), eventFlags.end()) {
441
442
443
444
450
451
452
453 bool contains(
const EventFlag &flag)
const noexcept {
458
459
460
461
462
463
464 friend EventFlagsMask
operator|(
const EventFlagsMask &eventFlagsMask,
const EventFlag &eventFlag)
noexcept {
465 return EventFlagsMask{eventFlagsMask.mask_ | eventFlag
.getFlag()};
469
470
471
472
473
474
475 friend EventFlagsMask
operator&(
const EventFlagsMask &eventFlagsMask,
const EventFlag &eventFlag)
noexcept {
476 return EventFlagsMask{eventFlagsMask.mask_ & eventFlag
.getFlag()};
480 std::string toString()
const {
481 bool addOrSign =
false;
482 std::ostringstream result{};
484 for (
const auto &flag :
485 {EventFlag::TX_PENDING, EventFlag::REMOVE_EVENT, EventFlag::SNAPSHOT_BEGIN, EventFlag::SNAPSHOT_END,
486 EventFlag::SNAPSHOT_SNIP, EventFlag::SNAPSHOT_MODE, EventFlag::REMOVE_SYMBOL}) {
487 if (flag.in(mask_)) {
494 result << flag.toString();
498 result <<
"(0x" << std::hex << mask_ <<
")";
507
508
509
510
511
512
513inline dxfcpp::EventFlagsMask operator|(
const dxfcpp::EventFlag &eventFlag1,
514 const dxfcpp::EventFlag &eventFlag2)
noexcept {
#define DXFCXX_DISABLE_MSC_WARNINGS_POP()
Definition Conf.hpp:22
#define DXFCPP_CXX20_CONSTEXPR_STRING
Definition Conf.hpp:121
#define DXFCPP_END_NAMESPACE
Definition Conf.hpp:70
#define DXFCPP_BEGIN_NAMESPACE
Definition Conf.hpp:67
#define DXFCXX_DISABLE_GCC_WARNINGS_PUSH(warnings)
Definition Conf.hpp:38
#define DXFCXX_DISABLE_GCC_WARNINGS_POP()
Definition Conf.hpp:40
#define DXFCXX_DISABLE_MSC_WARNINGS_PUSH(warnings)
Definition Conf.hpp:21
#define DXFCPP_TRACE_ISOLATES
Definition Debug.hpp:19
#define DXFCPP_DEBUG
Definition Debug.hpp:15
#define DXFCPP_TRACE_LISTS
Definition Debug.hpp:22
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_properties(dxfc_dxendpoint_builder_t builder, const dxfc_dxendpoint_property_t **properties, size_t size)
Sets all supported properties from the provided properties object.
Definition DXEndpoint.cpp:700
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_password(dxfc_dxendpoint_t endpoint, const char *password)
Changes password for this endpoint.
Definition DXEndpoint.cpp:943
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_publisher(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxpublisher_t *publisher)
Definition DXEndpoint.cpp:1133
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_supports_property(dxfc_dxendpoint_builder_t builder, const char *key, DXFC_OUT int *supports)
Checks if a property is supported.
Definition DXEndpoint.cpp:727
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_add_state_change_listener(dxfc_dxendpoint_t endpoint, dxfc_dxendpoint_state_change_listener listener)
Adds listener that is notified about changes in state property.
Definition DXEndpoint.cpp:1079
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_disconnect(dxfc_dxendpoint_t endpoint)
Terminates all remote network connections.
Definition DXEndpoint.cpp:994
#define DXFCPP_EXPORT
Definition api.h:35
void * dxfc_dxendpoint_builder_t
The dxFeed endpoint's builder handle.
Definition api.h:207
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_close_and_await_termination(dxfc_dxendpoint_t endpoint)
Closes this endpoint and wait until all pending data processing tasks are completed.
Definition DXEndpoint.cpp:892
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_await_not_connected(dxfc_dxendpoint_t endpoint)
Waits while this endpoint state becomes NOT_CONNECTED or CLOSED.
Definition DXEndpoint.cpp:1045
dxfc_dxendpoint_state_t
Represents the current state of endpoint.
Definition api.h:149
@ DXFC_DXENDPOINT_STATE_CLOSED
Endpoint was closed.
Definition api.h:169
@ DXFC_DXENDPOINT_STATE_NOT_CONNECTED
Endpoint was created by is not connected to remote endpoints.
Definition api.h:153
@ DXFC_DXENDPOINT_STATE_CONNECTING
The connect function was called to establish connection to remove endpoint, but connection is not act...
Definition api.h:159
@ DXFC_DXENDPOINT_STATE_CONNECTED
The connection to remote endpoint is established.
Definition api.h:164
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_instance(void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Returns a default application-wide singleton instance of dxFeed endpoint with a FEED role.
Definition DXEndpoint.cpp:785
#define DXFC_OUT
Definition api.h:17
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_state(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxendpoint_state_t *state)
Returns the state of this endpoint.
Definition DXEndpoint.cpp:1062
void * dxfc_dxendpoint_t
The dxFeed endpoint handle.
Definition api.h:198
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_property(dxfc_dxendpoint_builder_t builder, const char *key, const char *value)
Sets the specified property.
Definition DXEndpoint.cpp:683
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_free(dxfc_dxendpoint_builder_t builder)
Removes a builder from the registry.
Definition DXEndpoint.cpp:773
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_connect(dxfc_dxendpoint_t endpoint, const char *address)
Connects to the specified remote address.
Definition DXEndpoint.cpp:960
dxfc_error_code_t
List of error codes.
Definition api.h:49
@ DXFC_EC_ERROR
The error returned if the current operation cannot be completed.
Definition api.h:60
@ DXFC_EC_SUCCESS
OK.
Definition api.h:53
@ DXFC_EC_G_ERR
dxFeed Graal Native API error.
Definition api.h:57
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_remove_state_change_listener(dxfc_dxendpoint_t endpoint, dxfc_dxendpoint_state_change_listener listener)
Removes listener that is notified about changes in state property.
Definition DXEndpoint.cpp:1105
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_name(dxfc_dxendpoint_builder_t builder, const char *name)
Changes name that is used to distinguish multiple endpoints in the same process (GraalVM Isolate) in ...
Definition DXEndpoint.cpp:667
DXFCPP_EXPORT dxfc_error_code_t dxfc_system_set_property(const char *key, const char *value)
Sets the system property indicated by the specified key.
Definition System.cpp:68
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_build(dxfc_dxendpoint_builder_t builder, void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Builds the new dxFeed endpoint instance.
Definition DXEndpoint.cpp:744
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_feed(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxfeed_t *feed)
Definition DXEndpoint.cpp:1128
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_await_processed(dxfc_dxendpoint_t endpoint)
Waits until this endpoint stops processing data (becomes quiescent).
Definition DXEndpoint.cpp:1028
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_close(dxfc_dxendpoint_t endpoint)
Closes this endpoint.
Definition DXEndpoint.cpp:875
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_new_builder(DXFC_OUT dxfc_dxendpoint_builder_t *builder)
Creates new dxFeed endpoint's builder instance.
Definition DXEndpoint.cpp:634
void(* dxfc_dxendpoint_state_change_listener)(dxfc_dxendpoint_state_t old_state, dxfc_dxendpoint_state_t new_state, void *user_data)
The endpoint current state change listener.
Definition api.h:178
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_reconnect(dxfc_dxendpoint_t endpoint)
Terminates all established network connections and initiates connecting again with the same address.
Definition DXEndpoint.cpp:977
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_role(dxfc_dxendpoint_t endpoint, DXFC_OUT dxfc_dxendpoint_role_t *role)
Returns the role of this endpoint.
Definition DXEndpoint.cpp:909
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_user(dxfc_dxendpoint_t endpoint, const char *user)
Changes username for this endpoint.
Definition DXEndpoint.cpp:926
DXFCPP_EXPORT dxfc_error_code_t dxfc_system_get_property(const char *key, DXFC_OUT char *buffer, size_t buffer_size)
Gets the system property indicated by the specified key.
dxfc_dxendpoint_role_t
Represents the role of endpoint that was specified during its creation.
Definition api.h:89
@ DXFC_DXENDPOINT_ROLE_PUBLISHER
PUBLISHER endpoint connects to the remote publisher hub (also known as multiplexor) or creates a publ...
Definition api.h:127
@ DXFC_DXENDPOINT_ROLE_STREAM_FEED
STREAM_FEED endpoint is similar to DXFC_DXENDPOINT_ROLE_FEED and also connects to the remote data fee...
Definition api.h:116
@ DXFC_DXENDPOINT_ROLE_FEED
FEED endpoint connects to the remote data feed provider and is optimized for real-time or delayed dat...
Definition api.h:99
@ DXFC_DXENDPOINT_ROLE_STREAM_PUBLISHER
STREAM_PUBLISHER endpoint is similar to DXFC_DXENDPOINT_ROLE_PUBLISHER and also connects to the remot...
Definition api.h:136
@ DXFC_DXENDPOINT_ROLE_LOCAL_HUB
LOCAL_HUB endpoint is a local hub without ability to establish network connections.
Definition api.h:143
@ DXFC_DXENDPOINT_ROLE_ON_DEMAND_FEED
ON_DEMAND_FEED endpoint is similar to DXFC_DXENDPOINT_ROLE_FEED, but it is designed to be used with d...
Definition api.h:107
void * dxfc_dxpublisher_t
The dxFeed publisher handle.
Definition api.h:217
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_create(void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Creates an endpoint with FEED role.
Definition DXEndpoint.cpp:830
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_get_instance2(dxfc_dxendpoint_role_t role, void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Returns a default application-wide singleton instance of DXEndpoint for a specific role.
Definition DXEndpoint.cpp:807
void * dxfc_dxfeed_t
The dxFeed handle.
Definition api.h:212
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_builder_with_role(dxfc_dxendpoint_builder_t builder, dxfc_dxendpoint_role_t role)
Sets role for the created dxFeed endpoint.
Definition DXEndpoint.cpp:650
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_create2(dxfc_dxendpoint_role_t role, void *user_data, DXFC_OUT dxfc_dxendpoint_t *endpoint)
Creates an endpoint with a specified role.
Definition DXEndpoint.cpp:852
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_free(dxfc_dxendpoint_t endpoint)
Removes the dxFeed endpoint from the registry.
Definition DXEndpoint.cpp:1138
DXFCPP_EXPORT dxfc_error_code_t dxfc_dxendpoint_disconnect_and_clear(dxfc_dxendpoint_t endpoint)
Terminates all remote network connections and clears stored data.
Definition DXEndpoint.cpp:1011
Builder class for DXEndpoint that supports additional configuration properties.
Definition DXEndpoint.hpp:860
bool supportsProperty(const std::string &key)
Checks if a property is supported.
Definition DXEndpoint.cpp:323
std::shared_ptr< DXEndpoint > build()
Builds DXEndpoint instance.
Definition DXEndpoint.cpp:332
std::shared_ptr< Builder > withProperty(const std::string &key, const std::string &value)
Sets the specified property.
Definition DXEndpoint.cpp:308
std::shared_ptr< Builder > withName(const std::string &name)
Changes name that is used to distinguish multiple endpoints in the same process (GraalVM Isolate) in ...
Definition DXEndpoint.cpp:362
std::shared_ptr< Builder > withProperties(Properties &&properties)
Sets all supported properties from the provided properties object.
Definition DXEndpoint.hpp:949
~Builder() noexcept override
Releases the GraalVM handle.
Definition DXEndpoint.cpp:352
std::shared_ptr< Builder > withRole(Role role)
Sets role for the created DXEndpoint.
Definition DXEndpoint.cpp:296
Subscription for a set of symbols and event types.
Definition DXFeedSubscription.hpp:40
void removeEventListener(std::size_t listenerId)
Removes listener for events.
Definition DXFeedSubscription.cpp:254
bool containsEventType(const EventTypeEnum &eventType) override
Returns true if this subscription contains the corresponding event type.
Definition DXFeedSubscription.cpp:181
std::size_t addChangeListener(std::shared_ptr< ObservableSubscriptionChangeListener > listener) override
Adds subscription change listener.
Definition DXFeedSubscription.cpp:264
bool isClosed() override
Returns true if this subscription is closed.
Definition DXFeedSubscription.cpp:159
void addSymbols(SymbolIt begin, SymbolIt end) const
Adds the specified collection (using iterators) of symbols to the set of subscribed symbols.
Definition DXFeedSubscription.hpp:431
static std::shared_ptr< DXFeedSubscription > create(std::initializer_list< EventTypeEnum > eventTypes)
Creates detached subscription for the given collection of event types.
Definition DXFeedSubscription.cpp:134
void close() const
Closes this subscription and makes it permanently detached.
Definition DXFeedSubscription.cpp:168
void setEventsBatchLimit(std::int32_t eventsBatchLimit) const
Sets maximum number of events in the single notification of OnEventHandler.
Definition DXFeedSubscription.cpp:300
std::unordered_set< EventTypeEnum > getEventTypes() override
Returns a set of subscribed event types.
Definition DXFeedSubscription.cpp:177
void setSymbols(std::initializer_list< SymbolWrapper > collection) const
Changes the set of subscribed symbols so that it contains just the symbols from the specified collect...
Definition DXFeedSubscription.cpp:212
void removeSymbols(SymbolIt begin, SymbolIt end) const
Removes the specified collection (using iterators) of symbols from the set of subscribed symbols.
Definition DXFeedSubscription.hpp:503
void removeSymbols(SymbolsCollection &&collection) const
Removes the specified collection of symbols from the set of subscribed symbols.
Definition DXFeedSubscription.hpp:529
static const std::int32_t MAX_BATCH_LIMIT
The maximum events' batch limit for single notification in OnEventHandler.
Definition DXFeedSubscription.hpp:56
void removeSymbols(const SymbolWrapper &symbolWrapper) const
Removes the specified symbol from the set of subscribed symbols.
Definition DXFeedSubscription.cpp:231
static std::shared_ptr< DXFeedSubscription > create(EventTypeIt begin, EventTypeIt end)
Creates detached subscription for the given collection of event types.
Definition DXFeedSubscription.hpp:212
void attach(std::shared_ptr< DXFeed > feed)
Attaches subscription to the specified feed.
Definition DXFeedSubscription.cpp:143
TimePeriod getAggregationPeriod() const
Returns the aggregation period for data for this subscription instance.
Definition DXFeedSubscription.cpp:246
std::string toString() const override
Returns a string representation of the current object.
Definition DXFeedSubscription.cpp:101
static const std::int32_t OPTIMAL_BATCH_LIMIT
The optimal events' batch limit for single notification in OnEventHandler.
Definition DXFeedSubscription.hpp:51
std::size_t addEventListener(std::function< void(const std::vector< std::shared_ptr< EventT > > &)> &&listener)
Adds typed listener for events.
Definition DXFeedSubscription.hpp:676
void addSymbols(std::initializer_list< SymbolWrapper > collection) const
Adds the specified collection (initializer list) of symbols to the set of subscribed symbols.
Definition DXFeedSubscription.cpp:227
void setSymbols(SymbolsCollection &&collection) const
Changes the set of subscribed symbols so that it contains just the symbols from the specified collect...
Definition DXFeedSubscription.hpp:382
void setAggregationPeriod(const TimePeriod &aggregationPeriod) const
Sets the aggregation period for data.
Definition DXFeedSubscription.cpp:250
static std::shared_ptr< DXFeedSubscription > create(const EventTypeEnum &eventType)
Creates detached subscription for a single event type.
Definition DXFeedSubscription.cpp:120
std::int32_t getEventsBatchLimit() const
Definition DXFeedSubscription.cpp:296
std::size_t addEventListener(EventListener &&listener)
Adds listener for events.
Definition DXFeedSubscription.hpp:621
static std::shared_ptr< DXFeedSubscription > create(EventTypesCollection &&eventTypes)
Creates detached subscription for the given collection of event types.
Definition DXFeedSubscription.hpp:258
OnEventHandler & onEvent()
Returns a reference to an incoming events' handler (delegate), to which listeners can be added and re...
Definition DXFeedSubscription.cpp:258
void addSymbols(const SymbolsCollection &collection) const
Adds the specified collection of symbols to the set of subscribed symbols.
Definition DXFeedSubscription.hpp:457
void setSymbols(SymbolIt begin, SymbolIt end) const
Changes the set of subscribed symbols so that it contains just the symbols from the specified collect...
Definition DXFeedSubscription.hpp:356
void setAggregationPeriod(std::int64_t aggregationPeriod) const
Sets the aggregation period for data.
Definition DXFeedSubscription.hpp:585
void removeChangeListener(std::size_t changeListenerId) override
Removes subscription change listener by id.
Definition DXFeedSubscription.cpp:280
std::vector< SymbolWrapper > getDecoratedSymbols() const
Returns a set of decorated symbols (depending on the actual implementation of subscription).
Definition DXFeedSubscription.cpp:203
void clear() const
Clears the set of subscribed symbols.
Definition DXFeedSubscription.cpp:185
void detach(std::shared_ptr< DXFeed > feed)
Detaches subscription from the specified feed.
Definition DXFeedSubscription.cpp:151
void addSymbols(const SymbolWrapper &symbolWrapper) const
Adds the specified symbol to the set of subscribed symbols.
Definition DXFeedSubscription.cpp:216
void setAggregationPeriod(std::chrono::milliseconds aggregationPeriod) const
Sets the aggregation period for data.
Definition DXFeedSubscription.hpp:572
void removeSymbols(std::initializer_list< SymbolWrapper > collection) const
Removes the specified collection (initializer list) of symbols from the set of subscribed symbols.
Definition DXFeedSubscription.cpp:242
std::vector< SymbolWrapper > getSymbols() const
Returns a set of subscribed symbols (depending on the actual implementation of subscription).
Definition DXFeedSubscription.cpp:194
Extends DXFeedSubscription to conveniently subscribe to time-series of events for a set of symbols an...
Definition DXFeedSubscription.hpp:787
std::int64_t getFromTime()
Returns the earliest timestamp from which time-series of events shall be received.
Definition DXFeedSubscription.cpp:329
void setFromTime(std::chrono::milliseconds fromTime)
Sets the earliest timestamp from which time-series of events shall be received.
Definition DXFeedSubscription.cpp:340
std::string toString() const override
Returns a string representation of the current object.
Definition DXFeedSubscription.cpp:325
void setFromTime(std::int64_t fromTime)
Sets the earliest timestamp from which time-series of events shall be received.
Definition DXFeedSubscription.cpp:333
static std::shared_ptr< DXFeedTimeSeriesSubscription > create(std::initializer_list< EventTypeEnum > eventTypes)
Creates detached subscription for the given collection of event types.
bool in(std::uint32_t eventFlagsMask) const noexcept
Determines if the given flag is in the mask.
Definition EventFlag.hpp:199
std::uint32_t getFlag() const noexcept
Definition EventFlag.hpp:188
static bool isSnapshotSnip(const std::shared_ptr< Event > &event)
Determines if the given event is marked as a snapshot snip.
Definition EventFlag.hpp:349
friend std::uint32_t operator|(std::uint32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:294
friend std::uint32_t operator&(const EventFlag &eventFlag1, std::uint32_t eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:305
friend std::int32_t operator|(const EventFlag &eventFlag1, std::int32_t eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:239
EventFlag() noexcept
Creates the invalid event flag.
Definition EventFlag.hpp:182
static bool isSnapshotBegin(const std::shared_ptr< Event > &event)
Determines if the given event marks the beginning of a snapshot.
Definition EventFlag.hpp:327
friend std::int32_t operator&(const EventFlag &eventFlag1, std::int32_t eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:261
static const EventFlag SNAPSHOT_SNIP
0x10 - A bitmask to get snapshot snip indicator from the value of eventFlags property.
Definition EventFlag.hpp:12
friend std::int32_t operator|(std::int32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:250
static bool isPending(const std::shared_ptr< Event > &event)
Determines if the given event is in a pending state.
Definition EventFlag.hpp:370
friend std::int32_t operator&(std::int32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:272
static const EventFlag SNAPSHOT_MODE
0x40 - A bitmask to set snapshot mode indicator into the value of eventFlags property.
Definition EventFlag.hpp:14
bool in(const EventFlagsMask &eventFlagsMask) const noexcept
Determines if the given flag is in the mask.
Definition EventFlag.hpp:212
static const EventFlag TX_PENDING
0x01 - A bitmask to get transaction pending indicator from the value of eventFlags property.
Definition EventFlag.hpp:8
friend std::uint32_t operator|(const EventFlag &eventFlag1, std::uint32_t eventFlag2) noexcept
Performs a bit or operation with two event flags.
Definition EventFlag.hpp:283
static bool isRemove(const std::shared_ptr< Event > &event)
Determines if the given event is marked for removal.
Definition EventFlag.hpp:381
static bool isSnapshotEndOrSnip(const std::shared_ptr< Event > &event)
Determines if the given event marks the end of a snapshot or a snapshot snip.
Definition EventFlag.hpp:359
static const EventFlag SNAPSHOT_BEGIN
0x04 - A bitmask to get snapshot begin indicator from the value of eventFlags property.
Definition EventFlag.hpp:10
friend std::uint32_t operator&(std::uint32_t eventFlag1, const EventFlag &eventFlag2) noexcept
Performs a bit and operation with two event flags.
Definition EventFlag.hpp:316
static const EventFlag REMOVE_SYMBOL
0x80 - For internal use.
Definition EventFlag.hpp:15
static const EventFlag SNAPSHOT_END
0x08 - A bitmask to get snapshot end indicator from the value of eventFlags property.
Definition EventFlag.hpp:11
static const EventFlag REMOVE_EVENT
0x02 - A bitmask to get removal indicator from the value of eventFlags property.
Definition EventFlag.hpp:9
static bool isSnapshotEnd(const std::shared_ptr< Event > &event)
Determines if the given event marks the end of a snapshot.
Definition EventFlag.hpp:338
constexpr std::uint32_t getMask() const noexcept
Returns an integer representation of event mask.
Definition EventFlag.hpp:445
bool contains(const EventFlag &flag) const noexcept
Definition EventFlag.hpp:453
friend EventFlagsMask operator|(const EventFlagsMask &eventFlagsMask, const EventFlag &eventFlag) noexcept
Performs a bit or operation with an event flags' mask and an event flag.
Definition EventFlag.hpp:464
EventFlagsMask() noexcept
Creates an empty event flags mask.
Definition EventFlag.hpp:405
EventFlagsMask(std::initializer_list< EventFlag > eventFlags) noexcept
Creates event flags mask by initializer list with flags.
Definition EventFlag.hpp:436
EventFlagsMask(MaskType mask) noexcept
Create event flags mask by integer value.
Definition EventFlag.hpp:415
EventFlagsMask(EventFlagIt begin, EventFlagIt end) noexcept
Creates event flags mask by iterators of container with flags.
Definition EventFlag.hpp:425
friend EventFlagsMask operator&(const EventFlagsMask &eventFlagsMask, const EventFlag &eventFlag) noexcept
Performs a bit and operation with an event flags' mask and an event flag.
Definition EventFlag.hpp:475
The enumeration type that provides additional information about the dxFeed Graal C++-API event type.
Definition EventTypeEnum.hpp:21
bool isTimeSeries() const noexcept
Definition EventTypeEnum.hpp:174
const std::string & getClassName() const &noexcept
Definition EventTypeEnum.hpp:117
bool isLasting() const noexcept
Definition EventTypeEnum.hpp:160
bool isOnlyIndexed() const noexcept
Definition EventTypeEnum.hpp:181
bool isIndexed() const noexcept
Definition EventTypeEnum.hpp:167
std::uint32_t getId() const noexcept
Definition EventTypeEnum.hpp:103
bool isMarket() const noexcept
Definition EventTypeEnum.hpp:188
const std::string & getName() const &noexcept
Definition EventTypeEnum.hpp:110
Source identifier for IndexedEvent.
Definition IndexedEventSource.hpp:22
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSource.cpp:21
const std::string & name() const noexcept
Returns the string representation of the object.
Definition IndexedEventSource.hpp:90
static IndexedEventSource fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition IndexedEventSource.cpp:32
static const IndexedEventSource DEFAULT
The default source with zero identifier for all events that do not support multiple sources.
Definition IndexedEventSource.hpp:13
std::int32_t id() const noexcept
Returns the source identifier.
Definition IndexedEventSource.hpp:81
virtual void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSource.cpp:15
std::string toString() const
Returns the string representation of the object.
Definition IndexedEventSource.hpp:99
IndexedEventSource(std::int32_t id, std::string name) noexcept
Creates the new IndexedEvent's source by id and name.
Definition IndexedEventSource.hpp:73
Represents subscription to a specific source of indexed events.
Definition IndexedEventSubscriptionSymbol.hpp:40
virtual const std::unique_ptr< SymbolWrapper > & getEventSymbol() const
Returns the wrapped event symbol (CandleSymbol, WildcardSymbol, etc).
Definition IndexedEventSubscriptionSymbol.cpp:16
virtual void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSubscriptionSymbol.cpp:24
static IndexedEventSubscriptionSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure ...
Definition IndexedEventSubscriptionSymbol.cpp:46
virtual const std::unique_ptr< IndexedEventSource > & getSource() const
Returns indexed event source.
Definition IndexedEventSubscriptionSymbol.cpp:20
IndexedEventSubscriptionSymbol(const SymbolWrapper &eventSymbol, const IndexedEventSource &source)
Creates indexed event subscription symbol with a specified event symbol and source.
Definition IndexedEventSubscriptionSymbol.cpp:10
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition IndexedEventSubscriptionSymbol.cpp:33
virtual std::string toString() const
Returns string representation of this indexed event subscription symbol.
Definition IndexedEventSubscriptionSymbol.cpp:61
static const OrderSource GLBX
CME Globex.
Definition OrderSource.hpp:307
static const OrderSource smfe
Small Exchange.
Definition OrderSource.hpp:371
static const OrderSource bzx
Bats BZX Exchange.
Definition OrderSource.hpp:235
static const OrderSource DEX
Direct-Edge EDGX Exchange.
Definition OrderSource.hpp:202
static const OrderSource NTV
NASDAQ Total View.
Definition OrderSource.hpp:138
static const OrderSource AGGREGATE_ASK
Ask side of an aggregate order book (futures depth and NASDAQ Level II).
Definition OrderSource.hpp:123
static const OrderSource & valueOf(std::int32_t sourceId)
Returns order source for the specified source identifier.
Definition OrderSource.cpp:178
static const OrderSource ESPD
NASDAQ eSpeed.
Definition OrderSource.hpp:162
static const OrderSource CFE
CBOE Futures Exchange.
Definition OrderSource.hpp:347
static const OrderSource ntv
NASDAQ Total View.
Definition OrderSource.hpp:146
static const OrderSource ICE
Intercontinental Exchange.
Definition OrderSource.hpp:178
static const OrderSource BZX
Bats BZX Exchange.
Definition OrderSource.hpp:227
static const OrderSource C2OX
CBOE Options C2 Exchange.
Definition OrderSource.hpp:355
static const OrderSource REGIONAL_ASK
Ask side of a regional Quote.
Definition OrderSource.hpp:111
static const OrderSource REGIONAL_BID
Bid side of a regional Quote.
Definition OrderSource.hpp:104
static const OrderSource ABE
ABE (abe.io) exchange.
Definition OrderSource.hpp:291
static const OrderSource CEUX
Bats Europe DXE Exchange.
Definition OrderSource.hpp:259
static const OrderSource OCEA
Blue Ocean Technologies Alternative Trading System.
Definition OrderSource.hpp:403
static const OrderSource AGGREGATE_BID
Bid side of an aggregate order book (futures depth and NASDAQ Level II).
Definition OrderSource.hpp:117
static const OrderSource BXTR
Bats Europe TRF.
Definition OrderSource.hpp:267
static const OrderSource dex
Direct-Edge EDGX Exchange.
Definition OrderSource.hpp:211
static const OrderSource cedx
Cboe European Derivatives.
Definition OrderSource.hpp:444
static const OrderSource COMPOSITE_ASK
Ask side of a composite Quote.
Definition OrderSource.hpp:97
static const OrderSource XNFI
NASDAQ Fixed Income.
Definition OrderSource.hpp:170
static const OrderSource iex
Investors exchange.
Definition OrderSource.hpp:379
static const OrderSource xeur
Eurex Exchange.
Definition OrderSource.hpp:339
static const OrderSource CEDX
Cboe European Derivatives.
Definition OrderSource.hpp:436
static const OrderSource ISE
International Securities Exchange.
Definition OrderSource.hpp:186
static const OrderSource DEA
Direct-Edge EDGA Exchange.
Definition OrderSource.hpp:194
static const OrderSource glbx
CME Globex.
Definition OrderSource.hpp:315
static const OrderSource BI20
Borsa Istanbul Exchange.
Definition OrderSource.hpp:283
static const OrderSource BYX
Bats BYX Exchange.
Definition OrderSource.hpp:219
static const OrderSource FAIR
FAIR (FairX) exchange.
Definition OrderSource.hpp:299
static const OrderSource BATE
Bats Europe BXE Exchange.
Definition OrderSource.hpp:243
static const OrderSource pink
Pink Sheets.
Definition OrderSource.hpp:412
static const OrderSource DEFAULT
Default source for publishing custom order books.
Definition OrderSource.hpp:130
static const OrderSource NFX
NASDAQ Futures Exchange.
Definition OrderSource.hpp:154
static const OrderSource memx
Members Exchange.
Definition OrderSource.hpp:395
static bool isSpecialSourceId(std::int32_t sourceId) noexcept
Determines whether specified source identifier refers to special order source.
Definition OrderSource.cpp:174
static const OrderSource IST
Borsa Istanbul Exchange.
Definition OrderSource.hpp:275
static const OrderSource ARCA
NYSE Arca traded securities.
Definition OrderSource.hpp:420
static const OrderSource CHIX
Bats Europe CXE Exchange.
Definition OrderSource.hpp:251
static const OrderSource & valueOf(const std::string &name)
Returns order source for the specified source name.
Definition OrderSource.cpp:192
static const OrderSource ERIS
Eris Exchange group of companies.
Definition OrderSource.hpp:323
static const OrderSource XEUR
Eurex Exchange.
Definition OrderSource.hpp:331
static const OrderSource MEMX
Members Exchange.
Definition OrderSource.hpp:387
static const OrderSource COMPOSITE_BID
Bid side of a composite Quote.
Definition OrderSource.hpp:90
static const OrderSource arca
NYSE Arca traded securities.
Definition OrderSource.hpp:428
static const OrderSource SMFE
Small Exchange.
Definition OrderSource.hpp:363
TimeSeriesSubscriptionSymbol(const SymbolWrapper &eventSymbol, std::int64_t fromTime)
Creates time-series subscription symbol with a specified event symbol and subscription time.
void * toGraal() const override
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition TimeSeriesSubscriptionSymbol.cpp:19
std::string toString() const override
Returns string representation of this time-series subscription symbol.
Definition TimeSeriesSubscriptionSymbol.cpp:63
std::int64_t getFromTime() const
Returns the subscription time.
Definition TimeSeriesSubscriptionSymbol.cpp:15
static TimeSeriesSubscriptionSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure ...
Definition TimeSeriesSubscriptionSymbol.cpp:48
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition TimeSeriesSubscriptionSymbol.cpp:32
The AuthToken class represents an authorization token and encapsulates information about the authoriz...
Definition AuthToken.hpp:30
std::string getScheme() const
Returns the authentication scheme.
Definition AuthToken.cpp:85
static AuthToken createBasicTokenOrNull(const StringLikeWrapper &user, const StringLikeWrapper &password)
Constructs an AuthToken with the specified username and password per RFC2617.
Definition AuthToken.cpp:33
static AuthToken valueOf(const StringLikeWrapper &string)
Constructs an AuthToken from the specified string.
Definition AuthToken.cpp:21
static AuthToken createBasicToken(const StringLikeWrapper &user, const StringLikeWrapper &password)
Constructs an AuthToken with the specified username and password per RFC2617.
Definition AuthToken.cpp:29
static AuthToken createBearerTokenOrNull(const StringLikeWrapper &token)
Constructs an AuthToken with the specified bearer token per RFC6750.
Definition AuthToken.cpp:47
std::string getPassword() const
Returns the password or dxfcpp::String::NUL (std::string{"<null>"}) if it is not known or applicable.
Definition AuthToken.cpp:77
static AuthToken createBasicToken(const StringLikeWrapper &userPassword)
Constructs an AuthToken with the specified username and password per RFC2617.
Definition AuthToken.cpp:25
static AuthToken createBearerToken(const StringLikeWrapper &token)
Constructs an AuthToken with the specified bearer token per RFC6750.
Definition AuthToken.cpp:43
static AuthToken createCustomToken(const StringLikeWrapper &scheme, const StringLikeWrapper &value)
Constructs an AuthToken with a custom scheme and value.
Definition AuthToken.cpp:57
std::string getHttpAuthorization() const
Returns the HTTP authorization header value.
Definition AuthToken.cpp:61
std::string getValue() const
Returns the access token for RFC6750 or the Base64-encoded "username:password" for RFC2617.
Definition AuthToken.cpp:93
std::string getUser() const
Returns the username or dxfcpp::String::NUL (std::string{"<null>"}) if it is not known or applicable.
Definition AuthToken.cpp:69
Candle alignment attribute of CandleSymbol defines how candle are aligned with respect to time.
Definition CandleAlignment.hpp:32
static const CandleAlignment DEFAULT
Default alignment is CandleAlignment::MIDNIGHT.
Definition CandleAlignment.hpp:46
static const CandleAlignment MIDNIGHT
Align candles on midnight.
Definition CandleAlignment.hpp:12
static std::reference_wrapper< const CandleAlignment > getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle alignment of the given candle symbol string.
Definition CandleAlignment.cpp:79
static const CandleAlignment SESSION
Align candles on trading sessions.
Definition CandleAlignment.hpp:13
std::string toString() const
Returns string representation of this candle alignment.
Definition CandleAlignment.cpp:37
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle alignment attribute.
Definition CandleAlignment.cpp:91
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandleAlignment in a symbol string using methods...
Definition CandleAlignment.hpp:15
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this candle alignment set.
Definition CandleAlignment.cpp:32
static std::reference_wrapper< const CandleAlignment > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle alignment into object.
Definition CandleAlignment.cpp:53
Exchange attribute of CandleSymbol defines exchange identifier where data is taken from to build the ...
Definition CandleExchange.hpp:30
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this exchange set.
Definition CandleExchange.hpp:65
static const CandleExchange COMPOSITE
Composite exchange where data is taken from all exchanges.
Definition CandleExchange.hpp:11
char getExchangeCode() const noexcept
Returns exchange code.
Definition CandleExchange.hpp:55
static CandleExchange getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns exchange attribute object of the given candle symbol string.
Definition CandleExchange.hpp:101
static const CandleExchange DEFAULT
Default exchange is CandleExchange::COMPOSITE.
Definition CandleExchange.hpp:39
std::string toString() const
Returns string representation of this exchange.
Definition CandleExchange.hpp:76
static CandleExchange valueOf(char exchangeCode) noexcept
Returns exchange attribute object that corresponds to the specified exchange code character.
Definition CandleExchange.hpp:90
Period attribute of CandleSymbol defines aggregation period of the candles.
Definition CandlePeriod.hpp:37
static CandlePeriod parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of aggregation period into object.
Definition CandlePeriod.hpp:155
double getValue() const noexcept
Returns aggregation period value.
Definition CandlePeriod.hpp:109
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandlePeriod in a symbol string using methods of...
Definition CandlePeriod.hpp:53
static const CandlePeriod TICK
Tick aggregation where each candle represents an individual tick.
Definition CandlePeriod.hpp:50
static const CandlePeriod DEFAULT
Default period is CandlePeriod::TICK.
Definition CandlePeriod.hpp:51
std::int64_t getPeriodIntervalMillis() const noexcept
Returns aggregation period in milliseconds as closely as possible.
Definition CandlePeriod.hpp:88
static const CandlePeriod DAY
Day aggregation where each candle represents a day.
Definition CandlePeriod.hpp:51
static CandlePeriod valueOf(double value, const CandleType &type) noexcept
Returns candle period with the given value and type.
Definition CandlePeriod.hpp:188
const CandleType & getType() const &noexcept
Returns aggregation period type.
Definition CandlePeriod.hpp:117
const std::string & toString() const &
Returns string representation of this aggregation period.
Definition CandlePeriod.hpp:131
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this aggregation period set.
Definition CandlePeriod.hpp:97
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle period attribute.
Definition CandlePeriod.hpp:219
static CandlePeriod getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) noexcept
Returns candle period of the given candle symbol string.
Definition CandlePeriod.hpp:207
Candle price level attribute of CandleSymbol defines how candles shall be aggregated in respect to pr...
Definition CandlePriceLevel.hpp:40
std::string toString() const
Returns string representation of this price level.
Definition CandlePriceLevel.hpp:80
double getValue() const noexcept
Returns price level value.
Definition CandlePriceLevel.hpp:69
static CandlePriceLevel parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle price level into object.
Definition CandlePriceLevel.hpp:111
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandlePriceLevel in a symbol string using method...
Definition CandlePriceLevel.hpp:13
static CandlePriceLevel valueOf(double value)
Returns candle price level with the given value.
Definition CandlePriceLevel.hpp:122
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle price level attribute.
Definition CandlePriceLevel.hpp:149
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this candle price level set.
Definition CandlePriceLevel.hpp:98
static const CandlePriceLevel DEFAULT
Default price level corresponds to NaN (std::numeric_limits<double>::quiet_NaN())
Definition CandlePriceLevel.hpp:11
static CandlePriceLevel getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle price level of the given candle symbol string.
Definition CandlePriceLevel.hpp:137
Price type attribute of CandleSymbol defines price that is used to build the candles.
Definition CandlePrice.hpp:34
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle symbol string with the normalized representation of the candle price type attribute.
Definition CandlePrice.hpp:165
static const CandlePrice BID
Quote bid price.
Definition CandlePrice.hpp:12
static const CandlePrice ASK
Quote ask price.
Definition CandlePrice.hpp:13
static const CandlePrice LAST
Last trading price.
Definition CandlePrice.hpp:11
static std::reference_wrapper< const CandlePrice > getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) noexcept
Returns candle price type of the given candle symbol string.
Definition CandlePrice.hpp:153
static const CandlePrice MARK
Market price defined as average between quote bid and ask prices.
Definition CandlePrice.hpp:14
static std::reference_wrapper< const CandlePrice > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle price type into object.
Definition CandlePrice.hpp:123
const std::string & toString() const &noexcept
Returns string representation of this candle price type.
Definition CandlePrice.hpp:107
static const CandlePrice DEFAULT
Default price type is CandlePrice::LAST.
Definition CandlePrice.hpp:65
static const CandlePrice SETTLEMENT
Official settlement price that is defined by exchange or last trading price otherwise.
Definition CandlePrice.hpp:15
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this candle price type set.
Definition CandlePrice.hpp:95
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandlePrice in a symbol string using methods of ...
Definition CandlePrice.hpp:18
const std::string & toString() const &noexcept
Returns string representation of this candle session attribute.
Definition CandleSession.hpp:102
std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const override
Returns candle event symbol string with this session attribute set.
Definition CandleSession.hpp:90
static const CandleSession REGULAR
Only regular trading session data is used to build candles.
Definition CandleSession.hpp:45
static std::string normalizeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) noexcept
Returns candle symbol string with the normalized representation of the candle session attribute.
Definition CandleSession.hpp:159
const SessionFilter & getSessionFilter() const &noexcept
Returns session filter that corresponds to this session attribute.
Definition CandleSession.hpp:81
static std::reference_wrapper< const CandleSession > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle session attribute into object.
Definition CandleSession.hpp:118
static const CandleSession ANY
All trading sessions are used to build candles.
Definition CandleSession.hpp:44
static std::reference_wrapper< const CandleSession > getAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol)
Returns candle session attribute of the given candle symbol string.
Definition CandleSession.hpp:147
static const std::string ATTRIBUTE_KEY
The attribute key that is used to store the value of CandleSession in a symbol string using methods o...
Definition CandleSession.hpp:60
static const CandleSession DEFAULT
Default trading session is CandleSession::ANY.
Definition CandleSession.hpp:51
Attribute of the CandleSymbol.
Definition CandleSymbolAttribute.hpp:19
virtual std::string changeAttributeForSymbol(const dxfcpp::StringLikeWrapper &symbol) const =0
Returns candle event symbol string with this attribute set.
Symbol that should be used with DXFeedSubscription class to subscribe for Candle events.
Definition CandleSymbol.hpp:83
static CandleSymbol valueOf(std::string symbol, CandleSymbolAttributesCollection &&attributes) noexcept
Converts the given string symbol into the candle symbol object with the specified attributes set.
Definition CandleSymbol.hpp:347
const std::optional< CandlePeriod > & getPeriod() const &noexcept
Returns aggregation period of this symbol.
Definition CandleSymbol.hpp:210
const std::optional< CandlePriceLevel > & getPriceLevel() const &noexcept
Returns price level attribute of this symbol.
Definition CandleSymbol.hpp:228
static CandleSymbol valueOf(std::string symbol, std::initializer_list< CandleSymbolAttributeVariant > attributes) noexcept
Converts the given string symbol into the candle symbol object with the specified attributes set (ini...
Definition CandleSymbol.hpp:329
const std::optional< CandleExchange > & getExchange() const &noexcept
Returns exchange attribute of this symbol.
Definition CandleSymbol.hpp:183
const std::string & getBaseSymbol() const &noexcept
Returns base market symbol without attributes.
Definition CandleSymbol.hpp:174
static CandleSymbol valueOf(std::string symbol, CandleSymbolAttributeIt begin, CandleSymbolAttributeIt end) noexcept
Converts the given string symbol into the candle symbol object with the specified attribute set (iter...
Definition CandleSymbol.hpp:316
const std::optional< CandlePrice > & getPrice() const &noexcept
Returns price type attribute of this symbol.
Definition CandleSymbol.hpp:192
static CandleSymbol valueOf(std::string symbol) noexcept
Converts the given string symbol into the candle symbol object.
Definition CandleSymbol.hpp:291
static CandleSymbol valueOf(std::string symbol, const CandleSymbolAttributeVariant &attribute) noexcept
Converts the given string symbol into the candle symbol object with the specified attribute set.
Definition CandleSymbol.hpp:302
virtual void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition CandleSymbol.cpp:11
const std::string & toString() const &noexcept
Returns string representation of this symbol.
Definition CandleSymbol.hpp:239
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition CandleSymbol.cpp:21
const std::optional< CandleSession > & getSession() const &noexcept
Returns session attribute of this symbol.
Definition CandleSymbol.hpp:201
static CandleSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition CandleSymbol.cpp:36
const std::optional< CandleAlignment > & getAlignment() const &noexcept
Returns alignment attribute of this symbol.
Definition CandleSymbol.hpp:219
Type of the candle aggregation period constitutes CandlePeriod type together its actual value.
Definition CandleType.hpp:27
static const CandleType VOLUME
Certain volume of trades.
Definition CandleType.hpp:76
static const CandleType MONTH
Certain number of months.
Definition CandleType.hpp:61
static const CandleType PRICE_RENKO
Certain price change, calculated according to the following rules:
Definition CandleType.hpp:111
static std::reference_wrapper< const CandleType > parse(const dxfcpp::StringLikeWrapper &s)
Parses string representation of candle type into object.
Definition CandleType.hpp:177
static const CandleType DAY
Certain number of days.
Definition CandleType.hpp:15
std::int64_t getPeriodIntervalMillis() const noexcept
Returns candle type period in milliseconds as closely as possible.
Definition CandleType.hpp:141
static const CandleType WEEK
Certain number of weeks.
Definition CandleType.hpp:16
static const CandleType HOUR
Certain number of hours.
Definition CandleType.hpp:14
static const CandleType PRICE
Certain price change, calculated according to the following rules:
Definition CandleType.hpp:87
static const CandleType TICK
Certain number of ticks.
Definition CandleType.hpp:11
const std::string & toString() const &noexcept
Returns string representation of this candle type.
Definition CandleType.hpp:164
static const CandleType OPTEXP
Certain number of option expirations.
Definition CandleType.hpp:66
static const CandleType SECOND
Certain number of seconds.
Definition CandleType.hpp:12
static const CandleType MINUTE
Certain number of minutes.
Definition CandleType.hpp:13
const std::string & getName() const &noexcept
Returns a name of this candle type.
Definition CandleType.hpp:150
static const CandleType PRICE_MOMENTUM
Certain price change, calculated according to the following rules:
Definition CandleType.hpp:99
static const CandleType YEAR
Certain number of years.
Definition CandleType.hpp:71
Mixin for wrapping calls to common promise methods.
Definition Promise.hpp:72
JavaException getException() const
Returns exceptional outcome of computation.
Definition Promise.hpp:120
void cancel() const
Cancels computation.
Definition Promise.hpp:167
bool hasResult() const
Returns true when computation has completed normally.
Definition Promise.hpp:88
bool isCancelled() const
Returns true when computation was cancelled.
Definition Promise.hpp:107
bool hasException() const
Returns true when computation has completed exceptionally or was cancelled.
Definition Promise.hpp:97
bool awaitWithoutException(const std::chrono::milliseconds &timeoutInMilliseconds) const
Wait for computation to complete or timeout or throw an exception in case of exceptional completion.
Definition Promise.hpp:154
bool isDone() const
Returns true when computation has completed normally, or exceptionally, or was cancelled.
Definition Promise.hpp:78
bool awaitWithoutException(std::int32_t timeoutInMilliseconds) const
Wait for computation to complete or timeout or throw an exception in case of exceptional completion.
Definition Promise.hpp:137
Manages network connections to feed or publisher.
Definition DXEndpoint.hpp:186
bool isClosed() const
Definition DXEndpoint.cpp:488
SimpleHandler< void(DXEndpoint::State, DXEndpoint::State)> & onStateChange() noexcept
Returns the onStateChange handler that can be used to add or remove listeners.
Definition DXEndpoint.cpp:500
static const std::string DXFEED_PASSWORD_PROPERTY
"dxfeed.password"
Definition DXEndpoint.hpp:253
static std::shared_ptr< DXEndpoint > create(Role role)
Creates an endpoint with a specified role.
Definition DXEndpoint.cpp:476
void awaitProcessed()
Waits until this endpoint stops processing data (becomes quiescent).
Definition DXEndpoint.cpp:211
State
Represents the current state of endpoint.
Definition DXEndpoint.hpp:451
@ CLOSED
Endpoint was closed.
Definition DXEndpoint.hpp:471
@ CONNECTING
The connect method was called to establish connection to remove endpoint, but connection is not actua...
Definition DXEndpoint.hpp:461
@ CONNECTED
The connection to remote endpoint is established.
Definition DXEndpoint.hpp:466
@ NOT_CONNECTED
Endpoint was created by is not connected to remote endpoints.
Definition DXEndpoint.hpp:455
void disconnectAndClear()
Terminates all remote network connections and clears stored data.
Definition DXEndpoint.cpp:195
void reconnect()
Terminates all established network connections and initiates connecting again with the same address.
Definition DXEndpoint.cpp:179
static std::shared_ptr< DXEndpoint > create()
Creates an endpoint with FEED role.
Definition DXEndpoint.cpp:468
void removeStateChangeListener(std::size_t listenerId) noexcept
Removes listener that is notified about changes in state property.
Definition DXEndpoint.cpp:496
const std::string & getName() const &noexcept
Definition DXEndpoint.cpp:492
Role
Represents the role of endpoint that was specified during its creation.
Definition DXEndpoint.hpp:380
@ PUBLISHER
PUBLISHER endpoint connects to the remote publisher hub (also known as multiplexor) or creates a publ...
Definition DXEndpoint.hpp:425
@ STREAM_FEED
STREAM_FEED endpoint is similar to DXEndpoint::FEED and also connects to the remote data feed provide...
Definition DXEndpoint.hpp:413
@ LOCAL_HUB
LOCAL_HUB endpoint is a local hub without ability to establish network connections.
Definition DXEndpoint.hpp:441
@ ON_DEMAND_FEED
ON_DEMAND_FEED endpoint is similar to DXEndpoint::FEED, but it is designed to be used with OnDemandSe...
Definition DXEndpoint.hpp:404
@ STREAM_PUBLISHER
STREAM_PUBLISHER endpoint is similar to DXEndpoint::PUBLISHER and also connects to the remote publish...
Definition DXEndpoint.hpp:434
@ FEED
FEED endpoint connects to the remote data feed provider and is optimized for real-time or delayed dat...
Definition DXEndpoint.hpp:391
std::string toString() const override
Returns a string representation of the current object.
Definition DXEndpoint.cpp:371
std::shared_ptr< DXFeed > getFeed()
Definition DXEndpoint.cpp:227
static const std::string DXFEED_WILDCARD_ENABLE_PROPERTY
"dxfeed.wildcard.enable"
Definition DXEndpoint.hpp:281
std::size_t addStateChangeListener(std::function< void(State, State)> listener) noexcept
Adds listener that is notified about changes in state property.
Definition DXEndpoint.hpp:628
static const std::string DXENDPOINT_EVENT_TIME_PROPERTY
"dxendpoint.eventTime"
Definition DXEndpoint.hpp:326
static const std::string DXPUBLISHER_THREAD_POOL_SIZE_PROPERTY
"dxpublisher.threadPoolSize"
Definition DXEndpoint.hpp:309
std::shared_ptr< DXEndpoint > connect(const std::string &address)
Connects to the specified remote address.
Definition DXEndpoint.cpp:168
State getState() const
Returns the state of this endpoint.
Definition DXEndpoint.cpp:150
static const std::string DXENDPOINT_STORE_EVERYTHING_PROPERTY
"dxendpoint.storeEverything"
Definition DXEndpoint.hpp:339
static std::shared_ptr< DXEndpoint > getInstance(Role role)
Returns a default application-wide singleton instance of DXEndpoint for a specific role.
Definition DXEndpoint.cpp:452
std::shared_ptr< DXPublisher > getPublisher()
Definition DXEndpoint.cpp:235
static const std::string DXFEED_AGGREGATION_PERIOD_PROPERTY
"dxfeed.aggregationPeriod"
Definition DXEndpoint.hpp:272
std::shared_ptr< DXEndpoint > password(const std::string &password)
Changes password for this endpoint.
Definition DXEndpoint.cpp:161
void close()
Closes this endpoint.
Definition DXEndpoint.cpp:504
static const std::string DXFEED_THREAD_POOL_SIZE_PROPERTY
"dxfeed.threadPoolSize"
Definition DXEndpoint.hpp:262
void awaitNotConnected()
Waits while this endpoint state becomes NOT_CONNECTED or CLOSED.
Definition DXEndpoint.cpp:203
void closeAndAwaitTermination()
Closes this endpoint and wait until all pending data processing tasks are completed.
Definition DXEndpoint.cpp:219
std::shared_ptr< DXEndpoint > user(const std::string &user)
Changes user name for this endpoint.
Definition DXEndpoint.cpp:154
static std::shared_ptr< DXEndpoint > getInstance()
Returns a default application-wide singleton instance of DXEndpoint with a FEED role.
Definition DXEndpoint.cpp:444
static const std::string DXPUBLISHER_ADDRESS_PROPERTY
"dxpublisher.address"
Definition DXEndpoint.hpp:300
static const std::string DXFEED_USER_PROPERTY
"dxfeed.user"
Definition DXEndpoint.hpp:243
static const std::string NAME_PROPERTY
"name"
Definition DXEndpoint.hpp:203
static const std::string DXSCHEME_ENABLED_PROPERTY_PREFIX
"dxscheme.enabled."
Definition DXEndpoint.hpp:373
static const std::string DXPUBLISHER_PROPERTIES_PROPERTY
"dxpublisher.properties"
Definition DXEndpoint.hpp:290
static const std::string DXSCHEME_NANO_TIME_PROPERTY
"dxscheme.nanoTime"
Definition DXEndpoint.hpp:359
static const std::string DXFEED_ADDRESS_PROPERTY
"dxfeed.address"
Definition DXEndpoint.hpp:233
Role getRole() const noexcept
Returns the role of this endpoint.
Definition DXEndpoint.cpp:484
static const std::string DXFEED_PROPERTIES_PROPERTY
"dxfeed.properties"
Definition DXEndpoint.hpp:214
static std::shared_ptr< Builder > newBuilder()
Creates new Builder instance.
Definition DXEndpoint.cpp:460
void disconnect()
Terminates all remote network connections.
Definition DXEndpoint.cpp:187
Main entry class for dxFeed API (read it first).
Definition DXFeed.hpp:116
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::int64_t fromTime) const
Returns time series of events for the specified event type, symbol, and a range of time (without an u...
Definition DXFeed.hpp:975
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(EventTypeIt begin, EventTypeIt end)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:462
std::shared_ptr< DXFeedSubscription > createSubscription(std::initializer_list< EventTypeEnum > eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.cpp:98
void detachSubscriptionAndClear(std::shared_ptr< DXFeedSubscription > subscription)
Detaches the given subscription from this feed and clears data delivered to this subscription by publ...
Definition DXFeed.cpp:67
std::shared_ptr< DXFeedSubscription > createSubscription(EventTypeIt begin, EventTypeIt end)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:356
std::shared_ptr< PromiseList< E > > getLastEventsPromises(std::initializer_list< SymbolWrapper > collection) const
Requests the last events for the specified event type and a collection of symbols.
Definition DXFeed.hpp:691
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(const EventTypeEnum &eventType)
Creates new subscription for a single event type that is attached to this feed.
Definition DXFeed.cpp:111
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::chrono::milliseconds fromTime, std::chrono::milliseconds toTime) const
Returns time series of events for the specified event type, symbol, and a range of time if there is a...
Definition DXFeed.hpp:959
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::int64_t fromTime, std::int64_t toTime) const
Returns time series of events for the specified event type, symbol, and a range of time if there is a...
Definition DXFeed.hpp:907
void attachSubscription(std::shared_ptr< DXFeedSubscription > subscription)
Attaches the given subscription to this feed.
Definition DXFeed.cpp:29
std::shared_ptr< Promise< std::vector< std::shared_ptr< E > > > > getTimeSeriesPromise(const SymbolWrapper &symbol, std::int64_t fromTime, std::int64_t toTime) const
Requests time series of events for the specified event type, symbol, and a range of time.
Definition DXFeed.hpp:855
std::shared_ptr< E > getLastEventIfSubscribed(const SymbolWrapper &symbol)
Returns the last event for the specified event type and symbol if there is a subscription for it.
Definition DXFeed.hpp:305
std::shared_ptr< PromiseList< E > > getLastEventsPromises(SymbolsCollection &&collection) const
Requests the last events for the specified event type and a collection of symbols.
Definition DXFeed.hpp:649
std::shared_ptr< DXFeedSubscription > createSubscription(EventTypesCollection &&eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:403
std::shared_ptr< DXFeedSubscription > createSubscription(const EventTypeEnum &eventType)
Creates new subscription for a single event type that is attached to this feed.
Definition DXFeed.cpp:86
std::vector< std::shared_ptr< E > > getTimeSeriesIfSubscribed(const SymbolWrapper &symbol, std::chrono::milliseconds fromTime) const
Returns time series of events for the specified event type, symbol, and a range of time (without an u...
Definition DXFeed.hpp:990
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(EventTypesCollection &&eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.hpp:524
static std::shared_ptr< DXFeed > getInstance()
Returns a default application-wide singleton instance of feed.
Definition DXFeed.cpp:21
void detachSubscription(std::shared_ptr< DXFeedSubscription > subscription)
Detaches the given subscription from this feed.
Definition DXFeed.cpp:48
std::shared_ptr< E > getLastEvent(std::shared_ptr< E > event)
Returns the last event for the specified event instance.
Definition DXFeed.hpp:245
std::shared_ptr< PromiseList< E > > getLastEventsPromises(SymbolIt begin, SymbolIt end) const
Requests the last events for the specified event type and a collection of symbols.
Definition DXFeed.hpp:603
std::shared_ptr< Promise< std::shared_ptr< E > > > getLastEventPromise(const SymbolWrapper &symbol) const
Requests the last event for the specified event type and symbol.
Definition DXFeed.hpp:558
std::shared_ptr< DXFeedTimeSeriesSubscription > createTimeSeriesSubscription(std::initializer_list< EventTypeEnum > eventTypes)
Creates new subscription for multiple event types that is attached to this feed.
Definition DXFeed.cpp:132
std::string toString() const override
Returns a string representation of the current object.
Definition DXFeed.cpp:217
std::shared_ptr< Promise< std::vector< std::shared_ptr< E > > > > getIndexedEventsPromise(const SymbolWrapper &symbol, const IndexedEventSource &source) const
Requests a container of indexed events for the specified event type, symbol, and source.
Definition DXFeed.hpp:744
std::vector< std::shared_ptr< E > > getIndexedEventsIfSubscribed(const SymbolWrapper &symbol, const IndexedEventSource &source) const
Returns a vector of indexed events for the specified event type, symbol, and source if there is a sub...
Definition DXFeed.hpp:800
const Collection & getLastEvents(const Collection &events)
Returns the last events for the specified list of event instances.
Definition DXFeed.hpp:266
Provides API for publishing of events to local or remote DXFeed.
Definition DXPublisher.hpp:62
std::shared_ptr< ObservableSubscription > getSubscription(const EventTypeEnum &eventType)
Returns observable set of subscribed symbols for the specified event type.
Definition DXPublisher.cpp:43
void publishEvents(std::initializer_list< std::shared_ptr< EventType > > events) noexcept
Publishes events to the corresponding feed.
Definition DXPublisher.hpp:184
void publishEvents(EventIt begin, EventIt end)
Publishes events to the corresponding feed.
Definition DXPublisher.hpp:204
std::string toString() const override
Returns a string representation of the current object.
Definition DXPublisher.cpp:58
static std::shared_ptr< DXPublisher > getInstance()
Returns a default application-wide singleton instance of DXPublisher.
Definition DXPublisher.cpp:20
void publishEvents(EventsCollection &&events) noexcept
Publishes events to the corresponding feed.
Definition DXPublisher.hpp:166
void publishEvents(std::shared_ptr< EventType > event) noexcept
Publishes an event to the corresponding feed.
Definition DXPublisher.hpp:193
Base abstract class for all dxFeed C++ API entities.
Definition Entity.hpp:13
virtual ~Entity() noexcept=default
The default virtual d-tor.
Mixin for wrapping Promise method calls for a single event.
Definition Promise.hpp:236
std::shared_ptr< E > getResult() const
Returns result of computation.
Definition Promise.hpp:244
std::shared_ptr< E > await() const
Wait for computation to complete and return its result or throw an exception in case of exceptional c...
Definition Promise.hpp:254
std::shared_ptr< E > await(const std::chrono::milliseconds &timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:284
std::shared_ptr< E > await(std::int32_t timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:269
bool isOrderSource() const noexcept
Definition EventSourceWrapper.hpp:242
std::unique_ptr< void, decltype(&EventSourceWrapper::freeGraal)> toGraalUnique() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition EventSourceWrapper.hpp:200
std::string toStringUnderlying() const
Returns a string representation of the underlying object.
Definition EventSourceWrapper.hpp:224
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition EventSourceWrapper.hpp:163
std::string toString() const
Returns a string representation of the current object.
Definition EventSourceWrapper.hpp:209
void * toGraal() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition EventSourceWrapper.hpp:184
static EventSourceWrapper fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition EventSourceWrapper.cpp:40
const DataType & getData() const noexcept
Definition EventSourceWrapper.hpp:266
EventSourceWrapper(const IndexedEventSource &data) noexcept
Constructs a wrapper from IndexedEventSource.
Definition EventSourceWrapper.hpp:145
bool isIndexedEventSource() const noexcept
Definition EventSourceWrapper.hpp:235
std::optional< IndexedEventSource > asIndexedEventSource() const noexcept
Definition EventSourceWrapper.hpp:250
std::optional< OrderSource > asOrderSource() const noexcept
Definition EventSourceWrapper.hpp:259
EventSourceWrapper(const OrderSource &data) noexcept
Constructs a wrapper from OrderSource.
Definition EventSourceWrapper.hpp:153
Event type parametrized by a symbol.
Definition EventType.hpp:116
virtual const std::optional< Symbol > & getEventSymbolOpt() const &noexcept=0
Returns event symbol that identifies this event type in subscription.
virtual void setEventSymbol(const Symbol &eventSymbol) noexcept=0
Changes event symbol that identifies this event type in subscription.
virtual const Symbol & getEventSymbol() const &noexcept=0
Returns event symbol that identifies this event type in subscription.
Marks all event types that can be received via dxFeed API.
Definition EventType.hpp:31
std::string toString() const override
Returns a string representation of the current object.
Definition EventType.hpp:89
virtual std::int64_t getEventTime() const noexcept
Returns time when event was created or zero when time is not available.
Definition EventType.hpp:54
virtual void assign(std::shared_ptr< EventType > event)
Replaces the contents of the event.
Definition EventType.hpp:84
virtual void * toGraal() const =0
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
virtual void setEventTime(std::int64_t) noexcept
Changes event creation time.
Definition EventType.hpp:66
This marker interface marks subscription symbol classes (like TimeSeriesSubscriptionSymbol) that atta...
Definition FilteredSubscriptionSymbol.hpp:27
The wrapper over CEntryPointErrorsEnum, the error code returned by GraalVM.
Definition GraalException.hpp:22
GraalException(CEntryPointErrorsEnum entryPointErrorsEnum)
Constructs an exception.
Definition GraalException.cpp:10
void handle(ArgTypes... args)
Calls the listeners and pass the args to them.
Definition Handler.hpp:123
std::size_t add(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:157
std::size_t operator%=(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group).
Definition Handler.hpp:209
std::size_t operator+=(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:198
void operator()(ArgTypes... args)
Calls the listeners and pass the ars to them.
Definition Handler.hpp:147
Handler(std::size_t mainFuturesSize=MAIN_FUTURES_DEFAULT_SIZE) noexcept
Creates the new handler by specified size of circular buffer of futures.
Definition Handler.hpp:85
void operator-=(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:237
std::size_t addLowPriority(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group) It will be called after the "main" liste...
Definition Handler.hpp:178
void remove(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:218
Represents an indexed collection of up-to-date information about some condition or state of an extern...
Definition IndexedEvent.hpp:41
Thrown to indicate that a method has been passed an illegal or inappropriate argument.
Definition InvalidArgumentException.hpp:21
A wrapper over the interceptable Java exceptions thrown by the dxFeed Native Graal SDK.
Definition JavaException.hpp:24
JavaException(const StringLikeWrapper &message, const StringLikeWrapper &className, const StringLikeWrapper &stackTrace)
Creates an exception using Java message, className and stack trace.
Definition JavaException.cpp:12
static void throwIfJavaThreadExceptionExists()
Throws a JavaException if it exists (i.e. intercepted by Graal SDK)
Definition JavaException.cpp:30
static JavaException create(void *exceptionHandle)
Creates an exception using native (GraalVM) Java exception handle.
Definition JavaException.cpp:20
Represents up-to-date information about some condition or state of an external entity that updates in...
Definition LastingEvent.hpp:28
Helper class to compose and parse symbols for market events.
Definition MarketEventSymbols.hpp:39
static bool hasExchangeCode(const std::string &symbol) noexcept
Returns true is the specified symbol has the exchange code specification.
Definition MarketEventSymbols.hpp:46
static DXFCPP_CXX20_CONSTEXPR_STRING std::string changeBaseSymbol(const std::string &symbol, const std::string &baseSymbol) noexcept
Changes base symbol while leaving exchange code and attributes intact.
Definition MarketEventSymbols.hpp:91
static DXFCPP_CXX20_CONSTEXPR_STRING std::string changeExchangeCode(const std::string &symbol, char exchangeCode) noexcept
Changes exchange code of the specified symbol or removes it if new exchange code is ‘’\0'`.
Definition MarketEventSymbols.hpp:67
static DXFCPP_CXX20_CONSTEXPR_STRING std::string getBaseSymbol(const std::string &symbol) noexcept
Returns base symbol without exchange code and attributes.
Definition MarketEventSymbols.hpp:81
static DXFCPP_CXX20_CONSTEXPR_STRING std::optional< std::string > getAttributeStringByKey(const std::string &symbol, const std::string &key) noexcept
Returns value of the attribute with the specified key.
Definition MarketEventSymbols.hpp:110
static DXFCPP_CXX20_CONSTEXPR_STRING std::string removeAttributeStringByKey(const std::string &symbol, const std::string &key) noexcept
Removes one attribute with the specified key while leaving exchange code and other attributes intact.
Definition MarketEventSymbols.hpp:139
static DXFCPP_CXX20_CONSTEXPR_STRING std::string changeAttributeStringByKey(const std::string &symbol, const std::string &key, const std::string &value) noexcept
Changes value of one attribute value while leaving exchange code and other attributes intact.
Definition MarketEventSymbols.hpp:124
static char getExchangeCode(const std::string &symbol) noexcept
Returns exchange code of the specified symbol or ‘’\0'` if none is defined.
Definition MarketEventSymbols.hpp:56
Base class for all market events.
Definition MarketEvent.hpp:25
Observable set of subscription symbols.
Definition ObservableSubscription.hpp:25
virtual std::size_t addChangeListener(std::shared_ptr< ObservableSubscriptionChangeListener > listener)=0
Adds subscription change listener.
virtual bool containsEventType(const EventTypeEnum &eventType)=0
Returns true if this subscription contains the corresponding event type.
virtual void removeChangeListener(std::size_t id)=0
Removes subscription change listener by id.
virtual bool isClosed()=0
virtual std::unordered_set< EventTypeEnum > getEventTypes()=0
Provides on-demand historical tick data replay controls.
Definition OnDemandService.hpp:76
A list of event receiving results that will be completed normally or exceptionally in the future.
Definition Promise.hpp:424
Result of a computation that will be completed normally or exceptionally in the future.
Definition Promise.hpp:350
Utility methods to manipulate promises.
Definition Promises.hpp:20
A helper class needed to construct smart pointers to objects, and does not allow explicit constructio...
Definition SharedEntity.hpp:89
static auto createShared(Args &&...args)
Creates smart pointer to object.
Definition SharedEntity.hpp:103
A runtime axception with stacktrace.
Definition RuntimeException.hpp:20
RuntimeException(const StringLikeWrapper &message, const StringLikeWrapper &additionalStackTrace="")
Constructs a runtime exception.
Definition RuntimeException.cpp:71
const std::string & getStackTrace() const &
Definition RuntimeException.cpp:85
static const SessionFilter TRADING
Accepts trading sessions only - those with (Session::isTrading() == true).
Definition SessionFilter.hpp:33
static const SessionFilter ANY
Accepts any session - useful for pure schedule navigation.
Definition SessionFilter.hpp:32
static const SessionFilter AFTER_MARKET
Accepts any session with type SessionType::AFTER_MARKET.
Definition SessionFilter.hpp:41
static const SessionFilter REGULAR
Accepts any session with type SessionType::REGULAR.
Definition SessionFilter.hpp:40
SessionFilter(SessionFilterEnum code, std::string name, std::optional< SessionType > type, std::optional< bool > trading) noexcept
Creates filter with specified type and trading flag conditions.
Definition CandleSession.cpp:17
static const SessionFilter NO_TRADING
Accepts any session with type SessionType::NO_TRADING.
Definition SessionFilter.hpp:36
static const SessionFilter NON_TRADING
Accepts non-trading sessions only - those with (Session::isTrading() == false).
Definition SessionFilter.hpp:34
static const SessionFilter PRE_MARKET
Accepts any session with type SessionType::PRE_MARKET.
Definition SessionFilter.hpp:38
bool accept(Session session) const noexcept
Tests whether or not the specified session is an acceptable result.
Definition SessionFilter.hpp:104
std::optional< bool > trading_
Required trading flag, std::nullopt if not relevant.
Definition SessionFilter.hpp:70
std::optional< SessionType > type_
Required type, std::nullopt if not relevant.
Definition SessionFilter.hpp:68
Defines type of session - what kind of trading activity is allowed (if any), what rules are used,...
Definition SessionType.hpp:33
static const SessionType AFTER_MARKET
After-market session type marks extended trading session after regular trading hours.
Definition SessionType.hpp:15
static const SessionType PRE_MARKET
Pre-market session type marks extended trading session before regular trading hours.
Definition SessionType.hpp:13
static const SessionType REGULAR
Regular session type marks regular trading hours session.
Definition SessionType.hpp:14
static const SessionType NO_TRADING
Non-trading session type is used to mark periods of time during which trading is not allowed.
Definition SessionType.hpp:12
bool isTrading() const noexcept
Returns true if trading activity is allowed for this type of session.
Definition SessionType.hpp:70
Base abstract "shared entity" class. Has some helpers for dynamic polymorphism.
Definition SharedEntity.hpp:21
virtual std::string toString() const
Returns a string representation of the current object.
Definition SharedEntity.hpp:78
std::shared_ptr< T > sharedAs() const noexcept
Returns a pointer to the current object wrapped in a smart pointer to type T.
Definition SharedEntity.hpp:69
std::shared_ptr< T > sharedAs() noexcept
Returns a pointer to the current object wrapped in a smart pointer to type T.
Definition SharedEntity.hpp:56
bool is() const noexcept
Checks that pointer to the current type could be converted to type T* In other words: whether type T ...
Definition SharedEntity.hpp:35
std::size_t operator+=(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:378
void remove(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:398
void handle(ArgTypes... args)
Calls the listeners and pass the args to them.
Definition Handler.hpp:316
void operator()(ArgTypes... args)
Calls the listeners and pass the ars to them.
Definition Handler.hpp:327
SimpleHandler() noexcept=default
Creates the new handler.
std::size_t addLowPriority(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group) It will be called after the "main" liste...
Definition Handler.hpp:358
void operator-=(std::size_t id)
Removes a listener by the id.
Definition Handler.hpp:417
std::size_t operator%=(ListenerType &&listener)
Adds the low priority listener (to the "low priority" group).
Definition Handler.hpp:389
std::size_t add(ListenerType &&listener)
Adds the listener to "main" group.
Definition Handler.hpp:337
Universal functional object that allows searching std::unordered_map for string-like keys.
Definition Common.hpp:911
A simple wrapper around strings or something similar to strings to reduce the amount of code for meth...
Definition Common.hpp:794
StringSymbol(std::string_view stringView) noexcept
Constructs StringSymbol from a std::string_view.
Definition StringSymbol.hpp:53
StringSymbol(const char *chars) noexcept
Constructs StringSymbol from a char array.
Definition StringSymbol.hpp:40
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition StringSymbol.cpp:54
std::string toString() const
Returns a string representation of the current object.
Definition StringSymbol.hpp:100
static StringSymbol fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition StringSymbol.cpp:69
void * toGraal() const
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition StringSymbol.cpp:44
std::optional< CandleSymbol > asCandleSymbol() const noexcept
Definition SymbolWrapper.hpp:382
SymbolWrapper(Symbol &&symbol) noexcept
Constructor for any wrapped symbol.
Definition SymbolWrapper.hpp:158
bool isIndexedEventSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:340
std::string toString() const
Returns a string representation of the current object.
Definition SymbolWrapper.hpp:286
static SymbolWrapper fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition SymbolWrapper.cpp:79
std::string toStringUnderlying() const
Returns a string representation of the underlying object.
Definition SymbolWrapper.hpp:301
std::unique_ptr< void, decltype(&SymbolWrapper::freeGraal)> toGraalUnique() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition SymbolWrapper.hpp:277
bool isStringSymbol() const noexcept
Definition SymbolWrapper.hpp:312
std::optional< IndexedEventSubscriptionSymbol > asIndexedEventSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:348
bool isWildcardSymbol() const noexcept
Definition SymbolWrapper.hpp:326
void * toGraal() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition SymbolWrapper.hpp:258
SymbolWrapper(const IndexedEventSubscriptionSymbol &indexedEventSubscriptionSymbol) noexcept
Constructor for IndexedEventSubscriptionSymbol.
Definition SymbolWrapper.hpp:197
const DataType & getData() const noexcept
Definition SymbolWrapper.hpp:389
std::string asStringSymbol() const noexcept
Definition SymbolWrapper.hpp:319
SymbolWrapper(const StringSymbol &stringSymbol) noexcept
Constructor for any wrapped string symbol.
Definition SymbolWrapper.hpp:171
std::optional< WildcardSymbol > asWildcardSymbol() const noexcept
Definition SymbolWrapper.hpp:333
SymbolWrapper(const CandleSymbol &candleSymbol) noexcept
Constructor for CandleSymbol.
Definition SymbolWrapper.hpp:225
SymbolWrapper(const WildcardSymbol &wildcardSymbol) noexcept
Constructor for any wrapped wildcard (*) symbol.
Definition SymbolWrapper.hpp:184
bool isTimeSeriesSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:357
SymbolWrapper(const TimeSeriesSubscriptionSymbol &timeSeriesSubscriptionSymbol) noexcept
Constructor for TimeSeriesSubscriptionSymbol.
Definition SymbolWrapper.hpp:211
bool isCandleSymbol() const noexcept
Definition SymbolWrapper.hpp:374
std::optional< TimeSeriesSubscriptionSymbol > asTimeSeriesSubscriptionSymbol() const noexcept
Definition SymbolWrapper.hpp:365
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition SymbolWrapper.cpp:42
Value class for period of time with support for ISO8601 duration format.
Definition TimePeriod.hpp:19
static TimePeriod valueOf(std::chrono::milliseconds value)
Returns TimePeriod with value milliseconds.
Definition TimePeriod.hpp:42
static TimePeriod valueOf(const StringLikeWrapper &value)
Returns TimePeriod represented with a given string.
Definition TimePeriod.cpp:31
std::int64_t getNanos() const
Returns value in nanoseconds.
Definition TimePeriod.cpp:47
static const TimePeriod ZERO
Time-period of zero.
Definition TimePeriod.hpp:23
std::int32_t getSeconds() const
Returns value in seconds.
Definition TimePeriod.cpp:41
std::int64_t getTime() const
Returns value in milliseconds.
Definition TimePeriod.cpp:35
static const TimePeriod UNLIMITED
Time-period of "infinity" (time of std::numeric_limits<std::int64_t>::max() or LLONG_MAX).
Definition TimePeriod.hpp:26
static TimePeriod valueOf(std::int64_t value)
Returns TimePeriod with value milliseconds.
Definition TimePeriod.cpp:27
Represents time-series snapshots of some process that is evolving in time or actual events in some ex...
Definition TimeSeriesEvent.hpp:81
Mixin for wrapping Promise method calls for a void.
Definition Promise.hpp:177
void await(std::int32_t timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:209
void await(const std::chrono::milliseconds &timeoutInMilliseconds) const &
Wait for computation to complete or timeout and return its result or throw an exception in case of ex...
Definition Promise.hpp:224
void await() const
Wait for computation to complete and return its result or throw an exception in case of exceptional c...
Definition Promise.hpp:194
void getResult() const
Returns result of computation.
Definition Promise.hpp:184
static void freeGraal(void *graalNative)
Releases the memory occupied by the dxFeed Graal SDK structure (recursively if necessary).
Definition WildcardSymbol.cpp:25
static const WildcardSymbol & fromGraal(void *graalNative)
Creates an object of the current type and fills it with data from the the dxFeed Graal SDK structure.
Definition WildcardSymbol.cpp:31
void * toGraal() const noexcept
Allocates memory for the dxFeed Graal SDK structure (recursively if necessary).
Definition WildcardSymbol.cpp:15
static const WildcardSymbol ALL
Represents [wildcard] subscription to all events of the specific event type.
Definition WildcardSymbol.hpp:13
std::string toString() const
Returns string representation of this wildcard subscription symbol.
Definition WildcardSymbol.hpp:94
static const std::string RESERVED_PREFIX
Symbol prefix that is reserved for wildcard subscriptions.
Definition WildcardSymbol.hpp:28
The simple key-value structure that represents an endpoint's property.
Definition api.h:184
const char * key
The property's key.
Definition api.h:186
const char * value
The property's value.
Definition api.h:188