MHEG5
15.3.0
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2004 Ocean Blue Software Ltd 00004 * Copyright © 2000 Koninklijke Philips Electronics N.V 00005 * 00006 * This file is part of a DTVKit Software Component 00007 * You are permitted to copy, modify or distribute this file subject to the terms 00008 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00009 * 00010 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00011 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00012 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00013 * 00014 * If you or your organisation is not a member of DTVKit then you have access 00015 * to this source code outside of the terms of the licence agreement 00016 * and you are expected to delete this and any associated files immediately. 00017 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00018 *******************************************************************************/ 00028 #ifndef _MH5QUEUE_H 00029 #define _MH5QUEUE_H 00030 00031 /*---includes for this file--------------------------------------------------*/ 00032 00033 #include "mh5action.h" 00034 #include "mh5link.h" 00035 #include "mh5group.h" 00036 00037 /*---Constant and macro definitions for public use---------------------------*/ 00038 00039 /*---Enumerations for public use---------------------------------------------*/ 00040 00041 /*---Global type defs for public use-----------------------------------------*/ 00042 00043 typedef enum 00044 { 00045 EE_GROUP_ID_REF_ERROR = 2, 00046 EE_CONTENT_REF_ERROR = 3, 00047 EE_KEYPRESS_TEXT = 4, 00048 00049 EE_VIDEO_PREF_CHANGED = 6, 00050 EE_ENGINE_RESUME = 7, 00051 00052 #ifdef INCLUDE_ICS 00053 EE_SUBTITLE_PREF_CHANGED = 8, 00054 #endif 00055 00056 EE_NETWORK_BOOT_INFO = 9, 00057 EE_NON_DESTRUCTIVE_TUNE_OK = 10, 00058 00059 EE_KEYPRESS_CANCEL = 16, 00060 00061 EE_PVR_LIST_CHANGED = 20, 00062 00063 EE_KEYPRESS_RED = 100, 00064 EE_KEYPRESS_GREEN = 101, 00065 EE_KEYPRESS_YELLOW = 102, 00066 EE_KEYPRESS_BLUE = 103, 00067 00068 EE_KEYPRESS_INFO = 105, 00069 00070 #ifdef INCLUDE_IC 00071 EE_IC_STATUS_CHANGED = 200, 00072 EE_IC_LOCAL_ERROR = 201, 00073 EE_IC_NETWORK_ERROR = 202, 00074 EE_IC_REMOTE_ERROR = 203, 00075 00076 #ifdef INCLUDE_ICS 00077 EE_IC_STREAM_REF_ERROR = 204, 00078 EE_IC_STREAM_UNDERFLOW = 205, 00079 00080 #ifdef INCLUDE_FREESAT 00081 EE_IP_STREAM_ACCESS_ERROR = 206, 00082 #endif 00083 00084 #if defined(INCLUDE_FREESAT) || defined(INCLUDE_IPLAYER) 00085 EE_AUDIO_DESC_PREF_CHANGED = 207, 00086 #endif 00087 00088 EE_IC_STREAM_UNDERFLOW_RESUME = 208, 00089 EE_IC_KEY_FILE_ERROR = 210, 00090 00091 #endif /* INCLUDE_ICS */ 00092 #endif /* INCLUDE_IC */ 00093 00094 EE_KEYPRESS_EPG = 300, 00095 00096 EE_AUDIO_LANG_PREF_CHANGED = 301, 00097 EE_SUBTITLE_LANG_PREF_CHANGED = 302, 00098 } E_ENGINE_EVENT; 00099 00100 /*---Global variable declarations for public use-----------------------------*/ 00101 00102 /*---Global Function prototypes for public use-------------------------------*/ 00103 00104 00105 #ifdef MH5PRINTOUT 00106 00111 void MHEG5queuePrint(char *out); 00112 #endif 00113 00114 00120 void MHEG5queueResetScene( MHEG5Root *grp ); 00121 00127 void MHEG5queueResolveTargets( MHEG5ActionList actions ); 00128 00134 void MHEG5queueUnresolveTargets( MHEG5ActionList actions ); 00135 00143 void MHEG5actionListExecute( MHEG5Group *source, MHEG5ActionList actions ); 00144 00145 00151 void MHEG5PrependActionList( MHEG5ActionList actions ); 00152 00158 void MHEG5AppendActionList( MHEG5ActionList actions ); 00159 00167 void MHEG5sendEvent( MHEG5Root *source, MHEG5EventType event, int data ); 00168 00173 void MHEG5sendAppEngineEvent( E_ENGINE_EVENT engine_event ); 00174 00182 void MHEG5sendSync( MHEG5Root *source, MHEG5EventType event, int data ); 00183 00184 00192 void MHEG5stopEventsAndResetQueue(void); 00193 00194 00200 void MHEG5queueEvents(void); 00201 00202 00212 void MHEG5processQueue(void); 00213 00214 00224 void MHEG5enableEventProcessing(MHEG5Bool enable); 00225 00226 00234 void MHEG5eventProcessingReset(void); 00235 00236 00241 void MHEG5requestDisplayUpdate(void); 00242 00243 00244 int MHEG5InitQueues(void); 00245 void MHEG5ExitQueues(void); 00246 00247 #endif /*_MH5QUEUE_H*/