MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
mh5hfs.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2009 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
25 #ifndef _MH5HFS_H
26 #define _MH5HFS_H
27 
28 
29 /*---includes for this file--------------------------------------------------*/
30 #include "mh5base.h"
31 
32 /*---Constant and macro definitions for public use---------------------------*/
33 
34 /*---Enumerations for public use---------------------------------------------*/
35 
36 /*---Global type defs for public use-----------------------------------------*/
37 typedef struct
38 {
39  void *mapping;
40  MHEG5Int currentPos;
42 
43 /*---Global variable declarations for public use-----------------------------*/
44 
45 /*---Global Function prototypes for public use-------------------------------*/
46 
55 
62 
67 void MHEG5PushHybridFileSystem(void);
68 
74 void MHEG5PopHybridFileSystem(void);
75 
83  MHEG5String *mappingList);
84 
92 
100 void MHEG5ReleaseHybridFileSystemMapping(void *mapping);
101 
108 void MHEG5InitMappingIter(MHEG5MappingIter_t *iter, void *mapping);
109 
119  MHEG5MappingIter_t *iter);
120 
134 
141 #endif /*_MH5HFS_H*/
Basis MHEG5 data types.
Definition: mh5base.h:82
void MHEG5InitialiseHybridFileSystem(void)
Initialise the hybrid file system. The hybrid file system is a set of mappings from a "path" string (...
Definition: mh5hfs.c:107
void MHEG5InitMappingIter(MHEG5MappingIter_t *iter, void *mapping)
Initialise hybrid filesystem mapping iterator.
Definition: mh5hfs.c:283
void MHEG5SetHybridFileSystem(MHEG5String *pathName, MHEG5String *mappingList)
Set mapping list in the hybrid file system. This function sets, clears or modifies the list of mappin...
Definition: mh5hfs.c:152
Definition: mh5hfs.h:37
void MHEG5ClearHybridFileSystem(void)
Clear the hybrid file system and restore the default mapping // -> DSM://.
Definition: mh5hfs.c:117
MHEG5String MHEG5GetFirstDsmReference(MHEG5String *reference)
Return first reference with DSM:// source. This is a convenience function that converts a hybrid:// r...
Definition: mh5hfs.c:381
void * MHEG5GetHybridFileSystemMapping(MHEG5String *reference)
Return mapping from the hybrid file system given path name. The mapping must be released using MHEG5R...
Definition: mh5hfs.c:211
void MHEG5PopHybridFileSystem(void)
Clear the current hybrid file system and pop a stored hybrid file system from the stack...
Definition: mh5hfs.c:141
void MHEG5PushHybridFileSystem(void)
Push a copy of the current hybrid file system into the stack.
Definition: mh5hfs.c:131
void MHEG5ReleaseHybridFileSystemMapping(void *mapping)
Release mapping returned from the hybrid file system. The mapping must be have been returned by a cal...
Definition: mh5hfs.c:270
MHEG5String MHEG5GetNextReference(MHEG5String *reference, MHEG5MappingIter_t *iter)
Return next reference from mapping iterator.
Definition: mh5hfs.c:301