diff options
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.h | 48 |
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_ |