OLD | NEW |
| (Empty) |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CHROME_BROWSER_UI_ASH_APP_LAUNCHER_ID_H_ | |
6 #define CHROME_BROWSER_UI_ASH_APP_LAUNCHER_ID_H_ | |
7 | |
8 #include <string> | |
9 | |
10 namespace ash { | |
11 | |
12 // A unique chrome launcher id used to identify a shelf item. This class is a | |
13 // wrapper for the chrome launcher identifier. |app_launcher_id_| includes the | |
14 // |app_id| and the |launch_id|. The |app_id| is the application id associated | |
15 // with a set of windows. The |launch_id| is an id that can be passed to an app | |
16 // when launched in order to support multiple shelf items per app. This id is | |
17 // used together with the |app_id| to uniquely identify each shelf item that | |
18 // has the same |app_id|. The |app_id| must not be empty. | |
19 class AppLauncherId { | |
20 public: | |
21 AppLauncherId(const std::string& app_id, const std::string& launch_id); | |
22 // Creates an AppLauncherId with an empty |launch_id|. | |
23 explicit AppLauncherId(const std::string& app_id); | |
24 // Empty constructor for pre-allocating. | |
25 AppLauncherId(); | |
26 ~AppLauncherId(); | |
27 | |
28 AppLauncherId(const AppLauncherId& app_launcher_id) = default; | |
29 AppLauncherId(AppLauncherId&& app_launcher_id) = default; | |
30 AppLauncherId& operator=(const AppLauncherId& other) = default; | |
31 | |
32 const std::string& app_id() const { return app_id_; } | |
33 const std::string& launch_id() const { return launch_id_; } | |
34 | |
35 private: | |
36 // The application id associated with a set of windows. | |
37 std::string app_id_; | |
38 // An id that can be passed to an app when launched in order to support | |
39 // multiple shelf items per app. | |
40 std::string launch_id_; | |
41 }; | |
42 | |
43 } // namespace ash | |
44 | |
45 #endif // CHROME_BROWSER_UI_ASH_APP_LAUNCHER_ID_H_ | |
OLD | NEW |