williamr@4: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // Location Based Services SUPL Push Receiver API williamr@4: // williamr@4: // williamr@4: williamr@4: /** williamr@4: @file williamr@4: @publishedPartner williamr@4: @deprecated williamr@4: */ williamr@4: #ifndef SUPL_PUSH_RECEIVER_H williamr@4: #define SUPL_PUSH_RECEIVER_H williamr@4: williamr@4: williamr@4: //------------------------------------------------------------------------------- williamr@4: #include williamr@4: #include williamr@4: williamr@4: //------------------------------------------------------------------------------- williamr@4: class CLbsSuplPushRecImpl; williamr@4: williamr@4: //------------------------------------------------------------------------------- williamr@4: /** williamr@4: The MLbsSuplPushRecObserver class provides a call-back type of interface that must be williamr@4: used together with the CLbsSuplPushRec class. It is used by the SUPL Protocol Module. williamr@4: A class using the CLbsSuplPushRec interface must derive from MLbsSuplPushRecObserver williamr@4: and implement appropriate virtual methods in order to receive notifications about williamr@4: incoming SUPL INIT messages. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated williamr@4: williamr@4: @see CLbsSuplPushRec williamr@4: */ williamr@4: class MLbsSuplPushRecObserver williamr@4: { williamr@4: public: williamr@4: IMPORT_C virtual TVersion Version() const; williamr@4: williamr@4: /** williamr@4: Receive notification about an incoming SUPL INIT message. williamr@4: williamr@4: @param aChannel [In] The channel the call-back is related to. williamr@4: @param aReqId [In] An Id of the request the call-back is related to. williamr@4: @param aMsg [In] A buffer containing a SUPL INIT message. williamr@4: williamr@4: @see CLbsSuplPushRec::SuplInitComplete williamr@4: @see CLbsSuplPush::SuplInit williamr@4: */ williamr@4: virtual void OnSuplInit(TLbsSuplPushChannel aChannel, TLbsSuplPushRequestId aReqId, TDesC8& aMsg) = 0; williamr@4: williamr@4: protected: williamr@4: /** williamr@4: Should not be used. Provides for future expansion of the observer interface. williamr@4: Currently not implemented williamr@4: */ williamr@4: IMPORT_C virtual TAny* ExtendedInterface(TInt aFunctionNumber, TAny* aPtr1, TAny* aPtr2); williamr@4: }; williamr@4: williamr@4: williamr@4: //------------------------------------------------------------------------------- williamr@4: /** williamr@4: The CLbsSuplPushRec class provides an interface to allow SUPL INIT messages to be williamr@4: received from SMS or WAP Push frameworks. It is used by the SUPL Protocol Module. williamr@4: SUPL INIT messages are sent into the LBS subsystem using the CLbsSuplPush class. williamr@4: williamr@4: @publishedPartner williamr@4: @deprecated williamr@4: @see MLbsSuplPushRecObserver williamr@4: @see CLbsSuplPush williamr@4: */ williamr@4: NONSHARABLE_CLASS(CLbsSuplPushRec) : public CBase williamr@4: { williamr@4: public: williamr@4: IMPORT_C static CLbsSuplPushRec* NewL(MLbsSuplPushRecObserver& aObserver); williamr@4: virtual ~CLbsSuplPushRec(); williamr@4: williamr@4: public: williamr@4: IMPORT_C TInt SuplInitComplete(TLbsSuplPushChannel aChannel, williamr@4: TLbsSuplPushRequestId aReqId, williamr@4: TInt aError, williamr@4: TInt aReserved); williamr@4: williamr@4: private: williamr@4: CLbsSuplPushRec(); williamr@4: void ConstructL(MLbsSuplPushRecObserver& aObserver); williamr@4: williamr@4: //** Prohibit copy constructor */ williamr@4: CLbsSuplPushRec(const CLbsSuplPushRec&); williamr@4: //** Prohibit assigment operator */ williamr@4: CLbsSuplPushRec& operator= (const CLbsSuplPushRec&); williamr@4: williamr@4: private: williamr@4: /** CLbsSuplPushRecImpl* Impl is the internal handle to the Implementation */ williamr@4: CLbsSuplPushRecImpl* iImpl; williamr@4: }; williamr@4: williamr@4: #endif //SUPL_PUSH_RECEIVER_H