Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Side by Side Diff: sandbox/src/target_services.h

Issue 10689170: Move the Windows sandbox to sandbox/win (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase on top of tree (properly this time) Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sandbox/src/target_process.cc ('k') | sandbox/src/target_services.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef SANDBOX_SRC_TARGET_SERVICES_H__
6 #define SANDBOX_SRC_TARGET_SERVICES_H__
7
8 #include "base/basictypes.h"
9 #include "sandbox/src/sandbox.h"
10 #include "sandbox/src/win_utils.h"
11
12 namespace sandbox {
13
14 class ProcessState {
15 public:
16 ProcessState() : process_state_(0) {}
17
18 // Returns true if kernel32.dll has been loaded.
19 bool IsKernel32Loaded();
20
21 // Returns true if main has been called.
22 bool InitCalled();
23
24 // Returns true if LowerToken has been called.
25 bool RevertedToSelf();
26
27 // Set the current state.
28 void SetKernel32Loaded();
29 void SetInitCalled();
30 void SetRevertedToSelf();
31
32 public:
33 int process_state_;
34 DISALLOW_COPY_AND_ASSIGN(ProcessState);
35 };
36
37 // This class is an implementation of the TargetServices.
38 // Look in the documentation of sandbox::TargetServices for more info.
39 // Do NOT add a destructor to this class without changing the implementation of
40 // the factory method.
41 class TargetServicesBase : public TargetServices {
42 public:
43 TargetServicesBase();
44
45 // Public interface of TargetServices.
46 virtual ResultCode Init();
47 virtual void LowerToken();
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);
54
55 // Factory method.
56 static TargetServicesBase* GetInstance();
57
58 // Sends a simple IPC Message that has a well-known answer. Returns true
59 // if the IPC was successful and false otherwise. There are 2 versions of
60 // this test: 1 and 2. The first one send a simple message while the
61 // second one send a message with an in/out param.
62 bool TestIPCPing(int version);
63
64 private:
65 ProcessState process_state_;
66 DISALLOW_COPY_AND_ASSIGN(TargetServicesBase);
67 };
68
69 } // namespace sandbox
70
71 #endif // SANDBOX_SRC_TARGET_SERVICES_H__
OLDNEW
« no previous file with comments | « sandbox/src/target_process.cc ('k') | sandbox/src/target_services.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698