1 // 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" 11 #include "ppapi/proxy/ppapi_proxy_export.h" 12 13 template<typename T> struct DefaultSingletonTraits; 14 15 namespace ppapi { 16 namespace proxy { 17 18 class PPAPI_PROXY_EXPORT ProxyModule { 19 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 41 } // namespace ppapi 42 43 #endif // PPAPI_PROXY_PROXY_MODULE_H_ 44