OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_SRC_TARGET_SERVICES_H__ | 5 #ifndef SANDBOX_SRC_TARGET_SERVICES_H__ |
6 #define SANDBOX_SRC_TARGET_SERVICES_H__ | 6 #define SANDBOX_SRC_TARGET_SERVICES_H__ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "sandbox/src/sandbox.h" | 9 #include "sandbox/src/sandbox.h" |
10 #include "sandbox/src/win_utils.h" | 10 #include "sandbox/src/win_utils.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 // Do NOT add a destructor to this class without changing the implementation of | 39 // Do NOT add a destructor to this class without changing the implementation of |
40 // the factory method. | 40 // the factory method. |
41 class TargetServicesBase : public TargetServices { | 41 class TargetServicesBase : public TargetServices { |
42 public: | 42 public: |
43 TargetServicesBase(); | 43 TargetServicesBase(); |
44 | 44 |
45 // Public interface of TargetServices. | 45 // Public interface of TargetServices. |
46 virtual ResultCode Init(); | 46 virtual ResultCode Init(); |
47 virtual void LowerToken(); | 47 virtual void LowerToken(); |
48 virtual ProcessState* GetState(); | 48 virtual ProcessState* GetState(); |
| 49 virtual ResultCode DuplicateHandle(HANDLE source_handle, |
| 50 DWORD target_process_id, |
| 51 HANDLE* target_handle, |
| 52 DWORD desired_access, |
| 53 DWORD options); |
49 | 54 |
50 // Factory method. | 55 // Factory method. |
51 static TargetServicesBase* GetInstance(); | 56 static TargetServicesBase* GetInstance(); |
52 | 57 |
53 // Sends a simple IPC Message that has a well-known answer. Returns true | 58 // Sends a simple IPC Message that has a well-known answer. Returns true |
54 // if the IPC was successful and false otherwise. There are 2 versions of | 59 // if the IPC was successful and false otherwise. There are 2 versions of |
55 // this test: 1 and 2. The first one send a simple message while the | 60 // this test: 1 and 2. The first one send a simple message while the |
56 // second one send a message with an in/out param. | 61 // second one send a message with an in/out param. |
57 bool TestIPCPing(int version); | 62 bool TestIPCPing(int version); |
58 | 63 |
59 private: | 64 private: |
60 ProcessState process_state_; | 65 ProcessState process_state_; |
61 DISALLOW_COPY_AND_ASSIGN(TargetServicesBase); | 66 DISALLOW_COPY_AND_ASSIGN(TargetServicesBase); |
62 }; | 67 }; |
63 | 68 |
64 } // namespace sandbox | 69 } // namespace sandbox |
65 | 70 |
66 #endif // SANDBOX_SRC_TARGET_SERVICES_H__ | 71 #endif // SANDBOX_SRC_TARGET_SERVICES_H__ |
OLD | NEW |