MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mheg5_events.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2014 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 #ifndef _MHEG5_EVENTS_H
26 #define _MHEG5_EVENTS_H
27 
28 #include "techtype.h"
29 #include "dvbevents.h"
30 
31 /*---Constant and macro definitions for public use-----------------------------*/
32 
33 /*---Enumerations for public use-----------------------------------------------*/
34 
38 typedef enum
39 {
40  KS_RED = 0x1,
41  KS_GREEN = 0x2,
42  KS_YELLOW = 0x4,
43  KS_BLUE = 0x8,
44  KS_NAVIGATION = 0x10,
45  KS_VCR = 0x20,
46  KS_SCROLL = 0x40,
47  KS_INFO = 0x80,
48  KS_NUMERIC = 0x100,
49  KS_ALPHA = 0x200,
50  KS_OTHER = 0x400
51 } E_KeySet;
52 
53 /* Events generated by MHEG5 engine and passed to receiver */
54 typedef enum
55 {
56  /* Engine sucessfully started an MHEG5 application from DSM-CC. */
57  MHEG_EVENT_DSM_APPLICATION_STARTED,
58 
59  /* The currently running application has stopped running and there
60  * are no other applications on the application stack. If this event is
61  * generated as a result of an application Quit action, the component will
62  * start trying to load the autoboot application for the selected service.
63  */
64  MHEG_EVENT_DSM_APPLICATION_STOPPED,
65 
66  MHEG_EVENT_DSM_APPLICATION_START_FAILED,
67 
68  /* MHEG5 CI application started successfully. */
69  MHEG_EVENT_CI_APPLICATION_STARTED,
70 
71  /* MHEG5 CI application has stopped, either as a result of an external request,
72  * or as the result of application terminating for any other reason.
73  */
74  MHEG_EVENT_CI_APPLICATION_STOPPED,
75 
76  /* Attempted CI module start application failed. */
77  MHEG_EVENT_CI_APPLICATION_START_FAILED,
78 
79  /* The data associated with this event is defined by E_KeySet. This is
80  * consistant with keyset values used within HbbTv */
81  MHEG_EVENT_KEYSET_CHANGE,
82 
83  MHEG_EVENT_STATE_PAUSED,
84  MHEG_EVENT_STATE_RESUME,
85 
86 } E_MhegEvent;
87 
88 
89 /*---Global type defs for public use-------------------------------------------*/
90 
91 typedef void (*F_NotifyMhegEvent)( E_MhegEvent event, U32BIT data );
92 
93 /*---Global Function prototypes for public use---------------------------------*/
94 
95 BOOLEAN MHEG5_DvbRegisterEventHandler( F_NotifyMhegEvent handler );
96 void MHEG5_DvbUnregisterEventHandler( F_NotifyMhegEvent handler );
97 
105 E_MhegErr MHEG5_NotifyDvbEvent( E_DvbEvent eType, U32BIT eData );
106 
107 
108 #endif /* _MHEG5_EVENTS_H */
E_MhegErr MHEG5_NotifyDvbEvent(E_DvbEvent eType, U32BIT eData)
Notifies MHEG5 of event from receiver platform This is a non-blocking function.
Definition: glue_events.c:189
System Wide Global Technical Data Type Definitions.
E_KeySet
Definition: mheg5_events.h:38
Definition of events sent to MHEG5 engine.