1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 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)
5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "extensions/browser/api/storage/settings_namespace.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions {
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace settings_namespace {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kLocalNamespace[] = "local";
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)const char kSyncNamespace[] = "sync";
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kManagedNamespace[] = "managed";
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string ToString(Namespace settings_namespace) {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  switch (settings_namespace) {
21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    case LOCAL:
22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      return kLocalNamespace;
23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    case SYNC:
24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      return kSyncNamespace;
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    case MANAGED:
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      return kManagedNamespace;
27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    case INVALID:
28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      break;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  NOTREACHED();
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return std::string();
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)Namespace FromString(const std::string& namespace_string) {
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (namespace_string == kLocalNamespace)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return LOCAL;
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (namespace_string == kSyncNamespace)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return SYNC;
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (namespace_string == kManagedNamespace)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return MANAGED;
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return INVALID;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace settings_namespace
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace extensions
47