diff -r 000000000000 -r 667063e416a2 supl/locationsuplfw/gateway/inc/epos_csuplglobal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/supl/locationsuplfw/gateway/inc/epos_csuplglobal.h Tue Feb 02 01:06:48 2010 +0200 @@ -0,0 +1,171 @@ +/* +* Copyright (c) 2005 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: Global functions for the SUPL server +* +*/ + + + +#ifndef __CSuplGlobal_H__ +#define __CSuplGlobal_H__ + +// INCLUDES +#include + +//#ifdef _DEBUG +#include +//#endif + +// CONSTANTS + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* Global functions for the server +* +*/ +class SuplGlobal + { + public: // New functions + + /** + * Read and kill the client if it leaves. If the returned error code + * is negative, the RMessage must not be completed. Complete after + * client is paniced crashes the server with USER 70. + * + * @param aMessage Message instance + * @param aPtr Pointer to read from + * @param aDes Descriptor to read to + * @param aOffset offset to start read + * @return Error code + */ + static TInt Read( + /* IN */ const RMessage2& aMessage, + /* IN */ const TInt aParam, + /* OUT */ TDes8& aDes, + /* IN */ TInt aOffset=0 + ); + + /** + * Read and kill the client if it leaves. If the returned error code + * is negative, the RMessage must not be completed. Complete after + * client is paniced crashes the server with USER 70. + * + * @param aMessage Message instance + * @param aPtr Pointer to read from + * @param aDes Descriptor to read to + * @param aOffset offset to start read + * @return Error code + */ + static TInt Read( + /* IN */ const RMessage2& aMessage, + /* IN */ const TInt aParam, + /* OUT */ TDes16& aDes, + /* IN */ TInt aOffset=0 + ); + + /** + * Write and kill the client if it leaves. If the returned error code + * is negative, the RMessage must not be completed. Complete after + * client is paniced crashes the server with USER 70. + * + * @param aMessage Message instance + * @param aPtr Pointer to write to + * @param aDes Descriptor to write from + * @param aOffset offset to start write + * @return Error code + */ + static TInt Write( + /* IN */ const RMessage2& aMessage, + /* IN */ const TInt aParam, + /* IN */ const TDesC8& aDes, + /* IN */ TInt aOffset=0 + ); + + /** + * Copies an 8-bit buffer from the address space of the client and puts + * the result in the returned argument. If the method leaves it the + * client may have been paniced and in that case it is forbidden to + * complete the RMessage. If a client is paniced can be verified by the + * call chain: + * aMessage.Client().ExitType() + * + * @param aMessage the message from the client. + * @param aClientBuffer a pointer to an 8-bit descriptor located in the + * address space of the client. + * @return a copy of the client buffer. + */ + static HBufC8* CopyClientBuffer8LC( + /* IN */ const RMessage2& aMessage, + /* IN */ const TInt aClientBufferParam + ); + + /** + * Copies a 16-bit buffer from the address space of the client and puts + * the result in the returned argument. If the method leaves it the + * client may have been paniced and in that case it is forbidden to + * complete the RMessage. If a client is paniced can be verified by the + * call chain: + * aMessage.Client().ExitType() + * + * @param aMessage the message from the client. + * @param aClientBuffer a pointer to a 16-bit descriptor located in the + * address space of the client. + * @return a copy of the client buffer. + */ + static HBufC* CopyClientBufferLC( + /* IN */ const RMessage2& aMessage, + /* IN */ const TInt aClientBufferParam + ); + + static void RequestComplete( + /* IN */ const RMessage2& aMessage, + /* IN */ const TInt aError + ); + + +//#ifdef _DEBUG + static void SetupTraceL(); + static void TearDownTrace(); + + static void Trace( + /* IN */ const TDesC& aDescription, + /* IN */ const TDesC& aFilename, + /* IN */ const TInt aLineNumber + ); +//#endif + + private: + + // By default, prohibit copy constructor + SuplGlobal( const SuplGlobal& ); + // Prohibit assigment operator + SuplGlobal& operator= ( const SuplGlobal& ); + + }; + +//#ifdef _DEBUG + +#define DEBUG_TRACE(aTracePoint, aLineNum) \ + { _LIT(KTracePoint, aTracePoint); \ + SuplGlobal::Trace(KTracePoint, KTraceFileName, aLineNum); } +//#else + // #define DEBUG_TRACE(aTracePoint, aLineNum) +//#endif + +#endif // __CSuplGlobal_H__ + +// End of File