- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / permissions / permissions_api_helpers.h
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 CHROME_BROWSER_EXTENSIONS_API_PERMISSIONS_PERMISSIONS_API_HELPERS_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_PERMISSIONS_PERMISSIONS_API_HELPERS_H_
7
8 #include <string>
9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/ref_counted.h"
11
12 namespace base {
13 class DictionaryValue;
14 }
15
16 namespace extensions {
17
18 class PermissionSet;
19
20 namespace api {
21 namespace permissions {
22 struct Permissions;
23 }
24 }
25
26 namespace permissions_api_helpers {
27
28 // Converts the permission |set| to a permissions object.
29 scoped_ptr<api::permissions::Permissions> PackPermissionSet(
30     const PermissionSet* set);
31
32 // Creates a permission set from |permissions|. Returns NULL if the permissions
33 // cannot be converted to a permission set, in which case |error| will be set.
34 scoped_refptr<PermissionSet> UnpackPermissionSet(
35     const api::permissions::Permissions& permissions,
36     bool allow_file_access,
37     std::string* error);
38
39 }  // namespace permissions_api_helpers
40 }  // namespace extensions
41
42 #endif  // CHROME_BROWSER_EXTENSIONS_API_PERMISSIONS_PERMISSIONS_API_HELPERS_H_