namespace DBus {
-DBusServiceRegistry::DBusServiceRegistry() :
- dbusServicesStatus_(AvailabilityStatus::UNKNOWN),
- serviceStatusEvent_(std::shared_ptr<DBusServiceRegistry>(this))
-{
-}
+DBusServiceRegistry::DBusServiceRegistry(std::shared_ptr<DBusProxyConnection> dbusProxyConnection):
+ dbusDaemonProxy_(std::make_shared<CommonAPI::DBus::DBusDaemonProxy>(dbusProxyConnection)),
+ dbusServicesStatus_(AvailabilityStatus::UNKNOWN) {
-DBusServiceRegistry::DBusServiceRegistry(std::shared_ptr<DBusDaemonProxy> dbusDaemonProxy) :
- dbusDaemonProxy_(dbusDaemonProxy),
- dbusServicesStatus_(AvailabilityStatus::UNKNOWN),
- serviceStatusEvent_(std::shared_ptr<DBusServiceRegistry>(this))
-{
dbusDaemonProxyStatusEventSubscription_ =
dbusDaemonProxy_->getProxyStatusEvent().subscribeCancellableListener(
std::bind(&DBusServiceRegistry::onDBusDaemonProxyStatusEvent, this, std::placeholders::_1));
return dbusServicesResolvedCount;
}
-DBusServiceStatusEvent& DBusServiceRegistry::getServiceStatusEvent() {
- return serviceStatusEvent_;
-}
DBusServiceRegistry::Subscription DBusServiceRegistry::subscribeAvailabilityListener(const std::string& commonApiAddress,
DBusServiceListener serviceListener) {
typedef std::unordered_map<std::string, std::pair<DBusServiceState, DBusInstanceList> > DBusServiceList;
- DBusServiceRegistry();
-
- DBusServiceRegistry(std::shared_ptr<DBusDaemonProxy> dbusDaemonProxy);
+ DBusServiceRegistry(std::shared_ptr<DBusProxyConnection> dbusProxyConnection);
virtual ~DBusServiceRegistry();
Subscription& listenerSubscription);
virtual std::vector<std::string> getAvailableServiceInstances(const std::string& interfaceName,
- const std::string& domainName = "local");
-
- virtual DBusServiceStatusEvent& getServiceStatusEvent();
+ const std::string& domainName = "local");
private:
DBusServiceRegistry(const DBusServiceRegistry&) = delete;
ProxyStatusEvent::Subscription dbusDaemonProxyStatusEventSubscription_;
NameOwnerChangedEvent::Subscription dbusDaemonProxyNameOwnerChangedEventSubscription_;
-
- DBusServiceStatusEvent serviceStatusEvent_;
};
} // namespace DBus