| Index: remoting/client/pepper/pepper_plugin.h
|
| ===================================================================
|
| --- remoting/client/pepper/pepper_plugin.h (revision 0)
|
| +++ remoting/client/pepper/pepper_plugin.h (revision 0)
|
| @@ -0,0 +1,106 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef REMOTING_CLIENT_PEPPER_PEPPER_PLUGIN_H_
|
| +#define REMOTING_CLIENT_PEPPER_PEPPER_PLUGIN_H_
|
| +
|
| +#include "third_party/npapi/bindings/npapi.h"
|
| +#include "third_party/npapi/bindings/npapi_extensions.h"
|
| +#include "third_party/npapi/bindings/nphostapi.h"
|
| +
|
| +namespace pepper {
|
| +
|
| +class PepperPlugin {
|
| + public:
|
| + // This class stores information about the plugin that cannot be instantiated
|
| + // as part of the PepperPlugin class because it is required before the
|
| + // PepperPlugin has been created.
|
| + class Info {
|
| + public:
|
| + // True if these fields have been initialized.
|
| + bool initialized;
|
| +
|
| + // MIME type and description.
|
| + const char* mime_description;
|
| +
|
| + // Name of plugin (shown in about:plugins).
|
| + const char* plugin_name;
|
| +
|
| + // Short description of plugin (shown in about:plugins).
|
| + const char* plugin_description;
|
| + };
|
| +
|
| + PepperPlugin(NPNetscapeFuncs* browser_funcs, NPP instance);
|
| + virtual ~PepperPlugin();
|
| +
|
| + NPNetscapeFuncs* browser() const { return browser_funcs_; }
|
| + NPNExtensions* extensions() const { return extensions_; }
|
| + NPP instance() const { return instance_; }
|
| +
|
| + // Virtual methods to be implemented by the plugin subclass.
|
| +
|
| + virtual NPError New(NPMIMEType pluginType, int16 argc,
|
| + char* argn[], char* argv[]) {
|
| + return NPERR_GENERIC_ERROR;
|
| + }
|
| +
|
| + virtual NPError Destroy(NPSavedData** save) {
|
| + return NPERR_GENERIC_ERROR;
|
| + }
|
| +
|
| + virtual NPError SetWindow(NPWindow* window) {
|
| + return NPERR_GENERIC_ERROR;
|
| + }
|
| +
|
| + virtual NPError NewStream(NPMIMEType type, NPStream* stream,
|
| + NPBool seekable, uint16* stype) {
|
| + return NPERR_GENERIC_ERROR;
|
| + }
|
| +
|
| + virtual NPError DestroyStream(NPStream* stream, NPReason reason) {
|
| + return NPERR_GENERIC_ERROR;
|
| + }
|
| +
|
| + virtual void StreamAsFile(NPStream* stream, const char* fname) {
|
| + }
|
| +
|
| + virtual int32 WriteReady(NPStream* stream) {
|
| + return 0;
|
| + }
|
| +
|
| + virtual int32 Write(NPStream* stream, int32 offset, int32 len, void* buffer) {
|
| + return -1;
|
| + }
|
| +
|
| + virtual void Print(NPPrint* platformPrint) {
|
| + }
|
| +
|
| + virtual int16 HandleEvent(void* event) {
|
| + return false;
|
| + }
|
| +
|
| + virtual void URLNotify(const char* url, NPReason reason, void* nofifyData) {
|
| + }
|
| +
|
| + virtual NPError GetValue(NPPVariable variable, void* value) {
|
| + return NPERR_GENERIC_ERROR;
|
| + }
|
| +
|
| + virtual NPError SetValue(NPNVariable variable, void* value) {
|
| + return NPERR_GENERIC_ERROR;
|
| + }
|
| +
|
| + private:
|
| + // Browser callbacks.
|
| + NPNetscapeFuncs* browser_funcs_;
|
| + NPNExtensions* extensions_;
|
| +
|
| + NPP instance_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(PepperPlugin);
|
| +};
|
| +
|
| +} // namespace pepper
|
| +
|
| +#endif // REMOTING_CLIENT_PEPPER_PEPPER_PLUGIN_H_
|
|
|
| Property changes on: remoting/client/pepper/pepper_plugin.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|