diff -r 2965a06983dc -r 81c9bee26a45 locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsconversionpositionersubsession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsconversionpositionersubsession.h Tue Jul 13 12:25:28 2010 +0100 @@ -0,0 +1,76 @@ +/* +* Copyright (c) 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 CLBSCONVERSIONPOSITIONERSUBSESSION_H_ +#define CLBSCONVERSIONPOSITIONERSUBSESSION_H_ + + +#include +#include "tserverstartparams.h" +#include "csecureasbase.h" +#include "csecureserverbase.h" +#include "csecuresessionbase.h" +#include "csecuresessionsubsessionbase.h" +#include "csubsessionbase.h" +#include "messageutils.h" +#include "clbslocmonitorutils.h" + +class CLbsLocMonitorServer; + +/* + Server side subsession of the Location Monitor server. + This subsession handles client's requests for the + location info conversion. +*/ +class CLbsConversionPositionerSubsession : public CBase, + public MSubSessionImpl + { +public: + static CLbsConversionPositionerSubsession* NewL(); + + ~CLbsConversionPositionerSubsession(); + + // From MSubSessionImpl + virtual void DispatchL(const RMessage2& aMessage); + virtual void DispatchError(const RMessage2& aMessage, TInt aError); + virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer); + virtual void CloseSubSession(); + + // via MSubSessionImpl::MRelease + void VirtualRelease(); + +protected: + CLbsConversionPositionerSubsession(); + void ConstructL(); + + // + // action methods. + // + void GetPositionL(const RMessage2& aMessage); + void CancelGetPositionL(const RMessage2& aMessage); + void SetLastKnownPositionL(const RMessage2& aMessage); + +private: + + CLbsLocMonitorServer* iLocMonitorServer; + + // Unique ID of this subsession + CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId; + }; + +#endif /*CLBSCONVERSIONPOSITIONERSUBSESSION_H_*/