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 *******************************************************************************/ 00035 #ifndef _MH5TOKENGROUP_H_ 00036 #define _MH5TOKENGROUP_H_ 00037 00038 /*---includes for this file--------------------------------------------------*/ 00039 #include "mh5tokenmanager.h" 00040 #include "mh5presentable.h" 00041 #include "mh5action.h" 00042 00043 /*---Constant and macro definitions for public use---------------------------*/ 00044 00045 /*---Enumerations for public use---------------------------------------------*/ 00046 00047 /*---Global type defs for public use-----------------------------------------*/ 00048 00049 typedef struct sMHEG5TokenSlot 00050 { 00051 MHEG5Int id; /* to referenced visible */ 00052 MH5GroupRef groupid; /* to referenced visible */ 00053 MHEG5Int actions_num; 00054 MHEG5ActionList *actions_ptr; 00055 } MHEG5TokenSlot; 00056 00057 00058 typedef struct 00059 { 00060 /* Base classes */ 00061 MHEG5Ingredient ingredient; 00062 MHEG5TokenManager tokenManager; 00063 00064 /* Exchanged attributes */ 00065 MHEG5Int tokens_num; 00066 MHEG5TokenSlot *tokens_ptr; /* zeroth token is the noTokenActionSlot */ 00067 00068 /* No internal attributes for this class */ 00069 } MHEG5TokenGroup; 00070 00071 /*---Global variable declarations for public use-----------------------------*/ 00072 00073 /*---Global Function prototypes for public use-------------------------------*/ 00074 00082 void MHEG5tokenGroupFree(MHEG5TokenGroup *tokenGroup); 00083 00084 void MHEG5tokenGroupPrepare(MHEG5TokenGroup *tokenGroup); 00085 void MHEG5tokenGroupActivate(MHEG5TokenGroup *tokenGroup); 00086 void MHEG5tokenGroupDeactivate(MHEG5TokenGroup *tokenGroup); 00087 void MHEG5tokenGroupDestruct(MHEG5TokenGroup *tokenGroup); 00088 00089 MHEG5ErrorCode MHEG5callActionSlot(MHEG5Root *target, MHEG5GList *params); 00090 00091 /* 00092 Debug 00093 */ 00094 #ifdef MH5PRINTOUT 00095 00101 void MHEG5tokenGroupPrint(MHEG5TokenGroup *tokenGroup, char *out); 00102 #endif 00103 00104 #endif /*_MH5TOKENGROUP_H_*/