MHEG5  15.3.0
source/classes/inc/mh5tokengroup.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  *******************************************************************************/
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_*/
 All Data Structures Files Functions Variables Typedefs Defines