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.h48
1 files changed, 22 insertions, 26 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
index 62fc10cf7f..f1f29471e6 100644
--- 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
@@ -10,41 +10,37 @@
namespace app_launch {
class AppLaunchCtrlImpl;
-class DeviceAppsLauncher;
+class DeviceAppsLauncherImpl;
class AppsLauncher;
class AppLaunchSettings;
-class Launcher;
-class LauncherGenerator;
-
-// impl class must be defined for unique_ptr in DeviceAppsLauncher
-class DeviceAppsLauncherImpl {
+/**
+ * @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:
- DeviceAppsLauncherImpl(DeviceAppsLauncher& interface,
- AppsLauncher& apps_launcher);
+ 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);
-
- struct LauncherFinder {
- LauncherFinder(const std::string& device_mac) : device_mac_(device_mac) {}
-
- bool operator()(const utils::SharedPtr<Launcher>& launcher) const;
-
- std::string device_mac_;
- };
-
bool StopLaunchingAppsOnDevice(const std::string& device_mac);
+ const AppLaunchSettings& settings() const;
+
private:
- sync_primitives::Lock launchers_lock_;
- std::vector<utils::SharedPtr<Launcher> > free_launchers_;
- std::vector<utils::SharedPtr<Launcher> > works_launchers_;
- DeviceAppsLauncher& interface_;
+ application_manager::ApplicationManager& app_mngr_;
+ const AppLaunchSettings& settings_;
+ std::auto_ptr<DeviceAppsLauncherImpl> impl_;
+ friend class DeviceAppsLauncherImpl;
+ DISALLOW_COPY_AND_ASSIGN(DeviceAppsLauncher);
};
-/**
- * @brief The MultipleAppsLauncher struct
- * should manage launching applications and gaps between launching application
- * on one device
- * When all apps launched it will notify AppLaunchCtrlImpl \ No newline at end of file
+} // namespace app_launch
+
+#endif // SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_APP_LAUNCH_DEVICE_APPS_LAUNCHER_H_