summaryrefslogtreecommitdiff
path: root/src/components/application_manager/include/application_manager/app_launch/device_apps_launcher.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/include/application_manager/app_launch/device_apps_launcher.h')
-rw-r--r--src/components/application_manager/include/application_manager/app_launch/device_apps_launcher.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/components/application_manager/include/application_manager/app_launch/device_apps_launcher.h b/src/components/application_manager/include/application_manager/app_launch/device_apps_launcher.h
new file mode 100644
index 0000000000..f1f29471e6
--- /dev/null
+++ b/src/components/application_manager/include/application_manager/app_launch/device_apps_launcher.h
@@ -0,0 +1,46 @@
+#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_APP_LAUNCH_DEVICE_APPS_LAUNCHER_H_
+#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_APP_LAUNCH_DEVICE_APPS_LAUNCHER_H_
+#include <stdint.h>
+#include <vector>
+#include <string>
+#include <memory>
+#include "application_manager/app_launch/app_launch_data.h"
+#include "application_manager/application_manager.h"
+#include "application_manager/app_launch_settings.h"
+
+namespace app_launch {
+class AppLaunchCtrlImpl;
+class DeviceAppsLauncherImpl;
+class AppsLauncher;
+class AppLaunchSettings;
+/**
+ * @brief The MultipleAppsLauncher struct
+ * should manage launching applications and gaps between launching application
+ * on one device
+ * When all apps launched it will notify AppLaunchCtrlImpl that all apps
+ * launched
+ */
+class DeviceAppsLauncher {
+ public:
+ DeviceAppsLauncher(application_manager::ApplicationManager& app_mngr,
+ app_launch::AppsLauncher& apps_launcher,
+ const AppLaunchSettings& settings);
+
+ bool LaunchAppsOnDevice(
+ const std::string& device_mac,
+ const std::vector<ApplicationDataPtr>& applications_to_launch);
+ bool StopLaunchingAppsOnDevice(const std::string& device_mac);
+
+ const AppLaunchSettings& settings() const;
+
+ private:
+ application_manager::ApplicationManager& app_mngr_;
+ const AppLaunchSettings& settings_;
+ std::auto_ptr<DeviceAppsLauncherImpl> impl_;
+ friend class DeviceAppsLauncherImpl;
+ DISALLOW_COPY_AND_ASSIGN(DeviceAppsLauncher);
+};
+
+} // namespace app_launch
+
+#endif // SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_APP_LAUNCH_DEVICE_APPS_LAUNCHER_H_