dxFeed Graal CXX API
|
Subscription for a set of symbols and event types. More...
#include <DXFeedSubscription.hpp>
Public Types | |
using | Ptr = std::shared_ptr<DXFeedSubscription> |
The alias to a type of shared pointer to the DXFeedSubscription object. | |
using | Unique = std::unique_ptr<DXFeedSubscription> |
The alias to a type of unique pointer to the DXFeedSubscription object. | |
Public Types inherited from dxfcpp::SharedEntity | |
using | Ptr = std::shared_ptr<SharedEntity> |
The alias to a type of shared pointer to the SharedEntity object. | |
Public Member Functions | |
std::string | toString () const noexcept override |
Returns a string representation of the current object. | |
void | attach (std::shared_ptr< DXFeed > feed) noexcept |
Attaches subscription to the specified feed. | |
void | detach (std::shared_ptr< DXFeed > feed) noexcept |
Detaches subscription from the specified feed. | |
void | close () noexcept |
Closes this subscription and makes it permanently detached. | |
template<typename EventListener > | |
std::size_t | addEventListener (EventListener &&listener) noexcept |
Adds listener for events. | |
template<typename EventT > | |
std::size_t | addEventListener (std::function< void(const std::vector< std::shared_ptr< EventT > > &)> &&listener) noexcept |
Adds typed listener for events. | |
void | removeEventListener (std::size_t listenerId) noexcept |
Removes listener for events. | |
auto & | onEvent () noexcept |
Returns a reference to an incoming events' handler (delegate), to which listeners can be added and removed. | |
void | addSymbols (const SymbolWrapper &symbolWrapper) const noexcept |
Adds the specified symbol to the set of subscribed symbols. | |
void | removeSymbols (const SymbolWrapper &symbolWrapper) const noexcept |
Removes the specified symbol from the set of subscribed symbols. | |
template<typename SymbolIt > | |
void | addSymbols (SymbolIt begin, SymbolIt end) const noexcept |
Adds the specified collection (using iterators) of symbols to the set of subscribed symbols. | |
template<ConvertibleToSymbolWrapperCollection SymbolsCollection> | |
void | addSymbols (const SymbolsCollection &collection) const noexcept |
Adds the specified collection of symbols to the set of subscribed symbols. | |
void | addSymbols (std::initializer_list< SymbolWrapper > collection) const noexcept |
Adds the specified collection (initializer list) of symbols to the set of subscribed symbols. | |
template<typename SymbolIt > | |
void | removeSymbols (SymbolIt begin, SymbolIt end) const noexcept |
Removes the specified collection (using iterators) of symbols from the set of subscribed symbols. | |
template<ConvertibleToSymbolWrapperCollection SymbolsCollection> | |
void | removeSymbols (SymbolsCollection &&collection) const noexcept |
Removes the specified collection of symbols from the set of subscribed symbols. | |
void | removeSymbols (std::initializer_list< SymbolWrapper > collection) const noexcept |
Removes the specified collection (initializer list) of symbols from the set of subscribed symbols. | |
template<typename SymbolIt > | |
void | setSymbols (SymbolIt begin, SymbolIt end) const noexcept |
Changes the set of subscribed symbols so that it contains just the symbols from the specified collection (using iterators). | |
template<ConvertibleToSymbolWrapperCollection SymbolsCollection> | |
void | setSymbols (SymbolsCollection &&collection) const noexcept |
Changes the set of subscribed symbols so that it contains just the symbols from the specified collection. | |
void | setSymbols (std::initializer_list< SymbolWrapper > collection) const noexcept |
Changes the set of subscribed symbols so that it contains just the symbols from the specified collection (initializer list). | |
void | clear () const noexcept |
Clears the set of subscribed symbols. | |
bool | isClosed () const noexcept |
Returns true if this subscription is closed. | |
const std::unordered_set< EventTypeEnum > & | getEventTypes () const noexcept |
Returns a set of subscribed event types. | |
bool | containsEventType (const EventTypeEnum &eventType) const noexcept |
Returns true if this subscription contains the corresponding event type. | |
std::vector< SymbolWrapper > | getSymbols () const noexcept |
Returns a set of subscribed symbols (depending on the actual implementation of subscription). | |
std::vector< SymbolWrapper > | getDecoratedSymbols () noexcept |
Returns a set of decorated symbols (depending on the actual implementation of subscription). | |
Public Member Functions inherited from dxfcpp::SharedEntity | |
template<typename T > | |
bool | is () const noexcept |
Checks that pointer to the current type could be converted to type T* In other words: whether type T belongs to the type hierarchy in which the current type resides. | |
template<typename T > | |
std::shared_ptr< T > | sharedAs () noexcept |
Returns a pointer to the current object wrapped in a smart pointer to type T. | |
template<typename T > | |
std::shared_ptr< T > | sharedAs () const noexcept |
Returns a pointer to the current object wrapped in a smart pointer to type T. | |
Public Member Functions inherited from dxfcpp::Entity | |
virtual | ~Entity () noexcept=default |
The default virtual d-tor. | |
Static Public Member Functions | |
static std::shared_ptr< DXFeedSubscription > | create (const EventTypeEnum &eventType) noexcept |
Creates detached subscription for a single event type. | |
template<typename EventTypeIt > | |
static std::shared_ptr< DXFeedSubscription > | create (EventTypeIt begin, EventTypeIt end) noexcept |
Creates detached subscription for the given collection of event types. | |
static std::shared_ptr< DXFeedSubscription > | create (std::initializer_list< EventTypeEnum > eventTypes) noexcept |
Creates detached subscription for the given collection of event types. | |
template<typename EventTypesCollection > | |
static std::shared_ptr< DXFeedSubscription > | create (EventTypesCollection &&eventTypes) noexcept |
Creates detached subscription for the given collection of event types. | |
Subscription for a set of symbols and event types.
|
inlinenoexcept |
Adds listener for events.
Event lister can be added only when subscription is not producing any events. The subscription must be either empty (its set of symbols is empty or not attached to any feed (its set of change listeners is empty).
This method does nothing if this subscription is closed.
Example:
EventListener | The listener type. Listener can be callable with signature: void(const std::vector<std::shared_ptr<EventType>&) |
listener | The event listener |
|
inlinenoexcept |
Adds typed listener for events.
Event lister can be added only when subscription is not producing any events. The subscription must be either empty (its set of symbols is empty or not attached to any feed (its set of change listeners is empty).
This method does nothing if this subscription is closed.
Example:
EventT | The event type (EventType's child with field TYPE, convertible to EventTypeEnum or MarketEvent or LastingEvent or TimeSeriesEvent or IndexedEvent) |
listener | The listener. Listener can be callable with signature: void(const std::vector<std::shared_ptr<EventT>&) |
|
inlinenoexcept |
Adds the specified collection of symbols to the set of subscribed symbols.
Example:
SymbolsCollection | The symbols collection's type |
collection | The symbols collection |
|
inlinenoexcept |
Adds the specified symbol to the set of subscribed symbols.
This is a convenience method to subscribe to one symbol at a time that has a return fast-path for a case when the symbol is already in the set. When subscribing to multiple symbols at once it is preferable to use addSymbols(symbols) method.
Example:
symbolWrapper | The symbol. |
|
inlinenoexcept |
Adds the specified collection (using iterators) of symbols to the set of subscribed symbols.
Example:
SymbolIt | The collection's iterator type |
begin | The beginning of the collection of symbols. |
end | The end of symbol collection. |
Attaches subscription to the specified feed.
feed | The feed to attach to. |
|
inlinenoexcept |
Closes this subscription and makes it permanently detached.
This method notifies all installed instances of subscription change listeners by invoking subscriptionClosed
while holding the lock for this subscription. This method clears lists of all installed event listeners and subscription change listeners and makes sure that no more listeners can be added.
|
inlinenoexcept |
Returns true
if this subscription contains the corresponding event type.
true
if this subscription contains the corresponding event type.
|
inlinestaticnoexcept |
Creates detached subscription for a single event type.
Example:
eventType | the event type. |
|
inlinestaticnoexcept |
Creates detached subscription for the given collection of event types.
Example:
EventTypeIt | The collection's iterator type |
begin | The beginning of the collection of event types. |
end | The end of event type collection. |
|
inlinestaticnoexcept |
Creates detached subscription for the given collection of event types.
Example:
EventTypesCollection | The type of the collection of event types |
eventTypes | The event type collection. |
|
inlinestaticnoexcept |
Creates detached subscription for the given collection of event types.
Example:
eventTypes | The event type collection. |
Detaches subscription from the specified feed.
feed | The feed to detach from. |
|
inlinenoexcept |
Returns a set of decorated symbols (depending on the actual implementation of subscription).
The resulting set maybe either a snapshot of the set of the subscribed symbols at the time of invocation or a weakly consistent view of the set.
|
inlinenoexcept |
Returns a set of subscribed event types.
|
inlinenoexcept |
Returns a set of subscribed symbols (depending on the actual implementation of subscription).
The resulting set maybe either a snapshot of the set of the subscribed symbols at the time of invocation or a weakly consistent view of the set.
|
inlinenoexcept |
Returns true
if this subscription is closed.
true
if this subscription is closed.
|
inlinenoexcept |
Returns a reference to an incoming events' handler (delegate), to which listeners can be added and removed.
Listener can be callable with signature: void(const std::vector<std::shared_ptr<EventType>&)
Example:
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Removes the specified collection (using iterators) of symbols from the set of subscribed symbols.
Example:
SymbolIt | The collection's iterator type |
begin | The beginning of the collection of symbols. |
end | The end of symbol collection. |
|
inlinenoexcept |
Removes the specified collection of symbols from the set of subscribed symbols.
Example:
SymbolsCollection | The symbols collection's type |
collection | The symbols collection |
|
inlinenoexcept |
Changes the set of subscribed symbols so that it contains just the symbols from the specified collection (using iterators).
Example:
SymbolIt | The collection's iterator type |
begin | The beginning of the collection of symbols. |
end | The end of symbol collection. |
|
inlinenoexcept |
Changes the set of subscribed symbols so that it contains just the symbols from the specified collection.
Example:
SymbolsCollection | The symbols collection's type |
collection | The symbols collection |
|
overridevirtualnoexcept |
Returns a string representation of the current object.
Reimplemented from dxfcpp::SharedEntity.