1
// vim:expandtab:shiftwidth=2:tabstop=2:
2
// Copyright (C) 2013 Canonical Ltd.
4
// This library is free software; you can redistribute it and/or
5
// modify it under the terms of the GNU Lesser General Public
6
// License as published by the Free Software Foundation; either
7
// version 2.1 of the License, or (at your option) any later version.
9
// This library is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// Lesser General Public License for more details.
14
// You should have received a copy of the GNU Lesser General Public
15
// License along with this library; if not, write to the Free Software
16
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
#ifndef _OXIDE_PUBLIC_BROWSER_GLOBAL_SETTINGS_H_
19
#define _OXIDE_PUBLIC_BROWSER_GLOBAL_SETTINGS_H_
21
#include "public/common/oxide_export.h"
25
#include "base/basictypes.h"
26
#include "base/compiler_specific.h"
27
#include "base/synchronization/lock.h"
29
template <typename Type> struct DefaultSingletonTraits;
33
// This is the main browser process context. It provides access to
34
// state that is shared between views
35
class GlobalSettings FINAL {
37
static GlobalSettings* GetInstance();
39
OXIDE_EXPORT static std::string GetProduct();
40
OXIDE_EXPORT static void SetProduct(const std::string& product);
42
OXIDE_EXPORT static std::string GetUserAgent();
43
OXIDE_EXPORT static void SetUserAgent(const std::string& user_agent);
45
OXIDE_EXPORT static std::string GetDataPath();
46
OXIDE_EXPORT static bool SetDataPath(const std::string& data_path);
48
OXIDE_EXPORT static std::string GetCachePath();
49
OXIDE_EXPORT static bool SetCachePath(const std::string& cache_path);
51
OXIDE_EXPORT static std::string GetAcceptLangs();
52
OXIDE_EXPORT static void SetAcceptLangs(const std::string& accept_langs);
55
friend struct DefaultSingletonTraits<GlobalSettings>;
60
std::string user_agent_;
61
std::string data_path_;
62
std::string cache_path_;
63
std::string accept_langs_;
67
DISALLOW_COPY_AND_ASSIGN(GlobalSettings);
72
#endif // _OXIDE_SHARED_PUBLIC_BROWSER_GLOBAL_SETTINGS_H_