

#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_RPC_PLUGINS_SDL_RPC_PLUGIN_INCLUDE_SDL_RPC_PLUGIN_COMMANDS_HMI_VR_IS_READY_RESPONSE_H_
#define SRC_COMPONENTS_APPLICATION_MANAGER_RPC_PLUGINS_SDL_RPC_PLUGIN_INCLUDE_SDL_RPC_PLUGIN_COMMANDS_HMI_VR_IS_READY_RESPONSE_H_

#include "application_manager/commands/response_from_hmi.h"

namespace sdl_rpc_plugin {
namespace app_mngr = application_manager;

namespace commands {

/**
 * @brief VRIsReadyResponse command class
 **/
class VRIsReadyResponse : public app_mngr::commands::ResponseFromHMI {
 public:
  /**
   * @brief VRIsReadyResponse class constructor
   *
   * @param message Incoming SmartObject message
   **/
  VRIsReadyResponse(const app_mngr::commands::MessageSharedPtr& message,
                    app_mngr::ApplicationManager& application_manager,
                    app_mngr::rpc_service::RPCService& rpc_service,
                    app_mngr::HMICapabilities& hmi_capabilities,
                    policy::PolicyHandlerInterface& policy_handle);

  /**
   * @brief VRIsReadyResponse class destructor
   **/
  virtual ~VRIsReadyResponse();

  /**
   * @brief Execute command
   **/
  virtual void Run();

 private:
  DISALLOW_COPY_AND_ASSIGN(VRIsReadyResponse);
};

}  // namespace commands

}  // namespace sdl_rpc_plugin

#endif  // SRC_COMPONENTS_APPLICATION_MANAGER_RPC_PLUGINS_SDL_RPC_PLUGIN_INCLUDE_SDL_RPC_PLUGIN_COMMANDS_HMI_VR_IS_READY_RESPONSE_H_
