MHEG5
15.3.0
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2012 Ocean Blue Software Ltd 00004 * 00005 * This file is part of a DTVKit Software Component 00006 * You are permitted to copy, modify or distribute this file subject to the terms 00007 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00008 * 00009 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00010 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00011 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00012 * 00013 * If you or your organisation is not a member of DTVKit then you have access 00014 * to this source code outside of the terms of the licence agreement 00015 * and you are expected to delete this and any associated files immediately. 00016 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00017 *******************************************************************************/ 00030 #ifndef _DVB_PVR_H 00031 #define _DVB_PVR_H 00032 00033 #include "techtype.h" 00034 #include "dtvstring.h" 00035 #include "mherrors.h" 00036 00037 /*---Constant and macro definitions for public use-----------------------------*/ 00038 00039 /*---Enumerations for public use-----------------------------------------------*/ 00040 00041 /*---Global type defs for public use-------------------------------------------*/ 00042 00043 /************************************************* 00044 *** start of AUSTRALIA profile specific types ***/ 00045 typedef struct 00046 { 00047 U16BIT year; 00048 U8BIT month; 00049 U8BIT day; 00050 } S_PVR_DATE; 00051 00052 typedef struct 00053 { 00054 U8BIT hour; 00055 U8BIT minute; 00056 } S_PVR_TIME; 00057 00058 typedef struct s_location 00059 { 00060 S_DVB_LOCATOR dvb_loc; 00061 S_PVR_DATE date; 00062 S_PVR_TIME time; 00063 S_PVR_TIME offset; 00064 S_PVR_TIME duration; 00065 } S_LOCATION; 00066 00067 typedef struct s_booking 00068 { 00069 struct s_booking *next; 00070 U32BIT num_locs; 00071 S_LOCATION *p_locs; 00072 } S_BOOKING; 00073 /**** end of AUSTRALIA profile specific types *** 00074 ************************************************/ 00075 00076 /* CRID details structure */ 00077 typedef struct 00078 { 00079 /* general information */ 00080 S32BIT type; 00081 S_STRING title; 00082 S_STRING description; 00083 00084 /* for AUSTRALIA profile */ 00085 S_BOOKING *bookings; /* NULL, unless AUS profile */ 00086 } S_CRID_DETAILS; 00087 00088 00089 /* CRID string - this has format: 00090 * Scheme + Authority + Unique Identifier 00091 * and for NZ profile, this could additionally have 00092 * '#' + Instance Identifier 00093 * Also, in the NZ profile CRID type is always supplied with the string. 00094 */ 00095 typedef struct s_crid_rec 00096 { 00097 S_STRING crid; 00098 S32BIT type; 00099 } S_CRID_REC; 00100 00101 /*---Global Function prototypes for public use---------------------------------*/ 00102 00133 E_MhegErr PVR_MakeBooking( S_STRING crid, S_CRID_DETAILS *details ); 00134 00135 00143 E_MhegErr PVR_CancelBooking( S_STRING crid, U16BIT crid_type ); 00144 00145 00153 S_CRID_REC* PVR_ListBookings( U16BIT *number ); 00154 00155 00164 void PVR_ReleaseList( S_CRID_REC *crid_array ); 00165 00166 00175 S_CRID_DETAILS* PVR_GetDetails( S_STRING crid ); 00176 00177 00186 void PVR_ReleaseDetails( S_CRID_DETAILS *details ); 00187 00188 #endif /* _DVB_PVR_H */