blob: 1ee0b758261f619166a4cf43d70e4e377ab06f4c [file] [log] [blame]
[email protected]747ab0d42011-05-03 19:13:431// Copyright (c) 2011 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 PPAPI_PROXY_PROXY_MODULE_H_
6#define PPAPI_PROXY_PROXY_MODULE_H_
7
8#include <string>
9
10#include "base/basictypes.h"
[email protected]f0a04c42011-08-26 22:43:2011#include "ppapi/proxy/ppapi_proxy_export.h"
[email protected]747ab0d42011-05-03 19:13:4312
13template<typename T> struct DefaultSingletonTraits;
14
[email protected]4d2efd22011-08-18 21:58:0215namespace ppapi {
[email protected]747ab0d42011-05-03 19:13:4316namespace proxy {
17
[email protected]f0a04c42011-08-26 22:43:2018class PPAPI_PROXY_EXPORT ProxyModule {
[email protected]747ab0d42011-05-03 19:13:4319 public:
20 // The global singleton getter.
21 static ProxyModule* GetInstance();
22
23 // TODO(viettrungluu): Generalize this for use with other plugins if it proves
24 // necessary. (Currently, we can't do this easily, since we can't tell from
25 // |PpapiPluginMain()| which plugin will be loaded.)
26 const std::string& GetFlashCommandLineArgs();
27 void SetFlashCommandLineArgs(const std::string& args);
28
29 private:
30 friend struct DefaultSingletonTraits<ProxyModule>;
31
32 std::string flash_command_line_args_;
33
34 ProxyModule();
35 ~ProxyModule();
36
37 DISALLOW_COPY_AND_ASSIGN(ProxyModule);
38};
39
40} // namespace proxy
[email protected]4d2efd22011-08-18 21:58:0241} // namespace ppapi
[email protected]747ab0d42011-05-03 19:13:4342
43#endif // PPAPI_PROXY_PROXY_MODULE_H_