--- /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_
+