Wasabi ExpressPlay SDK for Embedded Systems  1.23.0
ShiService.h
Go to the documentation of this file.
1 /*****************************************************************
2 |
3 | Sushi - Broadband Services
4 |
5 | $Id: ShiService.h 8071 2016-01-05 10:10:33Z nraghu $
6 | Original author: Gilles Boccon-Gibod
7 |
8 | This software is provided to you pursuant to your agreement
9 | with Intertrust Technologies Corporation ("Intertrust").
10 | This software may be used only in accordance with the terms
11 | of the agreement.
12 |
13 | Copyright (c) 2005-2014 by Intertrust. All rights reserved.
14 |
15 ****************************************************************/
21 #ifndef _SHI_SERVICE_H_
22 #define _SHI_SERVICE_H_
23 
24 /*----------------------------------------------------------------------
25 | includes
26 +---------------------------------------------------------------------*/
27 #include "ShiResults.h"
28 #include "ShiTypes.h"
29 #include "ShiInterfaces.h"
30 #include "ShiAttributes.h"
31 #include "ShiData.h"
32 
33 /*----------------------------------------------------------------------
34 | types
35 +---------------------------------------------------------------------*/
39 typedef struct {
40  const char* name;
41  const char* uid;
43 
47 typedef struct {
48  const char* name;
49  const char* uid;
53 
57 typedef struct {
58  const char* name;
59  const char* uid;
69 
70 /*----------------------------------------------------------------------
71 | interfaces
72 +---------------------------------------------------------------------*/
73 #if defined(__cplusplus)
74 extern "C" {
75 #endif
76 
85 typedef struct SHI_Service SHI_Service;
86 
98 void*
100 
112 
121 SHI_Result
123 
139 
151 
163 void*
165 
175 SHI_Result
177 
186 SHI_Result
188 
204 
216 
228 void*
230 
240 SHI_Result
242 
251 SHI_Result
253 
269 
272 #if defined (__cplusplus)
273 }
274 #endif
275 
276 #endif /* _SHI_SERVICE_H_ */
#define SHI_PUBLIC_API
Definition: ShiTypes.h:52
SHI_Data * renewal_uri_template
Renewal URI template for renewing subscription.
Definition: ShiService.h:65
Result codes.
struct SHI_ServiceSubscription SHI_ServiceSubscription
A SHI_ServiceSubscription object represents information about a service subscription.
Definition: ShiService.h:215
SHI_Boolean is_device_registered
Indicates whether the device on which the code runs is registered to this user.
Definition: ShiService.h:50
SHI_DateTime expiration
Expiration date for the subscription (all fields will be set to 0 if the expiration date cannot be de...
Definition: ShiService.h:61
SHI_PUBLIC_API void * SHI_ServiceUser_GetInterface(SHI_ServiceUser *self, SHI_InterfaceId iface_id)
Obtains a pointer to a SHI_ServiceUser object with a different interface.
Interfaces.
const char * name
Human-readable name for the service user.
Definition: ShiService.h:48
struct SHI_Attribute SHI_Attribute
SHI_Attribute objects represent named values that can be arranged in a tree structure.
Definition: ShiAttributes.h:110
Information about a service subscription.
Definition: ShiService.h:57
const char * name
Human-readable name for the service.
Definition: ShiService.h:40
SHI_DateTime renewal_date
Renewal date for the subscription.
Definition: ShiService.h:64
Information about a service user.
Definition: ShiService.h:47
struct SHI_ServiceUser SHI_ServiceUser
A SHI_ServiceUser object represents information about a service user.
Definition: ShiService.h:150
SHI_PUBLIC_API SHI_Result SHI_ServiceUser_GetInfo(SHI_ServiceUser *self, SHI_ServiceUserInfo *info)
Gets basic information about this service user.
SHI_PUBLIC_API void * SHI_Service_GetInterface(SHI_Service *self, SHI_InterfaceId iface_id)
Obtains a pointer to a SHI_Service object with a different interface.
SHI_PUBLIC_API SHI_Result SHI_ServiceSubscription_Release(SHI_ServiceSubscription *self)
Releases this service subscription object.
const char * uid
Unique ID for the service.
Definition: ShiService.h:41
SHI_PUBLIC_API SHI_Result SHI_ServiceUser_Release(SHI_ServiceUser *self)
Releases this service user object.
Information about a service.
Definition: ShiService.h:39
SHI_UInt32 SHI_InterfaceId
Definition: ShiInterfaces.h:33
const char * name
Human-readable name for the service subscription.
Definition: ShiService.h:58
SHI_Boolean
Boolean type used for variables that can be true (SHI_TRUE) or false (SHI_FALSE). ...
Definition: ShiTypes.h:62
struct SHI_Service SHI_Service
A SHI_Service object represents information about a service.
Definition: ShiService.h:85
SHI_PUBLIC_API SHI_Result SHI_Service_Release(SHI_Service *self)
Releases this service object.
A date and time.
Definition: ShiTypes.h:128
SHI_PUBLIC_API SHI_Result SHI_ServiceSubscription_GetDetails(SHI_ServiceSubscription *self, SHI_Attribute **details)
Gets the details of this service subscription.
SHI_PUBLIC_API SHI_Result SHI_ServiceUser_GetDetails(SHI_ServiceUser *self, SHI_Attribute **details)
Gets the details of this service user.
const char * uid
Unique ID for the service user.
Definition: ShiService.h:49
SHI_PUBLIC_API SHI_Result SHI_ServiceSubscription_GetInfo(SHI_ServiceSubscription *self, SHI_ServiceSubscriptionInfo *info)
Gets basic information about this service subscription.
struct SHI_Data SHI_Data
A SHI_Data object represents a typed data object.
Definition: EmbProcessor.h:231
Common data types.
Attributes.
SHI_PUBLIC_API void * SHI_ServiceSubscription_GetInterface(SHI_ServiceSubscription *self, SHI_InterfaceId iface_id)
Obtains a pointer to a SHI_ServiceSubscription object with a different interface. ...
int SHI_Result
Signed integer value representing a function or method result (return value).
Definition: ShiTypes.h:74
SHI_PUBLIC_API SHI_Result SHI_Service_GetInfo(SHI_Service *self, SHI_ServiceInfo *info)
Gets basic information about this service.
const char * uid
Unique ID for the service subscription.
Definition: ShiService.h:59
SHI_PUBLIC_API SHI_Result SHI_Service_GetDetails(SHI_Service *self, SHI_Attribute **details)
Gets the details of this service.
SHI_Boolean is_valid
Indicates if the subscription is currently valid.
Definition: ShiService.h:60
Generic Data Objects.