summaryrefslogtreecommitdiff
path: root/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/sdl_rpc_plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/sdl_rpc_plugin.h')
-rw-r--r--src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/sdl_rpc_plugin.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/sdl_rpc_plugin.h b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/sdl_rpc_plugin.h
index 6ae3a0b6bc..a5360992ea 100644
--- a/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/sdl_rpc_plugin.h
+++ b/src/components/application_manager/rpc_plugins/sdl_rpc_plugin/include/sdl_rpc_plugin/sdl_rpc_plugin.h
@@ -34,12 +34,16 @@
#define SRC_COMPONENTS_APPLICATION_MANAGER_RPC_PLUGINS_SDL_RPC_PLUGIN_INCLUDE_SDL_RPC_PLUGIN_SDL_RPC_PLUGIN_H
#include "application_manager/plugin_manager/rpc_plugin.h"
#include "application_manager/command_factory.h"
+#include "application_manager/resumption/extension_pending_resumption_handler.h"
namespace sdl_rpc_plugin {
+class SDLAppExtension;
namespace plugins = application_manager::plugin_manager;
class SDLRPCPlugin : public plugins::RPCPlugin {
// RPCPlugin interface
public:
+ SDLRPCPlugin();
+
bool Init(application_manager::ApplicationManager& app_manager,
application_manager::rpc_service::RPCService& rpc_service,
application_manager::HMICapabilities& hmi_capabilities,
@@ -58,8 +62,36 @@ class SDLRPCPlugin : public plugins::RPCPlugin {
application_manager::plugin_manager::ApplicationEvent event,
application_manager::ApplicationSharedPtr application) OVERRIDE;
+ /**
+ * @brief ProcessResumptionSubscription send appropriate subscribe requests
+ * to HMI
+ * @param app application for subscription
+ * @param ext application extension
+ * @param subscriber callback for subscription
+ */
+ void ProcessResumptionSubscription(application_manager::Application& app,
+ SDLAppExtension& ext,
+ resumption::Subscriber subscriber);
+
+ /**
+ * @brief Revert the data to the state before Resumption.
+ * @param subscriptions Subscriptions to be returned
+ **/
+ void RevertResumption(application_manager::Application& app);
+
+ /**
+ * @brief SaveResumptionData saves subscription data
+ * @param resumption_data plase to store resumption data
+ */
+ void SaveResumptionData(application_manager::Application& app,
+ smart_objects::SmartObject& resumption_data);
+
private:
std::unique_ptr<application_manager::CommandFactory> command_factory_;
+ application_manager::ApplicationManager* application_manager_;
+ using ExtensionPendingResumptionHandlerSPtr =
+ std::shared_ptr<resumption::ExtensionPendingResumptionHandler>;
+ ExtensionPendingResumptionHandlerSPtr pending_resumption_handler_;
};
}