MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5tokengroup.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
35 #ifndef _MH5TOKENGROUP_H_
36 #define _MH5TOKENGROUP_H_
37 
38 /*---includes for this file--------------------------------------------------*/
39 #include "mh5tokenmanager.h"
40 #include "mh5presentable.h"
41 #include "mh5action.h"
42 
43 /*---Constant and macro definitions for public use---------------------------*/
44 
45 /*---Enumerations for public use---------------------------------------------*/
46 
47 /*---Global type defs for public use-----------------------------------------*/
48 
49 typedef struct sMHEG5TokenSlot
50 {
51  MHEG5Int id; /* to referenced visible */
52  MH5GroupRef groupid; /* to referenced visible */
53  MHEG5Int actions_num;
54  MHEG5ActionList *actions_ptr;
56 
57 
58 typedef struct
59 {
60  /* Base classes */
61  MHEG5Ingredient ingredient;
62  MHEG5TokenManager tokenManager;
63 
64  /* Exchanged attributes */
65  MHEG5Int tokens_num;
66  MHEG5TokenSlot *tokens_ptr; /* zeroth token is the noTokenActionSlot */
67 
68  /* No internal attributes for this class */
70 
71 /*---Global variable declarations for public use-----------------------------*/
72 
73 /*---Global Function prototypes for public use-------------------------------*/
74 
82 void MHEG5tokenGroupFree(MHEG5TokenGroup *tokenGroup);
83 
84 void MHEG5tokenGroupPrepare(MHEG5TokenGroup *tokenGroup);
85 void MHEG5tokenGroupActivate(MHEG5TokenGroup *tokenGroup);
86 void MHEG5tokenGroupDeactivate(MHEG5TokenGroup *tokenGroup);
87 void MHEG5tokenGroupDestruct(MHEG5TokenGroup *tokenGroup);
88 
89 MHEG5ErrorCode MHEG5callActionSlot(MHEG5Root *target, MHEG5GList *params);
90 
91 /*
92  Debug
93  */
94 #ifdef MH5PRINTOUT
95 
101 void MHEG5tokenGroupPrint(MHEG5TokenGroup *tokenGroup, char *out);
102 #endif
103 
104 #endif /*_MH5TOKENGROUP_H_*/
Definition: mh5action.h:199
Definition: mh5tokengroup.h:58
Implement the MHEG5 TokenManager Class 28 TokenManager Class Mix-in class that defines functions to m...
Definition: mh5ingredient.h:63
Definition: mh5tokenmanager.h:60
Definition: mh5base.h:97
Manage elementary actions Manage a table of all actions and call a specific action which is defined b...
Definition: mh5base.h:169
Definition: mh5tokengroup.h:49
Implement the MHEG5 Presentable Class Description Presentable Class Defines the behaviour of objects ...
void MHEG5tokenGroupFree(MHEG5TokenGroup *tokenGroup)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Definition: mh5tokengroup.c:188
Definition: mh5root.h:43