now MSW stuff is complete
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
91
utils/nplugin/src/npapp.h
Normal file
91
utils/nplugin/src/npapp.h
Normal file
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* File: NPApp.h
|
||||
* Purpose: wxPluginApp declaration
|
||||
* Author: Julian Smart
|
||||
* Created: 1997
|
||||
* Updated:
|
||||
* Copyright: (c) Julian Smart
|
||||
*/
|
||||
|
||||
#ifndef __PLUGINAPP__
|
||||
#define __PLUGINAPP__
|
||||
|
||||
#include "wx/wx.h"
|
||||
#include "npapi.h"
|
||||
|
||||
class wxPluginFrame;
|
||||
|
||||
// Data passed to OnNewInstance
|
||||
class wxPluginData
|
||||
{
|
||||
public:
|
||||
NPP m_instance;
|
||||
NPMIMEType m_type;
|
||||
NPWindow* m_window;
|
||||
int m_mode;
|
||||
int m_argc;
|
||||
wxString* m_argn;
|
||||
wxString* m_argv;
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxPluginApp: public wxApp
|
||||
{
|
||||
DECLARE_ABSTRACT_CLASS(wxPluginApp)
|
||||
|
||||
public:
|
||||
wxPluginApp(void);
|
||||
~wxPluginApp(void);
|
||||
|
||||
// Find a frame given a NP instance
|
||||
wxPluginFrame *FindFrame(NPP instance);
|
||||
|
||||
// Add a frame
|
||||
void AddFrame(wxPluginFrame *frame);
|
||||
|
||||
// Remove a frame
|
||||
void RemoveFrame(wxPluginFrame *frame);
|
||||
|
||||
// Set attribute/values for the last instance
|
||||
void SetAttributeValues(const int n, char *argn[], char *argv[]);
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// Higher-level API than NP API
|
||||
virtual wxPluginFrame *OnNewInstance(const wxPluginData& data) = 0;
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
// Netscape Plugin API calls routed via wxPluginApp
|
||||
|
||||
virtual NPError NPP_Destroy(NPP instance, NPSavedData** save);
|
||||
virtual NPError NPP_DestroyStream(NPP instance, NPStream* stream, NPError reason);
|
||||
// virtual jref NPP_GetJavaClass(void);
|
||||
virtual NPError NPP_Initialize(void);
|
||||
virtual NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16 mode,
|
||||
int16 argc, char* argn[], char* argv[], NPSavedData* saved);
|
||||
virtual NPError NPP_NewStream(NPP instance, NPMIMEType type, NPStream *stream,
|
||||
NPBool seekable, uint16* stype);
|
||||
virtual void NPP_Print(NPP instance, NPPrint* platformPrint);
|
||||
virtual NPError NPP_SetWindow(NPP instance, NPWindow* window);
|
||||
virtual void NPP_Shutdown(void);
|
||||
virtual void NPP_StreamAsFile(NPP instance, NPStream* stream, const char *fname);
|
||||
/*
|
||||
virtual void NPP_URLNotify(NPP instance, const char* url, NPReason reason,
|
||||
void* notifyData);
|
||||
*/
|
||||
virtual int32 NPP_Write(NPP instance, NPStream* stream, int32 offset, int32 len,
|
||||
void* buf);
|
||||
virtual int32 NPP_WriteReady(NPP instance, NPStream* stream);
|
||||
|
||||
protected:
|
||||
|
||||
// List of plugin frames
|
||||
wxList m_frames;
|
||||
|
||||
// Temporary NPP_New arguments so we can wait until NPP_SetWindow is called
|
||||
// before creating a frame
|
||||
wxPluginData m_data;
|
||||
};
|
||||
|
||||
wxPluginApp *wxGetPluginApp(void);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user