| Index: plugin/cross/main.h
|
| ===================================================================
|
| --- plugin/cross/main.h (revision 66184)
|
| +++ plugin/cross/main.h (working copy)
|
| @@ -37,26 +37,15 @@
|
| #ifndef O3D_PLUGIN_CROSS_MAIN_H_
|
| #define O3D_PLUGIN_CROSS_MAIN_H_
|
|
|
| -#include "core/cross/renderer_platform.h"
|
| -
|
| #include <npfunctions.h>
|
| -#include <stdio.h>
|
|
|
| -#include <fstream>
|
| -#include <iostream>
|
| -
|
| -#include "core/cross/renderer.h"
|
| #include "plugin/cross/o3d_glue.h"
|
| -#include "plugin/cross/config.h"
|
| +#include "plugin/cross/plugin_logging.h"
|
| #include "plugin/cross/stream_manager.h"
|
| #include "third_party/nixysa/static_glue/npapi/common.h"
|
| #include "third_party/nixysa/static_glue/npapi/npn_api.h"
|
|
|
| -#if !defined(O3D_INTERNAL_PLUGIN)
|
| -#include "breakpad/win/exception_handler_win32.h"
|
| -#endif // O3D_INTERNAL_PLUGIN
|
| -
|
| -#if defined(OS_LINUX)
|
| +#if defined(OS_LINUX) && !defined(O3D_INTERNAL_PLUGIN)
|
| #define EXPORT_SYMBOL __attribute__((visibility ("default")))
|
| #else
|
| #define EXPORT_SYMBOL
|
| @@ -66,7 +55,9 @@
|
| #define HANDLE_CRASHES void(0)
|
| #else // O3D_INTERNAL_PLUGIN
|
|
|
| -extern ExceptionManager *g_exception_manager;
|
| +#if defined(OS_WIN) || defined(OS_MACOSX)
|
| +extern o3d::PluginLogging *g_logger;
|
| +#endif
|
|
|
| // BreakpadEnabler is a simple class to keep track of whether or not
|
| // we're executing code that we want to handle crashes for
|
| @@ -75,7 +66,7 @@
|
| // Create a stack-based instance at the start of each function
|
| // where crash handling is desired.
|
|
|
| -#define HANDLE_CRASHES BreakpadEnabler enabler
|
| +#define HANDLE_CRASHES BreakpadEnabler enabler
|
|
|
| class BreakpadEnabler {
|
| public:
|
| @@ -90,7 +81,7 @@
|
| static bool IsEnabled() { return scope_count_ > 0; }
|
|
|
| private:
|
| - static int scope_count_;
|
| + static int scope_count_;
|
| };
|
|
|
| #endif // O3D_INTERNAL_PLUGIN
|
| @@ -100,13 +91,21 @@
|
| #else
|
| extern "C" {
|
| #endif
|
| - NPError OSCALL NP_Shutdown(void);
|
| - NPError OSCALL NP_GetEntryPoints(NPPluginFuncs *pluginFuncs);
|
| + NPError EXPORT_SYMBOL OSCALL NP_Initialize(NPNetscapeFuncs *browserFuncs
|
| +#ifdef OS_LINUX
|
| + ,
|
| + NPPluginFuncs *pluginFuncs
|
| +#endif
|
| + );
|
| +
|
| + NPError EXPORT_SYMBOL OSCALL NP_Shutdown(void);
|
| + NPError EXPORT_SYMBOL OSCALL NP_GetEntryPoints(NPPluginFuncs *pluginFuncs);
|
| }
|
|
|
| namespace o3d {
|
|
|
| -void WriteLogString(const char* text, int length);
|
| +// Plugin entry points, implemented in main.cc.
|
| +
|
| NPError NPP_Destroy(NPP instance, NPSavedData **save);
|
| NPError NPP_DestroyStream(NPP instance, NPStream *stream, NPReason reason);
|
| NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value);
|
| @@ -125,7 +124,6 @@
|
| NPBool seekable,
|
| uint16 *stype);
|
|
|
| -NPError PlatformNPPGetValue(NPP instance, NPPVariable variable, void *value);
|
| NPError NPP_SetValue(NPP instance, NPNVariable variable, void *value);
|
| NPError NPP_SetWindow(NPP instance, NPWindow *window);
|
|
|
| @@ -145,6 +143,29 @@
|
| const char *url,
|
| NPReason reason,
|
| void *notifyData);
|
| +
|
| +// Platform-specific helpers, implemented in main_<platform>.(cc|mm)
|
| +
|
| +NPError PlatformPreNPInitialize();
|
| +NPError PlatformPostNPInitialize();
|
| +NPError PlatformPreNPShutdown();
|
| +NPError PlatformPostNPShutdown();
|
| +
|
| +NPError PlatformNPPDestroy(NPP instance, glue::_o3d::PluginObject *obj);
|
| +NPError PlatformNPPGetValue(glue::_o3d::PluginObject *obj,
|
| + NPPVariable variable,
|
| + void *value);
|
| +int16 PlatformNPPHandleEvent(NPP instance,
|
| + glue::_o3d::PluginObject *obj,
|
| + void *event);
|
| +NPError PlatformNPPNew(NPP instance, glue::_o3d::PluginObject *obj);
|
| +NPError PlatformNPPSetWindow(NPP instance,
|
| + glue::_o3d::PluginObject *obj,
|
| + NPWindow *window);
|
| +void PlatformNPPStreamAsFile(glue::StreamManager *stream_manager,
|
| + NPStream *stream,
|
| + const char *fname);
|
| +
|
| }; // namespace o3d
|
|
|
| #endif // O3D_PLUGIN_CROSS_MAIN_H_
|
|
|