15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_NAMESPACE_H_
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_NAMESPACE_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string>
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace settings_namespace {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The namespaces of the storage areas.
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum Namespace {
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  LOCAL,    // "local"    i.e. chrome.storage.local
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  SYNC,     // "sync"     i.e. chrome.storage.sync
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  MANAGED,  // "managed"  i.e. chrome.storage.managed
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  INVALID
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Converts a namespace to its string representation.
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Namespace must not be INVALID.
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ToString(Namespace settings_namespace);
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Converts a string representation of a namespace to its namespace, or INVALID
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// if the string doesn't map to one.
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Namespace FromString(const std::string& ns_string);
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace settings_namespace
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace extensions
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_NAMESPACE_H_
35