HbbTv  17.9.0
Open source HBBTV engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
plugin.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2013 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
25 // pre-processor mechanism so multiple inclusions don't cause compilation error
26 #ifndef _PLUGIN_H
27 #define _PLUGIN_H
28 
29 #include "npapi.h"
30 #include "npfunctions.h"
31 
32 //---Constant and macro definitions for public use-----------------------------
33 
34 
35 //---Enumerations for public use-----------------------------------------------
36 
37 /* This enum corresponds with list of mime descriptions supported by plugin */
38 typedef enum
39 {
40  PluginType_XmlAit,
41  /* OIPF plugins */
42  PluginType_ApplicationManager,
43  PluginType_Configuration,
44  PluginType_Capability,
45  PluginType_SearchManager,
46  PluginType_ParentalControlManager,
47  PluginType_VideoBroadcast,
48  PluginType_AVControl_VideoMpeg,
49  PluginType_AVControl_VideoMp4,
50  PluginType_AVControl_AudioMpeg,
51  PluginType_AVControl_AudioMp4,
52  PluginType_RecordingScheduler,
53  PluginType_DrmAgent,
54 
55  /* last is total */
56  PluginType_total_count
57 } E_PluginType;
58 
59 
60 //---Global type defs for public use-------------------------------------------
61 
62 typedef struct s_event_listener
63 {
64  struct s_event_listener *next;
65  NPObject *handler;
66  unsigned int event_type;
68 
69 typedef struct s_object_data
70 {
71  struct s_object_data *next;
72  NPP instance;
73  NPObject *np_handle;
74  void *handle;
76 
77 typedef struct s_plugin
78 {
79  S_OBJECT_DATA obj;
80  E_PluginType type;
81  S_EVENT_LISTENER *listeners;
82 } S_PLUGIN;
83 
84 //---Global Function prototypes for public use---------------------------------
85 
86 extern NPNetscapeFuncs *browser_funcs;
87 
88 #endif /*_PLUGIN_H*/
Definition: npapi.h:178
Definition: plugin.h:77
Definition: npfunctions.h:159
Definition: plugin.h:62
Definition: npruntime.h:323
Definition: plugin.h:69