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