Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: remoting/client/pepper/pepper_plugin.h

Issue 2857011: Convert chromoting to pepperv2 API. (Closed)
Patch Set: break dep Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/client/pepper/pepper_main.cc ('k') | remoting/client/pepper/pepper_plugin.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2010 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 REMOTING_CLIENT_PEPPER_PEPPER_PLUGIN_H_
6 #define REMOTING_CLIENT_PEPPER_PEPPER_PLUGIN_H_
7
8 #include "third_party/npapi/bindings/npapi.h"
9 #include "third_party/npapi/bindings/npapi_extensions.h"
10 #include "third_party/npapi/bindings/nphostapi.h"
11
12 namespace pepper {
13
14 class PepperPlugin {
15 public:
16 // This class stores information about the plugin that cannot be instantiated
17 // as part of the PepperPlugin class because it is required before the
18 // PepperPlugin has been created.
19 class Info {
20 public:
21 // True if these fields have been initialized.
22 bool initialized;
23
24 // MIME type and description.
25 const char* mime_description;
26
27 // Name of plugin (shown in about:plugins).
28 const char* plugin_name;
29
30 // Short description of plugin (shown in about:plugins).
31 const char* plugin_description;
32 };
33
34 PepperPlugin(NPNetscapeFuncs* browser_funcs, NPP instance);
35 virtual ~PepperPlugin();
36
37 NPNetscapeFuncs* browser() const { return browser_funcs_; }
38 NPNExtensions* extensions() const { return extensions_; }
39 NPP instance() const { return instance_; }
40
41 // Virtual methods to be implemented by the plugin subclass.
42
43 virtual NPError New(NPMIMEType pluginType, int16 argc,
44 char* argn[], char* argv[]) {
45 return NPERR_GENERIC_ERROR;
46 }
47
48 virtual NPError Destroy(NPSavedData** save) {
49 return NPERR_GENERIC_ERROR;
50 }
51
52 virtual NPError SetWindow(NPWindow* window) {
53 return NPERR_GENERIC_ERROR;
54 }
55
56 virtual NPError NewStream(NPMIMEType type, NPStream* stream,
57 NPBool seekable, uint16* stype) {
58 return NPERR_GENERIC_ERROR;
59 }
60
61 virtual NPError DestroyStream(NPStream* stream, NPReason reason) {
62 return NPERR_GENERIC_ERROR;
63 }
64
65 virtual void StreamAsFile(NPStream* stream, const char* fname) {
66 }
67
68 virtual int32 WriteReady(NPStream* stream) {
69 return 0;
70 }
71
72 virtual int32 Write(NPStream* stream, int32 offset, int32 len, void* buffer) {
73 return -1;
74 }
75
76 virtual void Print(NPPrint* platformPrint) {
77 }
78
79 virtual int16 HandleEvent(void* event) {
80 return false;
81 }
82
83 virtual void URLNotify(const char* url, NPReason reason, void* nofifyData) {
84 }
85
86 virtual NPError GetValue(NPPVariable variable, void* value) {
87 return NPERR_GENERIC_ERROR;
88 }
89
90 virtual NPError SetValue(NPNVariable variable, void* value) {
91 return NPERR_GENERIC_ERROR;
92 }
93
94 private:
95 // Browser callbacks.
96 NPNetscapeFuncs* browser_funcs_;
97 NPNExtensions* extensions_;
98
99 NPP instance_;
100
101 DISALLOW_COPY_AND_ASSIGN(PepperPlugin);
102 };
103
104 } // namespace pepper
105
106 #endif // REMOTING_CLIENT_PEPPER_PEPPER_PLUGIN_H_
OLDNEW
« no previous file with comments | « remoting/client/pepper/pepper_main.cc ('k') | remoting/client/pepper/pepper_plugin.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698