1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Location Based Services SUPL Push Receiver API
23 #ifndef SUPL_PUSH_RECEIVER_H
24 #define SUPL_PUSH_RECEIVER_H
27 //-------------------------------------------------------------------------------
29 #include <lbs/lbssuplpushcommon.h>
31 //-------------------------------------------------------------------------------
32 class CLbsSuplPushRecImpl;
34 //-------------------------------------------------------------------------------
36 The MLbsSuplPushRecObserver class provides a call-back type of interface that must be
37 used together with the CLbsSuplPushRec class. It is used by the SUPL Protocol Module.
38 A class using the CLbsSuplPushRec interface must derive from MLbsSuplPushRecObserver
39 and implement appropriate virtual methods in order to receive notifications about
40 incoming SUPL INIT messages.
47 class MLbsSuplPushRecObserver
50 IMPORT_C virtual TVersion Version() const;
53 Receive notification about an incoming SUPL INIT message.
55 @param aChannel [In] The channel the call-back is related to.
56 @param aReqId [In] An Id of the request the call-back is related to.
57 @param aMsg [In] A buffer containing a SUPL INIT message.
59 @see CLbsSuplPushRec::SuplInitComplete
60 @see CLbsSuplPush::SuplInit
62 virtual void OnSuplInit(TLbsSuplPushChannel aChannel, TLbsSuplPushRequestId aReqId, TDesC8& aMsg) = 0;
66 Should not be used. Provides for future expansion of the observer interface.
67 Currently not implemented
69 IMPORT_C virtual TAny* ExtendedInterface(TInt aFunctionNumber, TAny* aPtr1, TAny* aPtr2);
73 //-------------------------------------------------------------------------------
75 The CLbsSuplPushRec class provides an interface to allow SUPL INIT messages to be
76 received from SMS or WAP Push frameworks. It is used by the SUPL Protocol Module.
77 SUPL INIT messages are sent into the LBS subsystem using the CLbsSuplPush class.
81 @see MLbsSuplPushRecObserver
84 NONSHARABLE_CLASS(CLbsSuplPushRec) : public CBase
87 IMPORT_C static CLbsSuplPushRec* NewL(MLbsSuplPushRecObserver& aObserver);
88 virtual ~CLbsSuplPushRec();
91 IMPORT_C TInt SuplInitComplete(TLbsSuplPushChannel aChannel,
92 TLbsSuplPushRequestId aReqId,
98 void ConstructL(MLbsSuplPushRecObserver& aObserver);
100 //** Prohibit copy constructor */
101 CLbsSuplPushRec(const CLbsSuplPushRec&);
102 //** Prohibit assigment operator */
103 CLbsSuplPushRec& operator= (const CLbsSuplPushRec&);
106 /** CLbsSuplPushRecImpl* Impl is the internal handle to the Implementation */
107 CLbsSuplPushRecImpl* iImpl;
110 #endif //SUPL_PUSH_RECEIVER_H