inc/DRMPlayClientServer.h
author hgs
Tue, 02 Nov 2010 12:13:59 +0000
changeset 5 b220a9341636
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
/*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
* All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
* Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
* Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
* Description:  DRM Play ClientServer
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
*
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
*/
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
#ifndef __DRMPLAYCLIENTSERVER_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
#define __DRMPLAYCLIENTSERVER_H
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
#include <e32base.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
#include <mmf/common/mmfstandardcustomcommands.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
// server name
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
_LIT(KDRMPlayServerName,"DRMPlayServer");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
_LIT(KDRMPlayServerImg,"DRMPlayServer");		// DLL/EXE name
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
const TUid KDRMPlayServerUid3={0x1020381D};  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
const TUid KUidCustomInterfaceBuilder = {0x10200017}; // This should match \s60\mw\mmenhs\inc\CustomInterfaceBuilderTypes.h
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
const TUid KUidAudioOutput = {0x10200018}; // This should match \s60\mw\mmenhs\inc\AudioOutputMessageTypes.h
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
#ifdef __MYSERVER_NO_PROCESSES__
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
const TInt KDRMPlayServerStackSize=0x2000;			//  8KB
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
const TInt KDRMPlayServerInitHeapSize=0x1000;		//  4KB
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
const TInt KDRMPlayServerMaxHeapSize=0x1000000;		// 16MB
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
const TUint KDRMPlayServMajorVersionNumber=0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
const TUint KDRMPlayServMinorVersionNumber=1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
const TUint KDRMPlayServBuildVersionNumber=1;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
// opcodes used in message passing between client and server
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
enum TDRMPlayServRqst
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
	EDRMPlayServCreate,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
	EDRMPlayServNewFilePlayerL,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
	EDRMPlayServNewDesPlayerL,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
	EDRMPlayServNewDesPlayerReadOnlyL,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
	EDRMPlayServNewPlayerL,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
	EDRMPlayServOpenFile,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
	EDRMPlayServOpenFileByHandle,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
	EDRMPlayServOpenFileBySource,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
	EDRMPlayServOpenDes,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
	EDRMPlayServOpenUrl,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
	EDRMPlayServPlay,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
	EDRMPlayServStop,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
	EDRMPlayServSetVolume,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
	EDRMPlayServSetRepeats,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
	EDRMPlayServSetVolumeRamp,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
	EDRMPlayServDuration,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
	EDRMPlayServMaxVolume,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
	EDRMPlayServPause,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
	EDRMPlayServClose,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
	EDRMPlayServGetPosition,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
	EDRMPlayServSetPosition,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
	EDRMPlayServSetPriority,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
	EDRMPlayServGetVolume,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
	EDRMPlayServGetNumberOfMetaDataEntries,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
	EDRMPlayServGetMetaDataEntry,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
	EDRMPlayServClearPlayWindow,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
	EDRMPlayServSetPlayWindow,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
	EDRMPlayServSetBalance,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
	EDRMPlayServGetBalance,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
	EDRMPlayServGetBitRate,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
	EDRMPlayServRegisterForAudioLoadingNotification,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
	EDRMPlayServGetAudioLoadingProgress,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
	EDRMPlayServControllerImplementationInformation,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
	EDRMPlayServCustomCommandSyncWithReturn,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
	EDRMPlayServCustomCommandSyncWithoutReturn,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
	EDRMPlayServCustomCommandAsyncWithReturnStep1,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
	EDRMPlayServCustomCommandAsyncWithReturnStep2,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
	EDRMPlayServCustomCommandAsyncWithoutReturnStep1,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
	EDRMPlayServCustomCommandAsyncWithoutReturnStep2,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
	EDRMPlayServSetPriorityPreference
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
enum TDRMPlayServLeave
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
	ENonNumericString
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
enum TAsyncCallbackState
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
	ELoadingStarted,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
	ELoadingComplete,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
	EInitComplete,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
	EPlayComplete,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
	ECustomCommandCompleteNoData,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
	ECustomCommandComplete
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
typedef TPckgBuf<TAsyncCallbackState> TAsyncCallbackStatePckgBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
struct TErrorDurationStruct
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
	TInt iError;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	TTimeIntervalMicroSeconds iDuration;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
typedef TPckgBuf<TErrorDurationStruct> TErrorDurationStructPckgBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
class TDRMCustomCommand
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
		TDRMCustomCommand(){};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
		~TDRMCustomCommand(){};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
		TMMFMessageDestinationPckg iDestination; 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
		TInt iFunction;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
		TRequestStatus iRequestStatus;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
		TAsyncCallbackStatePckgBuf 	iAsyncCallback;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
typedef TPckgBuf<TDRMCustomCommand>	TPckgCustomCommand;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
struct TDataStruct
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
	TBuf<100> iFileName;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
	TBuf8<100> iData;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
	TInt iPriority;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
	TMdaPriorityPreference iPref;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
typedef TPckgBuf<TDataStruct> TDataStructPckgBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
struct TUrlStruct
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
	TBuf<100> iUrl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
	TInt iIapId;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
	TBuf8<100> iMimeType;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
	};
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
class TPlayWindowStruct
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
	TTimeIntervalMicroSeconds iPlayStart;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
	TTimeIntervalMicroSeconds iPlayEnd;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
	};	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
typedef TPckgBuf<TPlayWindowStruct> TPlayWindowStructBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
class TSetPositionStruct
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
	public:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
	TTimeIntervalMicroSeconds iPosition;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
	};	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
typedef TPckgBuf<TSetPositionStruct> TSetPositionStructBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
typedef TPckgBuf<TUrlStruct> TUrlStructPckgBuf;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
typedef TPckg<TDesC8> TPckgDesC8;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
typedef TPckg<TDesC> TPckgDesC;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
typedef TPckgBuf<TInt> TPckgBufTInt;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
typedef TPckg<TTimeIntervalMicroSeconds> TPckgTTimeIntervalMicroSeconds;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
typedef TPckgBuf<TTimeIntervalMicroSeconds> TPckgBufTTimeIntervalMicroSeconds;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
typedef TPckgBuf<TPtr8> TPckgBufTDes8;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
typedef TPckg<TRequestStatus> TPckgTRequestStatus;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
typedef	TPckgBuf<TUint> TPckgBufTUint;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
typedef	TPckgBuf<TMMSource> TPckgBufTMMSource;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
#endif
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182