activityfw/activitydatabase/hsactivitydbserver/s60/src/hsactivityserver_p.cpp
changeset 73 4bc7b118b3df
parent 66 32469d7d46ff
child 80 397d00875918
child 81 5ef31a21fdd5
equal deleted inserted replaced
66:32469d7d46ff 73:4bc7b118b3df
     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: Application entry point
       
    15 *
       
    16 */
       
    17 #include "hsactivityserver_p.h"
       
    18 #include "hsactivitysession_p.h"
       
    19 #include "hsactivityglobals.h"
       
    20 
       
    21 // -----------------------------------------------------------------------------
       
    22 //
       
    23 // -----------------------------------------------------------------------------
       
    24 //
       
    25 HsActivityServerPrivate::HsActivityServerPrivate(HsActivityDbClientInterface &storage)
       
    26     :
       
    27     CServer2(EPriorityNormal, ESharableSessions),
       
    28     mStorage(storage)
       
    29 {
       
    30 }
       
    31 
       
    32 // -----------------------------------------------------------------------------
       
    33 //
       
    34 // -----------------------------------------------------------------------------
       
    35 //
       
    36 HsActivityServerPrivate::~HsActivityServerPrivate()
       
    37 {
       
    38 }
       
    39 
       
    40 // -----------------------------------------------------------------------------
       
    41 //
       
    42 // -----------------------------------------------------------------------------
       
    43 //
       
    44 bool HsActivityServerPrivate::start()
       
    45 {
       
    46     return (KErrNone == Start(KActivityServerName));
       
    47 }
       
    48 
       
    49 // -----------------------------------------------------------------------------
       
    50 //
       
    51 // -----------------------------------------------------------------------------
       
    52 //
       
    53 void HsActivityServerPrivate::notifyL(int applicationId,
       
    54                                       const QString &activityName)
       
    55 {
       
    56     if (mPendingMessage.end() != mPendingMessage.find(applicationId)) {
       
    57         static_cast<HsActivitySessionPrivate *>(mPendingMessage.find(applicationId).value().Session())
       
    58         ->LaunchActivityL(mPendingMessage.find(applicationId).value(), activityName);
       
    59         mPendingMessage.erase(mPendingMessage.find(applicationId));
       
    60     }
       
    61 }
       
    62 
       
    63 // -----------------------------------------------------------------------------
       
    64 //
       
    65 // -----------------------------------------------------------------------------
       
    66 //
       
    67 void HsActivityServerPrivate::waitNotification(int applicationId,
       
    68         const RMessage2 &msg)
       
    69 {
       
    70     if (mPendingMessage.find(applicationId) != mPendingMessage.end()) {
       
    71         msg.Kill(EBadMessageNumber);
       
    72     }
       
    73     mPendingMessage.insert(applicationId,msg);
       
    74 }
       
    75 // -----------------------------------------------------------------------------
       
    76 //
       
    77 // -----------------------------------------------------------------------------
       
    78 //
       
    79 void HsActivityServerPrivate::cancelNotify(int applicationId)
       
    80 {
       
    81     if (mPendingMessage.end() != mPendingMessage.find(applicationId)) {
       
    82         static_cast<HsActivitySessionPrivate *>(mPendingMessage.find(applicationId).value().Session())
       
    83             ->CancelNotify(mPendingMessage.find(applicationId).value());
       
    84         mPendingMessage.erase(mPendingMessage.find(applicationId));
       
    85     }
       
    86 }
       
    87 
       
    88 // -----------------------------------------------------------------------------
       
    89 //
       
    90 // -----------------------------------------------------------------------------
       
    91 //
       
    92 CSession2 *HsActivityServerPrivate::NewSessionL(const TVersion &,
       
    93                                                 const RMessage2&)const
       
    94 {
       
    95     return new(ELeave) HsActivitySessionPrivate(mStorage);
       
    96 }