diff -r ccd8e69b5392 -r 496ad160a278 mmsharing/inc/musmanageripccommon.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/inc/musmanageripccommon.h Fri Jun 11 13:36:18 2010 +0300 @@ -0,0 +1,113 @@ +/* +* Copyright (c) 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: ?Description +* +*/ + + + +#ifndef MUSMANAGERIPCCOMMON_H +#define MUSMANAGERIPCCOMMON_H + +#include + +#include "musuid.hrh" + +_LIT( KMusManagerServerName,"musmanagerserver" ); +_LIT( KMusManagerServerFilename, "musmanagerserver" ); +_LIT( KMusManagerServerSemaphoreName, "musmanagerserverSemaphore" ); + +const TUid KServerUid3 = { KMusManagerServerUid }; + +#if (defined (__WINS__) || defined(__WINSCW__)) +static const TUint KServerMinHeapSize = 0x1000; // 4K +static const TUint KServerMaxHeapSize = 0x80000; // 512K (Should be enough) +#endif + +// The server version. +// A version must be specified when creating a session with the server +const TUint KMusManagerServerMajorVersionNumber=0; +const TUint KMusManagerServerMinorVersionNumber=1; +const TUint KMusManagerServerBuildVersionNumber=1; + +// A container for incoming buffer sizes +class TMusManagerMessageBufSizes + { +public: + + TMusManagerMessageBufSizes() + : iHeaderBufSize(0), + iContentBufSize(0) {} + + TMusManagerMessageBufSizes(TInt aHeaderBufSize, TInt aContentBufSize) + : iHeaderBufSize(aHeaderBufSize), + iContentBufSize(aContentBufSize) {} + + TMusManagerMessageBufSizes(const TMusManagerMessageBufSizes& aSizes) + : iHeaderBufSize(aSizes.iHeaderBufSize), + iContentBufSize(aSizes.iContentBufSize) {} + + TInt iHeaderBufSize; + TInt iContentBufSize; + }; + + +// Oper. codes used in passing IPC messages between C/S-client and C/S-server +enum TMusManagerIpcFunctions + { + // No capabilities required 0-3 + EMusManagerIpcAvailabilityQuery, // Asynchronous receive + EMusManagerIpcInvestigateAvailability, + EMusManagerIpcInvitationReceived, + EMusManagerIpcOptionsReceived, + EMusManagerIpcStartMultimediaSharing, + EMusManagerIpcStopMultimediaSharing, + EMusManagerIpcStartObservingAvailability, + EMusManagerIpcMonitorAvailability, + EMusManagerIpcCancelMonitoring, + EMusManagerIpcHandleCommand + }; + + +// Indexes used in IPC parameter array passed between C/S-client and C/S-server +// +// All the parameters except EMusManagerIpcArgMessage are packed into package buffers +// to enable IPC parameter in-out behaviour. +// +// NOTE: Remember to update the types in comments if the actual types change. +// +enum TMusManagerIpcArguments + { + EMusManagerIpcArgAvailability = 0, // Type: TUint32 + EMusManagerIpcArgChannelUid = 0, // Type: TUid + EMusManagerIpcArgUseCase = 0, // Type: TInt + EMusManagerIpcArgSipResponse = 1, // Type: TDes8/TDesC8 + EMusManagerIpcArgSipRequest = 1, // Type: TDesC8 + EMusManagerIpcArgBufSizes = 2, // Type: TMusManagerMessageBufSizes + EMusManagerIpcArgSipMessageContent = 2, // Type: TDes8/TDesC8 + EMusManagerIpcArgResolverUid = 3, // Type: TUid + EMusManagerIpcArgRequestStatus = 0, // Type: TRequestStatus + EMusManagerIpcArgAvailabilityStatus = 1, // Type: TAvailabilityStatus + EMusManagerIpcArgCommandType = 0 // Type: TCommandType + }; + +enum TMusManagerIpcResponses + { + EMusManagerChannelComplete = 1, + EMusManagerClientNotFound + }; + +#endif // MUSMANAGERIPCCOMMON_H + +// End of File