inc/DRMPlayClientServer.h
changeset 0 40261b775718
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/DRMPlayClientServer.h	Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,182 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  DRM Play ClientServer
+*
+*/
+
+#ifndef __DRMPLAYCLIENTSERVER_H
+#define __DRMPLAYCLIENTSERVER_H
+
+
+#include <e32base.h>
+#include <mmf/common/mmfstandardcustomcommands.h>
+
+
+
+// server name
+_LIT(KDRMPlayServerName,"DRMPlayServer");
+_LIT(KDRMPlayServerImg,"DRMPlayServer");		// DLL/EXE name
+
+const TUid KDRMPlayServerUid3={0x1020381D};  
+
+const TUid KUidCustomInterfaceBuilder = {0x10200017}; // This should match \s60\mw\mmenhs\inc\CustomInterfaceBuilderTypes.h
+const TUid KUidAudioOutput = {0x10200018}; // This should match \s60\mw\mmenhs\inc\AudioOutputMessageTypes.h
+
+#ifdef __MYSERVER_NO_PROCESSES__
+const TInt KDRMPlayServerStackSize=0x2000;			//  8KB
+const TInt KDRMPlayServerInitHeapSize=0x1000;		//  4KB
+const TInt KDRMPlayServerMaxHeapSize=0x1000000;		// 16MB
+#endif
+
+
+const TUint KDRMPlayServMajorVersionNumber=0;
+const TUint KDRMPlayServMinorVersionNumber=1;
+const TUint KDRMPlayServBuildVersionNumber=1;
+
+
+
+// opcodes used in message passing between client and server
+enum TDRMPlayServRqst
+	{
+	EDRMPlayServCreate,
+	EDRMPlayServNewFilePlayerL,
+	EDRMPlayServNewDesPlayerL,
+	EDRMPlayServNewDesPlayerReadOnlyL,
+	EDRMPlayServNewPlayerL,
+	EDRMPlayServOpenFile,
+	EDRMPlayServOpenFileByHandle,
+	EDRMPlayServOpenFileBySource,
+	EDRMPlayServOpenDes,
+	EDRMPlayServOpenUrl,
+	EDRMPlayServPlay,
+	EDRMPlayServStop,
+	EDRMPlayServSetVolume,
+	EDRMPlayServSetRepeats,
+	EDRMPlayServSetVolumeRamp,
+	EDRMPlayServDuration,
+	EDRMPlayServMaxVolume,
+	EDRMPlayServPause,
+	EDRMPlayServClose,
+	EDRMPlayServGetPosition,
+	EDRMPlayServSetPosition,
+	EDRMPlayServSetPriority,
+	EDRMPlayServGetVolume,
+	EDRMPlayServGetNumberOfMetaDataEntries,
+	EDRMPlayServGetMetaDataEntry,
+	EDRMPlayServClearPlayWindow,
+	EDRMPlayServSetPlayWindow,
+	EDRMPlayServSetBalance,
+	EDRMPlayServGetBalance,
+	EDRMPlayServGetBitRate,
+	EDRMPlayServRegisterForAudioLoadingNotification,
+	EDRMPlayServGetAudioLoadingProgress,
+	EDRMPlayServControllerImplementationInformation,
+	EDRMPlayServCustomCommandSyncWithReturn,
+	EDRMPlayServCustomCommandSyncWithoutReturn,
+	EDRMPlayServCustomCommandAsyncWithReturnStep1,
+	EDRMPlayServCustomCommandAsyncWithReturnStep2,
+	EDRMPlayServCustomCommandAsyncWithoutReturnStep1,
+	EDRMPlayServCustomCommandAsyncWithoutReturnStep2,
+	EDRMPlayServSetPriorityPreference
+	};
+
+enum TDRMPlayServLeave
+{
+	ENonNumericString
+};
+
+
+enum TAsyncCallbackState
+	{
+	ELoadingStarted,
+	ELoadingComplete,
+	EInitComplete,
+	EPlayComplete,
+	ECustomCommandCompleteNoData,
+	ECustomCommandComplete
+};
+
+typedef TPckgBuf<TAsyncCallbackState> TAsyncCallbackStatePckgBuf;
+struct TErrorDurationStruct
+	{
+	TInt iError;
+	TTimeIntervalMicroSeconds iDuration;
+	};
+
+typedef TPckgBuf<TErrorDurationStruct> TErrorDurationStructPckgBuf;
+
+class TDRMCustomCommand
+	{
+	public:
+		TDRMCustomCommand(){};
+		~TDRMCustomCommand(){};
+		TMMFMessageDestinationPckg iDestination; 
+		TInt iFunction;
+		TRequestStatus iRequestStatus;
+		TAsyncCallbackStatePckgBuf 	iAsyncCallback;
+	};
+
+typedef TPckgBuf<TDRMCustomCommand>	TPckgCustomCommand;
+
+struct TDataStruct
+	{
+	TBuf<100> iFileName;
+	TBuf8<100> iData;
+	TInt iPriority;
+	TMdaPriorityPreference iPref;
+	};
+typedef TPckgBuf<TDataStruct> TDataStructPckgBuf;
+
+struct TUrlStruct
+	{
+	TBuf<100> iUrl;
+	TInt iIapId;
+	TBuf8<100> iMimeType;
+	};
+	
+class TPlayWindowStruct
+	{
+	public:
+	TTimeIntervalMicroSeconds iPlayStart;
+	TTimeIntervalMicroSeconds iPlayEnd;
+	};	
+	
+typedef TPckgBuf<TPlayWindowStruct> TPlayWindowStructBuf;
+
+class TSetPositionStruct
+	{
+	public:
+	TTimeIntervalMicroSeconds iPosition;
+	};	
+	
+typedef TPckgBuf<TSetPositionStruct> TSetPositionStructBuf;
+
+
+
+
+typedef TPckgBuf<TUrlStruct> TUrlStructPckgBuf;
+
+typedef TPckg<TDesC8> TPckgDesC8;
+typedef TPckg<TDesC> TPckgDesC;
+typedef TPckgBuf<TInt> TPckgBufTInt;
+typedef TPckg<TTimeIntervalMicroSeconds> TPckgTTimeIntervalMicroSeconds;
+typedef TPckgBuf<TTimeIntervalMicroSeconds> TPckgBufTTimeIntervalMicroSeconds;
+typedef TPckgBuf<TPtr8> TPckgBufTDes8;
+typedef TPckg<TRequestStatus> TPckgTRequestStatus;
+typedef	TPckgBuf<TUint> TPckgBufTUint;
+typedef	TPckgBuf<TMMSource> TPckgBufTMMSource;
+
+
+#endif
+