Skip to content

Commit

Permalink
[EN-7588] Implement PublishProfiles sample
Browse files Browse the repository at this point in the history
IsolatedDXPublisherObservableSubscription
  • Loading branch information
ttldtor committed May 19, 2024
1 parent 32cc08c commit 15eca3d
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ DXFCXX_DISABLE_MSC_WARNINGS_PUSH(4251)
DXFCPP_BEGIN_NAMESPACE

class DXFCPP_EXPORT DXPublisherObservableSubscription : public ObservableSubscription, public SharedEntity {
JavaObjectHandle<DXPublisherObservableSubscription> handle_;

public:
bool isClosed() override;
std::unordered_set<EventTypeEnum> getEventTypes() override;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// Copyright (c) 2024 Devexperts LLC.
// SPDX-License-Identifier: MPL-2.0

#pragma once

#include "../../internal/Conf.hpp"

#include <unordered_set>

DXFCXX_DISABLE_MSC_WARNINGS_PUSH(4251)

#include "../../api/DXPublisherObservableSubscription.hpp"

DXFCPP_BEGIN_NAMESPACE

namespace isolated::api::IsolatedDXPublisherObservableSubscription {
/**
* Calls the Graal SDK function `dxfg_ObservableSubscription_isClosed` in isolation.
*
* @param sub The subscription's handle.
* @return Returns `true` if this subscription is closed.
* @throws std::invalid_argument if DXPublisherObservableSubscription's handle is invalid.
* @throws JavaException if something happened with the dxFeed API backend.
* @throws GraalException if something happened with the GraalVM.
*/
bool /* int32_t */
isClosed(/* dxfg_observable_subscription_t * */ const JavaObjectHandle<DXPublisherObservableSubscription> &sub);


std::unordered_set<EventTypeEnum> /* dxfg_event_clazz_list_t* */ getEventTypes(
/* dxfg_observable_subscription_t * */ const JavaObjectHandle<DXPublisherObservableSubscription> &sub);
bool /* int32_t */ containsEventType(
/* dxfg_observable_subscription_t * */ const JavaObjectHandle<DXPublisherObservableSubscription> &sub,
/* dxfg_event_clazz_t */ EventTypeEnum eventType);
void /* int32_t */ addChangeListener(
/* dxfg_observable_subscription_t * */ const JavaObjectHandle<DXPublisherObservableSubscription> &sub,
/* dxfg_observable_subscription_change_listener_t * */ const JavaObjectHandle<ObservableSubscriptionChangeListener>
&listener);
void /* int32_t */ removeChangeListener(
/* dxfg_observable_subscription_t * */ const JavaObjectHandle<DXPublisherObservableSubscription> &sub,
/* dxfg_observable_subscription_change_listener_t * */ const JavaObjectHandle<ObservableSubscriptionChangeListener>
&listener);
} // namespace isolated::api::IsolatedDXPublisherObservableSubscription

DXFCPP_END_NAMESPACE

DXFCXX_DISABLE_MSC_WARNINGS_POP()
1 change: 1 addition & 0 deletions src/internal/JavaObjectHandle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,6 @@ template struct JavaObjectHandle<DayFilter>;
template struct JavaObjectHandle<TimeFormat>;

template struct JavaObjectHandle<ObservableSubscriptionChangeListener>;
template struct JavaObjectHandle<DXPublisherObservableSubscription>;

DXFCPP_END_NAMESPACE

0 comments on commit 15eca3d

Please sign in to comment.