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

Side by Side Diff: chromeos_login.h

Issue 3166035: add more ownership API methods to libcros (Closed) Base URL: http://git.chromium.org/git/cros.git
Patch Set: Forgot to INIT_FUNC some new stuff Created 10 years, 3 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 | « chromeos_cros_api.h ('k') | chromeos_login.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS 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 CHROMEOS_LOGIN_H_ 5 #ifndef CHROMEOS_LOGIN_H_
6 #define CHROMEOS_LOGIN_H_ 6 #define CHROMEOS_LOGIN_H_
7 7
8 #include <string>
8 #include <vector> 9 #include <vector>
9 10
10 #include <base/basictypes.h> 11 #include <base/basictypes.h>
11 12
12 namespace chromeos { // NOLINT 13 namespace chromeos { // NOLINT
13 14
14 // TODO(cmasone): change references to "login" (LoginLibrary, etc) to "session" 15 // TODO(cmasone): change references to "login" (LoginLibrary, etc) to "session"
15 // or similar. The API implemented here doesn't really deal with logging in 16 // or similar. The API implemented here doesn't really deal with logging in
16 // so much as state relating to user and the user sessions. 17 // so much as state relating to user and the user sessions.
17 18
18 enum OwnershipEvent { 19 enum OwnershipEvent {
19 SetKeySuccess = 0, 20 SetKeySuccess = 0,
20 SetKeyFailure = 1, 21 SetKeyFailure = 1,
21 WhitelistOpSuccess = 2, 22 WhitelistOpSuccess = 2,
22 WhitelistOpFailure = 3, 23 WhitelistOpFailure = 3,
23 SettingsOpSuccess = 4, 24 PropertyOpSuccess = 4,
24 SettingsOpFailure = 5, 25 PropertyOpFailure = 5,
25 }; 26 };
26 27
27 static const char kOwnerKeyFile[] = "/var/lib/whitelist/owner.key"; 28 static const char kOwnerKeyFile[] = "/var/lib/whitelist/owner.key";
28 29
29 class OpaqueSessionConnection; 30 class OpaqueSessionConnection;
30 typedef OpaqueSessionConnection* SessionConnection; 31 typedef OpaqueSessionConnection* SessionConnection;
31 typedef void(*SessionMonitor)(void*, const OwnershipEvent&); 32 typedef void(*SessionMonitor)(void*, const OwnershipEvent&);
32 33
33 extern SessionConnection (*MonitorSession)(SessionMonitor monitor, void*); 34 extern SessionConnection (*MonitorSession)(SessionMonitor monitor, void*);
34 extern void (*DisconnectSession)(SessionConnection connection); 35 extern void (*DisconnectSession)(SessionConnection connection);
35 36
37 extern bool (*CheckWhitelist)(const char* email,
38 std::vector<uint8>* OUT_signature);
36 extern bool (*EmitLoginPromptReady)(); 39 extern bool (*EmitLoginPromptReady)();
40 extern bool (*RestartJob)(int pid, const char* command_line);
41 extern bool (*RetrieveProperty)(const char* name,
42 std::string* OUT_value,
43 std::vector<uint8>* OUT_signature);
37 extern bool (*SetOwnerKey)(const std::vector<uint8>& public_key_der); 44 extern bool (*SetOwnerKey)(const std::vector<uint8>& public_key_der);
38 extern bool (*StartSession)(const char* user_email, 45 extern bool (*StartSession)(const char* user_email,
39 const char* unique_id /* unused */); 46 const char* unique_id /* unused */);
40 extern bool (*StopSession)(const char* unique_id /* unused */); 47 extern bool (*StopSession)(const char* unique_id /* unused */);
41 extern bool (*RestartJob)(int pid, const char* command_line); 48 extern bool (*StoreProperty)(const char* name,
49 const char* value,
50 const std::vector<uint8>& signature);
51 extern bool (*Unwhitelist)(const char* email,
52 const std::vector<uint8>& signature);
53 extern bool (*Whitelist)(const char* email,
54 const std::vector<uint8>& signature);
42 55
43 } // namespace chromeos 56 } // namespace chromeos
44 57
45 #endif // CHROMEOS_LOGIN_H_ 58 #endif // CHROMEOS_LOGIN_H_
OLDNEW
« no previous file with comments | « chromeos_cros_api.h ('k') | chromeos_login.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698