MHEG5  15.3.0
include/dvb_pvr.h
Go to the documentation of this file.
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 */
 All Data Structures Files Functions Variables Typedefs Defines