FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cefpython/cefpython/cef1/include/cef_nplugin.h at cefpython31 · pythonthings/cefpython · GitHub
pythonthings
cefpython
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cefpython
/
cefpython
/
cef1
/
include
/
cef_nplugin.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
119 lines (106 loc) · 4.16 KB
Breadcrumbs
cefpython
/
cefpython
/
cef1
/
include
/
cef_nplugin.h
Copy path
File metadata and controls
119 lines (106 loc) · 4.16 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
//
Copyright (c) 2011 Marshall A. Greenblatt. All rights reserved.
//
//
Redistribution and use in source and binary forms, with or without
//
modification, are permitted provided that the following conditions are
//
met:
//
//
* Redistributions of source code must retain the above copyright
//
notice, this list of conditions and the following disclaimer.
//
* Redistributions in binary form must reproduce the above
//
copyright notice, this list of conditions and the following disclaimer
//
in the documentation and/or other materials provided with the
//
distribution.
//
* Neither the name of Google Inc. nor the name Chromium Embedded
//
Framework nor the names of its contributors may be used to endorse
//
or promote products derived from this software without specific prior
//
written permission.
//
//
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
//
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
//
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
//
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
//
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
//
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
//
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
//
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
//
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
//
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
//
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
ifndef
CEF_INCLUDE_CEF_NPLUGIN_H_
#
define
CEF_INCLUDE_CEF_NPLUGIN_H_
#
pragma
once
#
include
"
internal/cef_nplugin_types.h
"
//
/
//
Netscape plugins are normally built at separate DLLs that are loaded by the
//
browser when needed. This interface supports the creation of plugins that
//
are an embedded component of the application. Embedded plugins built using
//
this interface use the same Netscape Plugin API as DLL-based plugins.
//
See https://developer.mozilla.org/En/Gecko_Plugin_API_Reference for complete
//
documentation on how to use the Netscape Plugin API.
//
//
This class provides attribute information and entry point functions for a
//
plugin.
//
/
class
CefPluginInfo
:
public
cef_plugin_info_t
{
public:
CefPluginInfo
() {
Init
();
}
virtual
~CefPluginInfo
() {
Reset
();
}
CefPluginInfo
(
const
CefPluginInfo& r) {
//
NOLINT(runtime/explicit)
Init
();
*
this
= r;
}
CefPluginInfo
(
const
cef_plugin_info_t
& r) {
//
NOLINT(runtime/explicit)
Init
();
*
this
= r;
}
void
Reset
() {
cef_string_clear
(&unique_name);
cef_string_clear
(&display_name);
cef_string_clear
(&version);
cef_string_clear
(&description);
cef_string_clear
(&mime_types);
cef_string_clear
(&file_extensions);
cef_string_clear
(&type_descriptions);
Init
();
}
void
Attach
(
const
cef_plugin_info_t
& r) {
Reset
();
*
static_cast
<
cef_plugin_info_t
*>(
this
) = r;
}
void
Detach
() {
Init
();
}
CefPluginInfo&
operator
=(
const
CefPluginInfo& r) {
return
operator
=(
static_cast
<
const
cef_plugin_info_t
&>(r));
}
CefPluginInfo&
operator
=(
const
cef_plugin_info_t
& r) {
cef_string_copy
(r.
unique_name
.
str
, r.
unique_name
.
length
, &unique_name);
cef_string_copy
(r.
display_name
.
str
, r.
display_name
.
length
, &display_name);
cef_string_copy
(r.
version
.
str
, r.
version
.
length
, &version);
cef_string_copy
(r.
description
.
str
, r.
description
.
length
, &description);
cef_string_copy
(r.
mime_types
.
str
, r.
mime_types
.
length
, &mime_types);
cef_string_copy
(r.
file_extensions
.
str
, r.
file_extensions
.
length
,
&file_extensions);
cef_string_copy
(r.
type_descriptions
.
str
, r.
type_descriptions
.
length
,
&type_descriptions);
#
if
!defined(OS_POSIX) || defined(OS_MACOSX)
np_getentrypoints = r.
np_getentrypoints
;
#
endif
np_initialize = r.
np_initialize
;
np_shutdown = r.
np_shutdown
;
return
*
this
;
}
protected:
void
Init
() {
memset
(
static_cast
<
cef_plugin_info_t
*>(
this
),
0
,
sizeof
(
cef_plugin_info_t
));
}
};
//
/
//
Register a plugin with the system.
//
/
bool
CefRegisterPlugin
(
const
CefPluginInfo& plugin_info);
#
endif
//
CEF_INCLUDE_CEF_NPLUGIN_H_
Back
|
FazBrowse Home
|
New Git URL