locationrequestmgmt/networkrequesthandler/LbsX3P/LbsX3PApi/inc/LbsX3P.h
changeset 0 9cfd9a3ee49c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationrequestmgmt/networkrequesthandler/LbsX3P/LbsX3PApi/inc/LbsX3P.h	Tue Feb 02 01:50:39 2010 +0200
@@ -0,0 +1,137 @@
+// Copyright (c) 2005-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:
+//
+
+#ifndef LBSX3P_H_
+#define LBSX3P_H_
+
+#include <e32def.h>
+#include <lbs/lbsloccommon.h>
+
+// Forward declarations
+class CLbsTransmitPositionImpl;
+class CLbsTransmitPositionServerImpl;
+class TPositionInfo;
+
+
+NONSHARABLE_CLASS(TLbsTransmitPositionOptions) : public TLbsLocClassTypeBase 
+/**
+The class used for storing transmit position to third party options
+@publishedPartner
+@released
+ */
+{
+	
+public:
+	IMPORT_C TLbsTransmitPositionOptions(); 
+	IMPORT_C TLbsTransmitPositionOptions(const TTimeIntervalMicroSeconds& aTimeOut); 
+	
+	IMPORT_C void SetTimeOut(const TTimeIntervalMicroSeconds& aTimeOut);
+	IMPORT_C TTimeIntervalMicroSeconds TimeOut() const;
+
+protected:
+	/** Timeout */
+	TTimeIntervalMicroSeconds iTimeOut;
+
+private:
+	/** Unused variable for future expansion. */
+	TUint8 iReserved[32];
+	};
+
+
+NONSHARABLE_CLASS(RLbsTransmitPositionServer)
+/**
+This is generally the first interface class used by all client applications.
+It is used to make the primary connection to the Transmit position server. 
+After the primary connection has been established, its handle is passed as a 
+parameter of the Open methods of RLbsTransmitPosition to create a "sub-session".
+This class is not intended for derivation. 
+@publishedPartner
+@released
+ */
+	{
+public:
+	IMPORT_C RLbsTransmitPositionServer();
+
+	IMPORT_C TInt Connect();
+	IMPORT_C void Close();
+
+	IMPORT_C TVersion Version() const;
+	/**
+	Returns reference to implementation. Impl() is for internal use only.
+	 */
+	CLbsTransmitPositionServerImpl& Impl();
+
+private:
+	IMPORT_C virtual void ConstructL();
+	IMPORT_C virtual void Destruct();
+
+	IMPORT_C virtual TAny* ExtendedInterface(TInt aFunctionNumber, TAny* aPtr1, TAny* aPtr2);
+private:
+	/** A pointer to a container that holds the implementation */
+	CLbsTransmitPositionServerImpl* iImpl;
+	
+	/** Unused variable for future expansion. */
+	TAny* iReserved;
+	};
+
+
+NONSHARABLE_CLASS(RLbsTransmitPosition)
+/**
+This class is used to create a sub-session with the server for 
+the purpose of transmitting the current position to a third party.
+Before using the class, a primary connection must have already been
+established with the server.
+This class is not intended for derivation. 
+
+@see RLbsTransmitPositionServer
+@publishedPartner
+@released
+ */
+	{
+
+public:
+	IMPORT_C RLbsTransmitPosition();
+
+	IMPORT_C TInt Open(RLbsTransmitPositionServer& aServer);
+	IMPORT_C void Close();
+
+	IMPORT_C void TransmitPosition(const TDesC& aDestinationID,TUint aTransmitPriority, 
+									TRequestStatus& aTransmittedPosStatus, TPositionInfo& aTransmittedPosInfo);
+									
+	IMPORT_C void TransmitPosition(const TDesC& aDestinationID,TUint aTransmitPriority, 
+									TRequestStatus& aRefPosStatus, TPositionInfo& aRefPosInfo,
+									TRequestStatus& aTransmittedPosStatus, TPositionInfo& aTransmittedPosInfo);	
+																	
+	IMPORT_C void CancelTransmitPosition();
+
+	IMPORT_C TInt SetTransmitOptions(const TLbsTransmitPositionOptions& aTransmitOptions);
+	IMPORT_C TInt GetTransmitOptions(TLbsTransmitPositionOptions& aTransmitOptions) const;
+
+private:
+ 	IMPORT_C virtual void ConstructL(RLbsTransmitPositionServer& aServer);
+	IMPORT_C virtual void Destruct();
+
+	IMPORT_C virtual TAny* ExtendedInterface(TInt aFunctionNumber, TAny* aPtr1, TAny* aPtr2);
+private:
+	/** A pointer to a container that holds the implementation */
+	CLbsTransmitPositionImpl* iImpl;
+	/** Unused variable for future expansion. */
+	TAny* iReserved;
+	};
+
+
+
+#endif // LBSX3P_H_
+