DSMCC  17.9.0
 All Data Structures Files Functions Typedefs
objectCarousel.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 © 2001 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  *******************************************************************************/
25 #ifndef _OBJECTCAROUSEL_H_
26 #define _OBJECTCAROUSEL_H_
27 
28 
29 /*-------------------------------- Includes --------------------------------*/
30 
31 #include "rootCarousel.h"
32 #include "object.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /*----------------------------- Exported Macros ----------------------------*/
39 
40 /*------------------------------ Exported Types ----------------------------*/
41 
42 typedef struct FileGroupList_s *pFileGroupList_t;
43 
44 typedef struct s_ObjectCarousel
45 {
46  S_RootCarousel root;
47 
48  S_DeliveryParaTap srgTap;
49  S_ObjectLocation srgObjLoc;
50  pFileGroupList_t pFileGroupList;
51 
52  U32BIT srgObjectOffset;
53  ObjectDataInfo_t srgObjectInfo;
54 
55  BOOLEAN bOCLiteOptionsObjectProcessing;
56  U16BIT loadedObjectCount;
57 
58  P_LLControl llcCurrObjects;
59  P_LLControl llcOcPostponedLiteObjectLoads;
61 
62 
63 /*------------------------------ Exported Data -----------------------------*/
64 
65 
66 /*--------------------------- Exported Prototypes --------------------------*/
67 
68 E_DscError DSC_ObjCrslCreate( P_DsmCoreInst idp, U16BIT serviceId,
69  U32BIT carouselId, P_ObjectCarousel *ppObjectCarousel );
70 
71 void DSC_ObjCrslDestroy( P_DsmCoreInst idp, P_ObjectCarousel *ppObjectCarousel );
72 
73 E_DscError DSC_ObjCrslParseSrgInfo( P_DsmCoreInst idp, P_ObjectCarousel pOC,
74  U8BIT *pDsiPrivate, U16BIT dsiPrivateLen );
75 
76 void DSC_ObjCrslUpdateSuiLoaded( P_DsmCoreInst idp, P_ObjectCarousel pOC );
77 
78 E_DscError DSC_ObjCrslRetrieveFileGroups( P_ObjectCarousel pOC, U16BIT *total,
79  S_CarouselInfoFileGroup **pGroups );
80 
81 void DSC_ObjCrslReleaseFileGroups( P_DsmCoreInst idp, P_ObjectCarousel pOC, S_CarouselInfoFileGroup *groups );
82 
83 E_DscError DSC_ObjCrslUnloadObjects( P_DsmCoreInst idp, P_ObjectCarousel pOC, E_DsmRstMode mode );
84 
85 BOOLEAN DSC_ObjCrslSrgObjectLoaded( P_ObjectCarousel pOC );
86 
87 P_Module DSC_ObjCrslSrgModule( P_ObjectCarousel pOC );
88 
89 void DSC_ObjCrslSrgObjectReset( P_ObjectCarousel pOC );
90 
91 /*----------------------------------------------------------------------------*/
92 
93 #ifdef __cplusplus
94 }
95 #endif
96 #endif /* _OBJECTCAROUSEL_H_ */
97 
Header to the object module - functions/methods accessing data of object messages inside modules...