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