Pepper_37_C_interfaces
ppb_program_schedule_samsung.h
Go to the documentation of this file.
1 /* Copyright (c) 2015 Samsung Electronics. All rights reserved.
2  */
3 
4 /* From samsung/ppb_program_schedule_samsung.idl,
5  * modified Fri Aug 14 12:48:58 2015.
6  */
7 
8 #ifndef PPAPI_C_SAMSUNG_PPB_PROGRAM_SCHEDULE_SAMSUNG_H_
9 #define PPAPI_C_SAMSUNG_PPB_PROGRAM_SCHEDULE_SAMSUNG_H_
10 
11 #include "ppapi/c/pp_array_output.h"
12 #include "ppapi/c/pp_bool.h"
13 #include "ppapi/c/pp_completion_callback.h"
14 #include "ppapi/c/pp_macros.h"
15 #include "ppapi/c/pp_resource.h"
16 #include "ppapi/c/pp_stdint.h"
17 #include "ppapi/c/pp_time.h"
18 #include "ppapi/c/pp_var.h"
19 #include "ppapi/c/samsung/pp_epg_event_samsung.h"
20 
21 #define PPB_PROGRAMSCHEDULE_SAMSUNG_INTERFACE_0_2 \
22  "PPB_ProgramSchedule_Samsung;0.2"
23 #define PPB_PROGRAMSCHEDULE_SAMSUNG_INTERFACE \
24  PPB_PROGRAMSCHEDULE_SAMSUNG_INTERFACE_0_2
25 
26 /**
27  * @file
28  * This file defines the <code>PPB_ProgramSchedule_Samsung</code> interface.
29  */
30 
31 
32 /**
33  * @addtogroup Enums
34  * @{
35  */
36 /**
37  * Enum that defines program genre
38  */
39 typedef enum {
69 /**
70  * @}
71  */
72 
73 /**
74  * @addtogroup Interfaces
75  * @{
76  */
77 /**
78  * Interface used to retrieve EPG events from transport stream.
79  */
81  /**
82  * IsProgramSchedule() checks if provided resource is program schedule.
83  *
84  * @param[in] resource A <code>PP_Resource</code> identifying resource that
85  * will be checked.
86  *
87  * @return <code>PP_TRUE<code> if resource is identifying program schedule and
88  * <code>PP_FALSE<code> otherwise.
89  */
91  /**
92  * GetID() provides ID of service identified by resource.
93  *
94  * @param[in] resource A <code>PP_Resource</code> identifying program
95  * schedule resource.
96  *
97  * @return <code>uint64_t<code> with ID of service.
98  */
99  uint64_t (*GetID)(PP_Resource resource);
100  /**
101  * GetName() providing name of service identified by resource.
102  *
103  * @param[in] resource A <code>PP_Resource</code> identifying program
104  * schedule resource.
105  *
106  * @return <code>PP_Var<code> of type string, with name of service.
107  */
108  struct PP_Var (*GetName)(PP_Resource resource);
109  /**
110  * GetType() providing type of service identified by resource.
111  *
112  * @param[in] resource A <code>PP_Resource</code> identifying program
113  * schedule resource.
114  *
115  * @return <code>PP_ServiceType<code> with type of service. More information
116  * in pp_epg_event.h.
117  */
119  /**
120  * GetScheduledEvents() providing array of EPG events from scheduled table
121  * for service associated whit program schedule resource.
122  *
123  * @param[in] resource A <code>PP_Resource</code> identifying program
124  * schedule resource.
125  *
126  * @param[in] start_time <code>PP_Time</code> with beginning of
127  * requested schedule.
128  *
129  * @param[in] end_time <code>PP_Time</code> with end of requested schedule.
130  *
131  * @param[in] output <code>PP_ArrayOutput</code> in which
132  * <code>PP_EPGEvent</code> will be returned, ref count for vars in
133  * PP_EPGEvent is increased on behalf of the plugin.
134  *
135  * @param[in] callback <code>PP_CompletionCallback</code> that will be run
136  * when output will be ready.
137  *
138  * @return <code>PP_Error<code> with error code.
139  */
140  int32_t (*GetScheduledEvents)(PP_Resource resource,
141  PP_Time start_time,
142  PP_Time end_time,
143  struct PP_ArrayOutput output,
144  struct PP_CompletionCallback callback);
145  /**
146  * GetPresentFollowing() providing array of EPG events from present/following
147  * table for service associated whit program schedule resource.
148  *
149  * @param[in] resource A <code>PP_Resource</code> identifying program
150  * schedule resource.
151  *
152  * @param[in] output <code>PP_ArrayOutput</code> in which
153  * <code>PP_EPGEvent</code> will be returned, ref count for vars in
154  * PP_EPGEvent is increased on behalf of the plugin.
155  *
156  * @param[in] callback <code>PP_CompletionCallback</code> that will be run
157  * when output will be ready.
158  *
159  * @return <code>PP_Error<code> with error code.
160  */
161  int32_t (*GetPresentFollowing)(PP_Resource resource,
162  struct PP_ArrayOutput output,
163  struct PP_CompletionCallback callback);
164  /**
165  * GetProgramGenre() gets genre of certain program from the service
166  * associated with program schedule resource.
167  *
168  * @param[in] resource A <code>PP_Resource</code> identifying program
169  * schedule resource.
170  *
171  * @param[in] event <code>PP_EPGEvent</code> to get genre of event.
172  *
173  * @param[out] genre <code>uint32_t</code> in which
174  * <code>PP_ProgramGenre</code> enum will be returned.
175  *
176  * @param[in] callback <code>PP_CompletionCallback</code> that will be run
177  * when output will be ready.
178  *
179  * @return <code>PP_Error<code> with error code.
180  */
181  int32_t (*GetProgramGenre)(PP_Resource resource,
182  const struct PP_EPGEvent* event,
183  int32_t* genre,
184  struct PP_CompletionCallback callback);
185  /**
186  * SetRatingLock() sets lock for displaying programs of certain rating.
187  *
188  * @param[in] resource A <code>PP_Resource</code> identifying program
189  * schedule resource.
190  *
191  * @param[in] program <code>PP_RatingInfo</code> from which rating is taken
192  *
193  * @param[in] state <code>PP_Bool</code> of lock to be set.
194  *
195  * @param[in] callback <code>PP_CompletionCallback</code> that will be run
196  * when output will be ready.
197  *
198  * @return <code>PP_Error<code> with error code.
199  */
200  int32_t (*SetRatingLock)(PP_Resource resource,
201  const struct PP_RatingInfo* rating_info,
202  PP_Bool set_lock,
203  struct PP_CompletionCallback callback);
204  /**
205  * GetRatingLock() gets lock status for displaying programs of certain rating.
206  *
207  * @param[in] resource A <code>PP_Resource</code> identifying program
208  * schedule resource.
209  *
210  * @param[in] program <code>PP_RatingInfo</code> from which rating is taken
211  *
212  * @param[out] state <code>PP_Bool</code> of the lock.
213  *
214  * @param[in] callback <code>PP_CompletionCallback</code> that will be run
215  * when output will be ready.
216  *
217  * @return <code>PP_Error<code> with error code.R
218  */
219  int32_t (*GetRatingLock)(PP_Resource resource,
220  const struct PP_RatingInfo* rating_info,
221  PP_Bool* lock_state,
222  struct PP_CompletionCallback callback);
223 };
224 
226 /**
227  * @}
228  */
229 
230 #endif /* PPAPI_C_SAMSUNG_PPB_PROGRAM_SCHEDULE_SAMSUNG_H_ */
231 
int32_t(* SetRatingLock)(PP_Resource resource, const struct PP_RatingInfo *rating_info, PP_Bool set_lock, struct PP_CompletionCallback callback)
double PP_Time
Definition: pp_time.h:29
PP_ServiceType(* GetType)(PP_Resource resource)
PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_ProgramGenre, 4)
int32_t(* GetProgramGenre)(PP_Resource resource, const struct PP_EPGEvent *event, int32_t *genre, struct PP_CompletionCallback callback)
int32_t PP_Resource
Definition: pp_resource.h:40
uint64_t(* GetID)(PP_Resource resource)
int32_t(* GetRatingLock)(PP_Resource resource, const struct PP_RatingInfo *rating_info, PP_Bool *lock_state, struct PP_CompletionCallback callback)
Definition: pp_var.h:166
int32_t(* GetPresentFollowing)(PP_Resource resource, struct PP_ArrayOutput output, struct PP_CompletionCallback callback)
PP_Bool(* IsProgramSchedule)(PP_Resource resource)
struct PP_Var(* GetName)(PP_Resource resource)
int32_t(* GetScheduledEvents)(PP_Resource resource, PP_Time start_time, PP_Time end_time, struct PP_ArrayOutput output, struct PP_CompletionCallback callback)
PP_Bool
Definition: pp_bool.h:30
PP_ServiceType