diff --git a/src/api/lrc.h b/src/api/lrc.h index ae4019628d7399b2caec99a7a50b1f81f5e31dce..be69debda03fa6bc7080b07b946881c9dc76438c 100644 --- a/src/api/lrc.h +++ b/src/api/lrc.h @@ -56,6 +56,20 @@ public: */ DataTransferModel& getDataTransferModel() const; + /** + * Inform the daemon that the connectivity changed + */ + void connectivityChanged() const; + + /** + * Test connection with daemon + */ + static bool isConnected(); + /** + * Can communicate with the daemon via dbus + */ + static bool dbusIsValid(); + private: std::unique_ptr<LrcPimpl> lrcPimpl_; }; diff --git a/src/lrc.cpp b/src/lrc.cpp index 15a7a0d0fe879501d4be331ea32315536442061e..9ace50f876f7dcb04c287936de23f98f76011bb6 100644 --- a/src/lrc.cpp +++ b/src/lrc.cpp @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (C) 2017-2018 Savoir-faire Linux * + * Copyright (C) 2017-2018 Savoir-faire Linux * * Author : Nicolas Jäger <nicolas.jager@savoirfairelinux.com> * * Author : Sébastien Blin <sebastien.blin@savoirfairelinux.com> * * * @@ -24,6 +24,7 @@ #include "api/behaviorcontroller.h" #include "database.h" #include "callbackshandler.h" +#include "dbus/configurationmanager.h" #include "dbus/instancemanager.h" namespace lrc @@ -75,6 +76,32 @@ Lrc::getDataTransferModel() const return *lrcPimpl_->dataTransferModel; } +void +Lrc::connectivityChanged() const +{ + ConfigurationManager::instance().connectivityChanged(); +} + +bool +Lrc::isConnected() +{ +#ifdef ENABLE_LIBWRAP + return true; +#else + return ConfigurationManager::instance().connection().isConnected(); +#endif +} + +bool +Lrc::dbusIsValid() +{ +#ifdef ENABLE_LIBWRAP + return true; +#else + return ConfigurationManager::instance().isValid(); +#endif +} + LrcPimpl::LrcPimpl(Lrc& linked) : linked(linked) , behaviorController(std::make_unique<BehaviorController>())