diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/ClientResolver/common/inc/sipCRclientserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/ClientResolver/common/inc/sipCRclientserver.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2003-2009 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: +* Name : sipcrclientserver.h +* Part of : SIP Client Discovery API +* Version : 1.0 +* +*/ + + + + +/** + @internalComponent +*/ + + +#ifndef SIPCRCLIENTSERVER_H +#define SIPCRCLIENTSERVER_H + +#include + +_LIT(KSipClientResolverServerName,"siprsvsrv"); +_LIT(KSipClientResolverServerFilename, "siprsvsrv"); +_LIT(KSipClientResolverServerSemaphoreName, "siprsvsrvSemaphore"); + +const TUid KServerUid3 = { 0x1020334f }; + +#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 specifyed when creating a session with the server +const TUint KSipCRServerMajorVersionNumber=0; +const TUint KSipCRServerMinorVersionNumber=1; +const TUint KSipCRServerBuildVersionNumber=1; + + +// A container for incoming buffer sizes +class TSIPCRMessageBufSizes + { +public: + + TSIPCRMessageBufSizes() + : iHeaderBufSize(0), + iContentBufSize(0) {} + + TSIPCRMessageBufSizes(TInt aHeaderBufSize, TInt aContentBufSize) + : iHeaderBufSize(aHeaderBufSize), + iContentBufSize(aContentBufSize) {} + + TSIPCRMessageBufSizes(const TSIPCRMessageBufSizes& 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 TSIPCRIpcFunctions + { + // No capabilities required 0-3 + ESIPCRIpcClientReadyToReceive, // Asynchronous receive + ESIPCRIpcClientCancelReceive, + ESIPCRIpcCancelRequest, + ESIPCRIpcCancelAllRequests, + // WriteDeviceData capabilities required 4-6 + ESIPCRIpcSetClientUid, // Set the client's UID3 + ESIPCRIpcRegister, + ESIPCRIpcDeregister, + // ReadDeviceData capabilities required 7-9 + ESIPCRIpcClientReceiveSipResponse, // Synchronous receive + ESIPCRIpcChannel, + ESIPCRIpcChannelWithResolver + }; + + +// Indexes used in IPC parameter array passed between C/S-client and C/S-server +// +// All the parameters except ESIPCRIpcArgMessage 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 TSIPCRIpcArguments + { + ESIPCRIpcArgReqId = 0, // Type: TUint32 + ESIPCRIpcArgClientUid = 0, // Type: TUid + ESIPCRIpcArgClientResolved = 1, // Type: TInt + ESIPCRIpcArgSipResponse = 1, // Type: TDes8/TDesC8 + ESIPCRIpcArgSipRequest = 1, // Type: TDesC8 + ESIPCRIpcArgBufSizes = 2, // Type: TSIPCRMessageBufSizes + ESIPCRIpcArgSipMessageContent = 2, // Type: TDes8/TDesC8 + ESIPCRIpcArgResolverUid = 3, // Type: TUid + }; + +enum TSIPCRIpcResponses + { + ESIPCRChannelComplete = 1, + ESIPCRClientNotFound + }; + +#endif // SIPCRCLIENTSERVER_H + +// End of File