#include "core/internal/offline_service_controller.h" #include namespace location { namespace nearby { namespace connections { template OfflineServiceController::OfflineServiceController() : ServiceController(), medium_manager_(new MediumManager()), endpoint_channel_manager_( new EndpointChannelManager(medium_manager_.get())), endpoint_manager_( new EndpointManager(endpoint_channel_manager_.get())), payload_manager_(new PayloadManager(endpoint_manager_.get())), bandwidth_upgrade_manager_(new BandwidthUpgradeManager( medium_manager_.get(), endpoint_channel_manager_.get(), endpoint_manager_.get())), pcp_manager_(new PCPManager( medium_manager_.get(), endpoint_channel_manager_.get(), endpoint_manager_.get(), bandwidth_upgrade_manager_.get())) {} template OfflineServiceController::~OfflineServiceController() {} template Status::Value OfflineServiceController::startAdvertising( Ptr > client_proxy, const string& endpoint_name, const string& service_id, const AdvertisingOptions& advertising_options, Ptr connection_lifecycle_listener) { return pcp_manager_->startAdvertising(client_proxy, endpoint_name, service_id, advertising_options, connection_lifecycle_listener); } template void OfflineServiceController::stopAdvertising( Ptr > client_proxy) { pcp_manager_->stopAdvertising(client_proxy); } template Status::Value OfflineServiceController::startDiscovery( Ptr > client_proxy, const string& service_id, const DiscoveryOptions& discovery_options, Ptr discovery_listener) { return pcp_manager_->startDiscovery(client_proxy, service_id, discovery_options, discovery_listener); } template void OfflineServiceController::stopDiscovery( Ptr > client_proxy) { pcp_manager_->stopDiscovery(client_proxy); } template Status::Value OfflineServiceController::requestConnection( Ptr > client_proxy, const string& endpoint_name, const string& endpoint_id, Ptr connection_lifecycle_listener) { return pcp_manager_->requestConnection( client_proxy, endpoint_name, endpoint_id, connection_lifecycle_listener); } template Status::Value OfflineServiceController::acceptConnection( Ptr > client_proxy, const string& endpoint_id, Ptr payload_listener) { return pcp_manager_->acceptConnection(client_proxy, endpoint_id, payload_listener); } template Status::Value OfflineServiceController::rejectConnection( Ptr > client_proxy, const string& endpoint_id) { return pcp_manager_->rejectConnection(client_proxy, endpoint_id); } template void OfflineServiceController::initiateBandwidthUpgrade( Ptr > client_proxy, const string& endpoint_id) { bandwidth_upgrade_manager_->initiateBandwidthUpgradeForEndpoint( client_proxy, endpoint_id, pcp_manager_->getBandwidthUpgradeMedium()); } template void OfflineServiceController::sendPayload( Ptr > client_proxy, const std::vector& endpoint_ids, ConstPtr payload) { payload_manager_->sendPayload(client_proxy, endpoint_ids, payload); } template Status::Value OfflineServiceController::cancelPayload( Ptr > client_proxy, std::int64_t payload_id) { return payload_manager_->cancelPayload(client_proxy, payload_id); } template void OfflineServiceController::disconnectFromEndpoint( Ptr > client_proxy, const string& endpoint_id) { endpoint_manager_->unregisterEndpoint(client_proxy, endpoint_id); } } // namespace connections } // namespace nearby } // namespace location