supl/locationsuplfw/gateway/inc/epos_csuplglobal.h
changeset 0 667063e416a2
--- /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 <e32std.h>
+
+//#ifdef _DEBUG
+#include <e32debug.h>
+//#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