Wasabi ExpressPlay SDK for Embedded Systems  1.10
ShiAction.h
Go to the documentation of this file.
1 /*****************************************************************
2 |
3 | Sushi - Action
4 |
5 | $Id: ShiAction.h 7930 2014-06-25 11:05:10Z jebaseelir $
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_ACTION_H_
22 #define _SHI_ACTION_H_
23 
24 /*----------------------------------------------------------------------
25 | includes
26 +---------------------------------------------------------------------*/
27 #include "ShiResults.h"
28 #include "ShiTypes.h"
29 #include "ShiList.h"
30 #include "ShiAttributes.h"
31 #include "ShiLicenseInfo.h"
32 
33 /*----------------------------------------------------------------------
34 | constants
35 +---------------------------------------------------------------------*/
39 #define SHI_ACTION_CALLBACK_IS_MANDATORY 0x00000001
40 #define SHI_ACTION_CALLBACK_IS_RESET 0x00010000
41 
45 #define SHI_ACTION_OBLIGATION_IS_MANDATORY 0x00000001
46 
50 #define SHI_ACTION_RESULT_MUST_ACCEPT 0x00000001
51 #define SHI_ACTION_RESULT_HAS_OBLIGATIONS 0x00000002
52 #define SHI_ACTION_RESULT_HAS_CALLBACKS 0x00000004
53 
58 #define SHI_ACTION_PLAY "Play"
59 
70 #define SHI_ACTION_EXPORT "Export"
71 
72 /*
73  * Predefined export modes.
74  */
75 #define SHI_ACTION_EXPORT_MODE_DONT_KNOW "DontKnow"
76 #define SHI_ACTION_EXPORT_MODE_RENDER "Render"
77 #define SHI_ACTION_EXPORT_MODE_COPY "Copy"
78 #define SHI_ACTION_EXPORT_MODE_MOVE "Move"
79 
80 /*
81  * Predefined export target systems ID used when exporting to
82  * audio CD (also known as CD Burning).
83  */
84 #define SHI_ACTION_EXPORT_SYSTEM_AUDIO_CD "CleartextPcmAudio"
85 
86 #define SHI_DATA_POINTER_TYPE_ID_CALLBACK 1
87 #define SHI_DATA_POINTER_TYPE_ID_OBLIGATION 2
88 
89 /*----------------------------------------------------------------------
90 | types
91 +---------------------------------------------------------------------*/
95 typedef struct {
96  const char* target_system;
98  const char* export_mode;
102 
106 typedef enum {
115 
122 
136 
140 typedef struct {
147 
152 
158  const void* parameters;
160 
164 typedef enum {
169 
173 #define SHI_MEDIA_ZONE_FLAG_METER 1
174 #define SHI_MEDIA_ZONE_FLAG_INCLUDE_SPLICE 2
175 
180 typedef struct {
185 
190 
196 
202 typedef struct {
206 
212 typedef struct {
220 
225 typedef enum {
228 
231 
239 
243 typedef struct {
248  const char* metering_tag;
250 
254 typedef enum {
263 
272 
280 
288 
297 
306 
316 
320 typedef struct {
327 
332 
341 
348  const void* parameters;
350 
354 typedef struct {
360 
364 typedef struct {
372 
376 typedef struct {
386 
390 typedef struct {
397 
401 typedef struct {
405 
422 typedef struct {
427 
428 /*----------------------------------------------------------------------
429 | interfaces
430 +---------------------------------------------------------------------*/
431 #if defined(__cplusplus)
432 extern "C" {
433 #endif
434 
445 
457 void*
459 
471 
489 
505 SHI_Result
507 
519 SHI_Result
521 
533 SHI_Result
535 
552 
564 typedef struct SHI_Action SHI_Action;
565 
577 void*
579 
591 
605 SHI_Result
606 SHI_Action_Describe(SHI_Action* self, SHI_LicenseInfo** description);
607 
623 
642 
671 SHI_Result
673  SHI_UInt32 callback_handle,
674  const void* arguments,
675  SHI_ActionResult** result);
676 
691 SHI_Result
694  const void* parameters);
695 
697 #if defined(__cplusplus)
698 }
699 #endif
700 
701 #endif /* _SHI_ACTION_H_ */