locationmgmt/locmonitor/lbslocmonitorserver/inc/clbsconversionpositionersubsession.h
branchRCL_3
changeset 52 29dbbeac905d
equal deleted inserted replaced
39:a3482a8f15d8 52:29dbbeac905d
       
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CLBSCONVERSIONPOSITIONERSUBSESSION_H_
       
    20 #define CLBSCONVERSIONPOSITIONERSUBSESSION_H_
       
    21 
       
    22 
       
    23 #include <e32property.h>
       
    24 #include "tserverstartparams.h"
       
    25 #include "csecureasbase.h"
       
    26 #include "csecureserverbase.h"
       
    27 #include "csecuresessionbase.h"
       
    28 #include "csecuresessionsubsessionbase.h"
       
    29 #include "csubsessionbase.h"
       
    30 #include "messageutils.h"
       
    31 #include "clbslocmonitorutils.h"
       
    32 
       
    33 class CLbsLocMonitorServer;
       
    34 
       
    35 /*
       
    36   Server side subsession of the Location Monitor server.
       
    37   This subsession handles client's requests for the
       
    38   location info conversion.
       
    39 */
       
    40 class CLbsConversionPositionerSubsession : public CBase, 
       
    41                                            public MSubSessionImpl
       
    42    {
       
    43 public:
       
    44    static CLbsConversionPositionerSubsession* NewL();
       
    45    
       
    46    ~CLbsConversionPositionerSubsession();
       
    47    
       
    48    // From MSubSessionImpl
       
    49    virtual void DispatchL(const RMessage2& aMessage);
       
    50    virtual void DispatchError(const RMessage2& aMessage, TInt aError);
       
    51    virtual void CreateSubSessionL(const RMessage2& aMessage, const CSecureServerBase* aServer);
       
    52    virtual void CloseSubSession();
       
    53    
       
    54    // via MSubSessionImpl::MRelease    
       
    55    void VirtualRelease(); 
       
    56      
       
    57 protected:
       
    58    CLbsConversionPositionerSubsession();
       
    59    void ConstructL();
       
    60 
       
    61    //
       
    62    // action methods.
       
    63    //
       
    64    void GetPositionL(const RMessage2& aMessage);
       
    65    void CancelGetPositionL(const RMessage2& aMessage);
       
    66    void SetLastKnownPositionL(const RMessage2& aMessage);
       
    67     
       
    68 private:
       
    69 
       
    70    CLbsLocMonitorServer* iLocMonitorServer;
       
    71 
       
    72    // Unique ID of this subsession
       
    73    CLbsLocMonitorUtils::sessionAndSubSessionId iSubsessionId;
       
    74    };
       
    75 
       
    76 #endif /*CLBSCONVERSIONPOSITIONERSUBSESSION_H_*/