Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / content / test / plugin / plugin_client.h
blob07d9a707782b576d04874e2d14bd885bc118e905
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.
5 #ifndef CONTENT_TEST_PLUGIN_PLUGIN_CLIENT_H_
6 #define CONTENT_TEST_PLUGIN_PLUGIN_CLIENT_H_
8 #include "third_party/npapi/bindings/npapi.h"
9 #include "third_party/npapi/bindings/nphostapi.h"
11 namespace NPAPIClient {
13 // A PluginClient is a NPAPI Plugin. This class contains
14 // the bootstrapping functions used by the browser to load
15 // the plugin.
16 class PluginClient {
17 public:
18 // Although not documented in the NPAPI specification, this function
19 // gets the list of entry points in the NPAPI Plugin (client) for the
20 // NPAPI Host to call.
21 static NPError GetEntryPoints(NPPluginFuncs* pFuncs);
23 // The browser calls this function only once: when a plug-in is loaded,
24 // before the first instance is created. This is the first function that
25 // the browser calls. NP_Initialize tells the plug-in that the browser has
26 // loaded it and provides global initialization. Allocate any memory or
27 // resources shared by all instances of your plug-in at this time.
28 static NPError Initialize(NPNetscapeFuncs* pFuncs);
30 // The browser calls this function once after the last instance of your
31 // plug-in is destroyed, before unloading the plug-in library itself. Use
32 // NP_Shutdown to delete any data allocated in NP_Initialize to be shared
33 // by all instances of a plug-in.
34 static NPError Shutdown();
36 // The table of functions provided by the host.
37 static NPNetscapeFuncs *HostFunctions() { return host_functions_; }
39 private:
40 static NPNetscapeFuncs* host_functions_;
43 } // namespace NPAPIClient
45 #endif // CONTENT_TEST_PLUGIN_PLUGIN_CLIENT_H_