• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 CLOUD_PRINT_SERVICE_WIN_LOCAL_SECURITY_POLICY_H_
6 #define CLOUD_PRINT_SERVICE_WIN_LOCAL_SECURITY_POLICY_H_
7 
8 #include <wtypes.h>  // Has to be before ntsecapi.h
9 #include <ntsecapi.h>
10 
11 #include "base/basictypes.h"
12 #include "base/strings/string16.h"
13 
14 extern const wchar_t kSeServiceLogonRight[];
15 
16 class LocalSecurityPolicy {
17  public:
18   LocalSecurityPolicy();
19   ~LocalSecurityPolicy();
20 
21   bool Open();
22   void Close();
23 
24   bool IsPrivilegeSet(const base::string16& username,
25                       const base::string16& privilage) const;
26   bool SetPrivilege(const base::string16& username,
27                     const base::string16& privilage);
28 
29  private:
30   LSA_HANDLE policy_;
31 
32   DISALLOW_COPY_AND_ASSIGN(LocalSecurityPolicy);
33 };
34 
35 #endif  // CLOUD_PRINT_SERVICE_WIN_LOCAL_SECURITY_POLICY_H_
36