OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SANDBOX_WIN_SRC_APP_CONTAINER_H_ | 5 #ifndef SANDBOX_WIN_SRC_APP_CONTAINER_H_ |
6 #define SANDBOX_WIN_SRC_APP_CONTAINER_H_ | 6 #define SANDBOX_WIN_SRC_APP_CONTAINER_H_ |
7 | 7 |
8 #include <windows.h> | 8 #include <windows.h> |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 11 matching lines...) Expand all Loading... |
22 namespace sandbox { | 22 namespace sandbox { |
23 | 23 |
24 // Maintains an attribute list to be used during creation of a new sandboxed | 24 // Maintains an attribute list to be used during creation of a new sandboxed |
25 // process. | 25 // process. |
26 class AppContainerAttributes { | 26 class AppContainerAttributes { |
27 public: | 27 public: |
28 AppContainerAttributes(); | 28 AppContainerAttributes(); |
29 ~AppContainerAttributes(); | 29 ~AppContainerAttributes(); |
30 | 30 |
31 // Sets the AppContainer and capabilities to be used with the new process. | 31 // Sets the AppContainer and capabilities to be used with the new process. |
32 ResultCode SetAppContainer(const string16& app_container_sid, | 32 ResultCode SetAppContainer(const base::string16& app_container_sid, |
33 const std::vector<string16>& capabilities); | 33 const std::vector<base::string16>& capabilities); |
34 | 34 |
35 // Updates the proc_thred attribute list of the provided startup_information | 35 // Updates the proc_thred attribute list of the provided startup_information |
36 // with the app container related data. | 36 // with the app container related data. |
37 // WARNING: startup_information just points back to our internal memory, so | 37 // WARNING: startup_information just points back to our internal memory, so |
38 // the lifetime of this object has to be greater than the lifetime of the | 38 // the lifetime of this object has to be greater than the lifetime of the |
39 // provided startup_information. | 39 // provided startup_information. |
40 ResultCode ShareForStartup( | 40 ResultCode ShareForStartup( |
41 base::win::StartupInformation* startup_information) const; | 41 base::win::StartupInformation* startup_information) const; |
42 | 42 |
43 bool HasAppContainer() const; | 43 bool HasAppContainer() const; |
44 | 44 |
45 private: | 45 private: |
46 SECURITY_CAPABILITIES capabilities_; | 46 SECURITY_CAPABILITIES capabilities_; |
47 std::vector<SID_AND_ATTRIBUTES> attributes_; | 47 std::vector<SID_AND_ATTRIBUTES> attributes_; |
48 | 48 |
49 DISALLOW_COPY_AND_ASSIGN(AppContainerAttributes); | 49 DISALLOW_COPY_AND_ASSIGN(AppContainerAttributes); |
50 }; | 50 }; |
51 | 51 |
52 // Creates a new AppContainer on the system. |sid| is the identifier of the new | 52 // Creates a new AppContainer on the system. |sid| is the identifier of the new |
53 // AppContainer, and |name| will be used as both the display name and moniker. | 53 // AppContainer, and |name| will be used as both the display name and moniker. |
54 // This function fails if the OS doesn't support AppContainers, or if there is | 54 // This function fails if the OS doesn't support AppContainers, or if there is |
55 // an AppContainer registered with the same id. | 55 // an AppContainer registered with the same id. |
56 ResultCode CreateAppContainer(const string16& sid, const string16& name); | 56 ResultCode CreateAppContainer(const base::string16& sid, |
| 57 const base::string16& name); |
57 | 58 |
58 // Deletes an AppContainer previously created with a successfull call to | 59 // Deletes an AppContainer previously created with a successfull call to |
59 // CreateAppContainer. | 60 // CreateAppContainer. |
60 ResultCode DeleteAppContainer(const string16& sid); | 61 ResultCode DeleteAppContainer(const base::string16& sid); |
61 | 62 |
62 // Retrieves the name associated with the provided AppContainer sid. Returns an | 63 // Retrieves the name associated with the provided AppContainer sid. Returns an |
63 // empty string if the AppContainer is not registered with the system. | 64 // empty string if the AppContainer is not registered with the system. |
64 string16 LookupAppContainer(const string16& sid); | 65 base::string16 LookupAppContainer(const base::string16& sid); |
65 | 66 |
66 } // namespace sandbox | 67 } // namespace sandbox |
67 | 68 |
68 #endif // SANDBOX_WIN_SRC_APP_CONTAINER_H_ | 69 #endif // SANDBOX_WIN_SRC_APP_CONTAINER_H_ |
OLD | NEW |