MHEG5  15.3.0
source/core/inc/mh5queue.h
Go to the documentation of this file.
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*/
 All Data Structures Files Functions Variables Typedefs Defines