MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
dvb_pvr.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2012 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  *******************************************************************************/
30 #ifndef _DVB_PVR_H
31 #define _DVB_PVR_H
32 
33 #include "techtype.h"
34 #include "dtvstring.h"
35 #include "mherrors.h"
36 #include "dvblocator.h"
37 
38 /*---Constant and macro definitions for public use-----------------------------*/
39 
40 /*---Enumerations for public use-----------------------------------------------*/
41 
42 /*---Global type defs for public use-------------------------------------------*/
43 
44 /*************************************************
45  *** start of AUSTRALIA profile specific types ***/
46 typedef struct
47 {
48  U16BIT year;
49  U8BIT month;
50  U8BIT day;
51 } S_PVR_DATE;
52 
53 typedef struct
54 {
55  U8BIT hour;
56  U8BIT minute;
57 } S_PVR_TIME;
58 
59 typedef struct s_location
60 {
61  S_DVB_LOCATOR dvb_loc;
62  S_PVR_DATE date;
63  S_PVR_TIME time;
64  S_PVR_TIME offset;
65  S_PVR_TIME duration;
66 } S_LOCATION;
67 
68 typedef struct s_booking
69 {
70  struct s_booking *next;
71  U32BIT num_locs;
72  S_LOCATION *p_locs;
73 } S_BOOKING;
74 /**** end of AUSTRALIA profile specific types ***
75  ************************************************/
76 
77 /* CRID details structure */
78 typedef struct
79 {
80  /* general information */
81  S32BIT type;
82  S_STRING title;
83  S_STRING description;
84 
85  /* for AUSTRALIA profile */
86  S_BOOKING *bookings; /* NULL, unless AUS profile */
88 
89 
90 /* CRID string - this has format:
91  * Scheme + Authority + Unique Identifier
92  * and for NZ profile, this could additionally have
93  * '#' + Instance Identifier
94  * Also, in the NZ profile CRID type is always supplied with the string.
95  */
96 typedef struct s_crid_rec
97 {
98  S_STRING crid;
99  S32BIT type;
100 } S_CRID_REC;
101 
102 /*---Global Function prototypes for public use---------------------------------*/
103 
134 E_MhegErr DVB_MhegPvrMakeBooking( S_STRING crid, S_CRID_DETAILS *details );
135 
136 
144 E_MhegErr DVB_MhegPvrCancelBooking( S_STRING crid, U16BIT crid_type );
145 
146 
154 S_CRID_REC* DVB_MhegPvrListBookings( U16BIT *number );
155 
156 
165 void DVB_MhegPvrReleaseList( S_CRID_REC *crid_array );
166 
167 
177 
178 
188 
189 #endif /* _DVB_PVR_H */
Define MHEG5 String type.
Definition: dvblocator.h:30
Definition: dtvstring.h:28
Definition: dvb_pvr.h:53
S_CRID_DETAILS * DVB_MhegPvrGetDetails(S_STRING crid)
Required by Australia profile only. Returns the type, name, description and a single booking section ...
Definition: dvb_pvr.h:68
MHEG5 engine interface error codes.
void DVB_MhegPvrReleaseList(S_CRID_REC *crid_array)
MHEG indicates that it is finished using the array returned by DVB_MhegPvrListBookings(). For example, platforms that malloc memory for this, may wish to free the memory here.
Definition: dvb_pvr.h:59
void DVB_MhegPvrReleaseDetails(S_CRID_DETAILS *details)
Required by Australia profile only. MHEG indicates that it is finished using the CRID details returne...
Definition: dvb_pvr.h:96
Definition: dvb_pvr.h:78
System Wide Global Technical Data Type Definitions.
E_MhegErr DVB_MhegPvrCancelBooking(S_STRING crid, U16BIT crid_type)
Removes an event from the PVR schedule.
Definition of DVB locator and DVB component types.
E_MhegErr DVB_MhegPvrMakeBooking(S_STRING crid, S_CRID_DETAILS *details)
The function adds an event to the PVR’s list of scheduled events to record. The type of CRID can be an...
Definition: dvb_pvr.h:46
S_CRID_REC * DVB_MhegPvrListBookings(U16BIT *number)
Returns an array of CRIDs (and CRID types for NZ profile) that are being monitored by the PVR...