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 14extern const wchar_t kSeServiceLogonRight[]; 15 16class 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