controlpanelui/src/cpprofilewrapper/src/cpprofilemonitor_p.cpp
author hgs
Thu, 30 Sep 2010 16:15:53 +0800
changeset 41 ab0490982943
parent 33 0cfa53de576f
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0""
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description:  
hgs
parents:
diff changeset
    15
 *   
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "cpprofilemonitor_p.h"
hgs
parents:
diff changeset
    19
#include "cpprofilemonitor.h"
41
hgs
parents: 33
diff changeset
    20
#include "cpprofilemodel.h"
hgs
parents: 33
diff changeset
    21
#include <ProEngFactory.h>
33
hgs
parents:
diff changeset
    22
#include <CProfileChangeNotifyHandler.h>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
/*
hgs
parents:
diff changeset
    25
 * Construtor
hgs
parents:
diff changeset
    26
 */
hgs
parents:
diff changeset
    27
CpProfileMonitorPrivate::CpProfileMonitorPrivate():
hgs
parents:
diff changeset
    28
                                mProfileNotifier(0)
hgs
parents:
diff changeset
    29
{
hgs
parents:
diff changeset
    30
    
hgs
parents:
diff changeset
    31
}
hgs
parents:
diff changeset
    32
hgs
parents:
diff changeset
    33
/*
hgs
parents:
diff changeset
    34
 * Desconstructor
hgs
parents:
diff changeset
    35
 */
hgs
parents:
diff changeset
    36
CpProfileMonitorPrivate::~CpProfileMonitorPrivate()
hgs
parents:
diff changeset
    37
{
41
hgs
parents: 33
diff changeset
    38
    delete mProfileModel;
33
hgs
parents:
diff changeset
    39
    delete mProfileNotifier;
hgs
parents:
diff changeset
    40
}
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
/*
hgs
parents:
diff changeset
    43
 * Initializing for the monitoring profile event
hgs
parents:
diff changeset
    44
 */
hgs
parents:
diff changeset
    45
void CpProfileMonitorPrivate::initialize(CpProfileMonitor *parent)
hgs
parents:
diff changeset
    46
{
hgs
parents:
diff changeset
    47
    q_ptr = parent;
41
hgs
parents: 33
diff changeset
    48
    mProfileModel = new CpProfileModel();
hgs
parents: 33
diff changeset
    49
    TRAP_IGNORE(mProfileNotifier = ProEngFactory::NewNotifyHandlerL());
hgs
parents: 33
diff changeset
    50
    TRAP_IGNORE(mProfileNotifier->RequestProfileActivationNotificationsL(*this));
hgs
parents: 33
diff changeset
    51
    TRAP_IGNORE(mProfileNotifier->RequestProfileNameArrayNotificationsL(*this));
hgs
parents: 33
diff changeset
    52
    TRAP_IGNORE(mProfileNotifier->RequestProfileNotificationsL(*this, EProfileWrapperGeneralId));
hgs
parents: 33
diff changeset
    53
    TRAP_IGNORE(mProfileNotifier->RequestProfileNotificationsL(*this, EProfileWrapperMeetingId));
hgs
parents: 33
diff changeset
    54
}
hgs
parents: 33
diff changeset
    55
hgs
parents: 33
diff changeset
    56
/*
hgs
parents: 33
diff changeset
    57
 * From MProEngProfileObserver
hgs
parents: 33
diff changeset
    58
 */
hgs
parents: 33
diff changeset
    59
void CpProfileMonitorPrivate::HandleProfileModifiedL( TInt aProfileId )
hgs
parents: 33
diff changeset
    60
{
hgs
parents: 33
diff changeset
    61
    if (aProfileId == mProfileModel->activeProfileId()) {
hgs
parents: 33
diff changeset
    62
        q_ptr->avtiveProfileModified();
hgs
parents: 33
diff changeset
    63
    } else {
hgs
parents: 33
diff changeset
    64
        q_ptr->profileModified(aProfileId);
hgs
parents: 33
diff changeset
    65
    }
33
hgs
parents:
diff changeset
    66
}
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
/*
41
hgs
parents: 33
diff changeset
    69
 * From MProEngProfileActivationObserver
33
hgs
parents:
diff changeset
    70
 */
41
hgs
parents: 33
diff changeset
    71
void CpProfileMonitorPrivate::HandleProfileActivatedL( TInt aProfileId )
33
hgs
parents:
diff changeset
    72
{
41
hgs
parents: 33
diff changeset
    73
    q_ptr->profileActivated( aProfileId );
33
hgs
parents:
diff changeset
    74
}
41
hgs
parents: 33
diff changeset
    75
hgs
parents: 33
diff changeset
    76
/*
hgs
parents: 33
diff changeset
    77
 * From MProEngProfileNameArrayObserver
hgs
parents: 33
diff changeset
    78
 */
hgs
parents: 33
diff changeset
    79
void CpProfileMonitorPrivate::HandleProfileNameArrayModificationL()
hgs
parents: 33
diff changeset
    80
{
hgs
parents: 33
diff changeset
    81
    q_ptr->profileNameModified();
hgs
parents: 33
diff changeset
    82
}
hgs
parents: 33
diff changeset
    83
hgs
parents: 33
diff changeset
    84
/*
hgs
parents: 33
diff changeset
    85
 * Stop receiveing notification
hgs
parents: 33
diff changeset
    86
 */
hgs
parents: 33
diff changeset
    87
void CpProfileMonitorPrivate::stopMonitoring()
hgs
parents: 33
diff changeset
    88
{
hgs
parents: 33
diff changeset
    89
    mProfileNotifier->CancelAll();
hgs
parents: 33
diff changeset
    90
}