Update contrib.
2 * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: DRM Play ClientServer
18 #ifndef __DRMPLAYCLIENTSERVER_H
19 #define __DRMPLAYCLIENTSERVER_H
23 #include <mmf/common/mmfstandardcustomcommands.h>
28 _LIT(KDRMPlayServerName,"DRMPlayServer");
29 _LIT(KDRMPlayServerImg,"DRMPlayServer"); // DLL/EXE name
31 const TUid KDRMPlayServerUid3={0x1020381D};
33 const TUid KUidCustomInterfaceBuilder = {0x10200017}; // This should match \s60\mw\mmenhs\inc\CustomInterfaceBuilderTypes.h
34 const TUid KUidAudioOutput = {0x10200018}; // This should match \s60\mw\mmenhs\inc\AudioOutputMessageTypes.h
36 #ifdef __MYSERVER_NO_PROCESSES__
37 const TInt KDRMPlayServerStackSize=0x2000; // 8KB
38 const TInt KDRMPlayServerInitHeapSize=0x1000; // 4KB
39 const TInt KDRMPlayServerMaxHeapSize=0x1000000; // 16MB
43 const TUint KDRMPlayServMajorVersionNumber=0;
44 const TUint KDRMPlayServMinorVersionNumber=1;
45 const TUint KDRMPlayServBuildVersionNumber=1;
49 // opcodes used in message passing between client and server
53 EDRMPlayServNewFilePlayerL,
54 EDRMPlayServNewDesPlayerL,
55 EDRMPlayServNewDesPlayerReadOnlyL,
56 EDRMPlayServNewPlayerL,
58 EDRMPlayServOpenFileByHandle,
59 EDRMPlayServOpenFileBySource,
64 EDRMPlayServSetVolume,
65 EDRMPlayServSetRepeats,
66 EDRMPlayServSetVolumeRamp,
68 EDRMPlayServMaxVolume,
71 EDRMPlayServGetPosition,
72 EDRMPlayServSetPosition,
73 EDRMPlayServSetPriority,
74 EDRMPlayServGetVolume,
75 EDRMPlayServGetNumberOfMetaDataEntries,
76 EDRMPlayServGetMetaDataEntry,
77 EDRMPlayServClearPlayWindow,
78 EDRMPlayServSetPlayWindow,
79 EDRMPlayServSetBalance,
80 EDRMPlayServGetBalance,
81 EDRMPlayServGetBitRate,
82 EDRMPlayServRegisterForAudioLoadingNotification,
83 EDRMPlayServGetAudioLoadingProgress,
84 EDRMPlayServControllerImplementationInformation,
85 EDRMPlayServCustomCommandSyncWithReturn,
86 EDRMPlayServCustomCommandSyncWithoutReturn,
87 EDRMPlayServCustomCommandAsyncWithReturnStep1,
88 EDRMPlayServCustomCommandAsyncWithReturnStep2,
89 EDRMPlayServCustomCommandAsyncWithoutReturnStep1,
90 EDRMPlayServCustomCommandAsyncWithoutReturnStep2,
91 EDRMPlayServSetPriorityPreference
94 enum TDRMPlayServLeave
100 enum TAsyncCallbackState
106 ECustomCommandCompleteNoData,
107 ECustomCommandComplete
110 typedef TPckgBuf<TAsyncCallbackState> TAsyncCallbackStatePckgBuf;
111 struct TErrorDurationStruct
114 TTimeIntervalMicroSeconds iDuration;
117 typedef TPckgBuf<TErrorDurationStruct> TErrorDurationStructPckgBuf;
119 class TDRMCustomCommand
122 TDRMCustomCommand(){};
123 ~TDRMCustomCommand(){};
124 TMMFMessageDestinationPckg iDestination;
126 TRequestStatus iRequestStatus;
127 TAsyncCallbackStatePckgBuf iAsyncCallback;
130 typedef TPckgBuf<TDRMCustomCommand> TPckgCustomCommand;
137 TMdaPriorityPreference iPref;
139 typedef TPckgBuf<TDataStruct> TDataStructPckgBuf;
145 TBuf8<100> iMimeType;
148 class TPlayWindowStruct
151 TTimeIntervalMicroSeconds iPlayStart;
152 TTimeIntervalMicroSeconds iPlayEnd;
155 typedef TPckgBuf<TPlayWindowStruct> TPlayWindowStructBuf;
157 class TSetPositionStruct
160 TTimeIntervalMicroSeconds iPosition;
163 typedef TPckgBuf<TSetPositionStruct> TSetPositionStructBuf;
168 typedef TPckgBuf<TUrlStruct> TUrlStructPckgBuf;
170 typedef TPckg<TDesC8> TPckgDesC8;
171 typedef TPckg<TDesC> TPckgDesC;
172 typedef TPckgBuf<TInt> TPckgBufTInt;
173 typedef TPckg<TTimeIntervalMicroSeconds> TPckgTTimeIntervalMicroSeconds;
174 typedef TPckgBuf<TTimeIntervalMicroSeconds> TPckgBufTTimeIntervalMicroSeconds;
175 typedef TPckgBuf<TPtr8> TPckgBufTDes8;
176 typedef TPckg<TRequestStatus> TPckgTRequestStatus;
177 typedef TPckgBuf<TUint> TPckgBufTUint;
178 typedef TPckgBuf<TMMSource> TPckgBufTMMSource;