diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCSSessionHelper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCSSessionHelper.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,121 @@ +/* +* 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 : sipprofilecssessionhelper.h +* Part of : SIP Profile Server +* Interface : private +* The class wrapping IPC read and write operations +* Version : 1.0 +* +*/ + + + + +/** + @internalComponent +*/ + +#ifndef CSIPPROFILECSSESSIONHELPER_H +#define CSIPPROFILECSSESSIONHELPER_H + +// INCLUDES + +#include "sipprofilecs.h" +#include "sipconcreteprofileobserver.h" + +// FORWARD DECLARATIONS + +class CSIPProfileCSServer; +class CSIPProfileServerCore; +class CSIPConcreteProfile; +class CSIPConcreteProfileHolder; +class TSIPProfileSlots; +class TSIPProfileTypeInfo; + +// CLASS DECLARATION + +/** + * The class used for caching and reference counting of profiles. + */ +class CSIPProfileCSSessionHelper : public CBase + { + public: + + /** + * Gets IPC service function + * @param aMessage handle for IPC communication + * @return service request function + */ + TInt ServiceFunction(const RMessage2& aMessage) const; + + /** + * Completes IPC function + * @param aMessage handle for IPC communication + * @param aCode return code + */ + void CompleteService( + const RMessage2& aMessage, + TInt aCode) const; + + /** + * Gets IPC argument as integer + * @param aItcArgIndex index of argument + * @param aMessage handle for IPC communication + */ + TUint IPCArgTUintL( + TSipProfileItcArguments aItcArgIndex, + const RMessage2& aMessage) const; + + /** + * Gets serialized object from IPC + * @param aIpcArgIndex index of argument + * @param aMessage handle for IPC communication + */ + HBufC8* ReadLC( + TSipProfileItcArguments aIpcArgIndex, + const RMessage2& aMessage) const; + + /** + * Gets id slots to write return values of request + * @param aMessage handle for IPC communication + */ + TSIPProfileSlots ReadSipIdsL(const RMessage2& aMessage) const; + + /** + * Writes return values in id slots + * @param aMessage handle for IPC communication + * @param aIds structure holding return values + */ + void WriteL( + const RMessage2& aMessage, + const TSIPProfileSlots& aIds); + + /** + * Writes serialized object as return value + * @param aItcArgIndex index of argument + * @param aMessage handle for IPC communication + * @param aDes serialized object + */ + void WriteL( + TSipProfileItcArguments aArg, + const RMessage2& aMessage, + const TDesC8& aDes); + + void ReadSIPProfileTypeInfoL( + const RMessage2& aMessage, + TSIPProfileTypeInfo& aTypeInfo) const; + }; + +#endif // CSIPPROFILECSSESSIONHELPER_H