simpledatamodeladapter/src/presencepluginauthorization.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 15:00:05 +0300
branchRCL_3
changeset 44 bafa26c1d234
parent 35 fbd2e7cec7ef
permissions -rw-r--r--
Revision: 201039 Kit: 201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     1
/*
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     8
*
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    11
*
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    12
* Contributors:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    13
*
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    14
* Description:  IETF SIMPLE Protocol implementation for XIMP Framework
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    15
*
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    16
*/
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    17
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    18
#include <e32std.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    19
#include <s32strm.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    20
#include <utf.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    21
#include <ximpdatasubscriptionstate.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    22
#include <protocolpresenceauthorizationdatahost.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    23
#include <ximpobjectfactory.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    24
#include <presenceobjectfactory.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    25
#include <ximpstatus.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    26
#include <ximpidentity.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    27
#include <presencegrantrequestinfo.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    28
#include <ximpobjectcollection.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    29
#include <presenceblockinfo.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    30
#include <presenceinfofilter.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    31
#include <msimplewinfo.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    32
#include <msimpleelement.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    33
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    34
#include <presenceinfo.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    35
#include <presenceinfofieldcollection.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    36
#include <personpresenceinfo.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    37
#include <presenceinfofield.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    38
#include <presenceinfofieldvalueenum.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    39
#include <avabilitytext.h>
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    40
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    41
#include "presencepluginauthorization.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    42
#include "presencepluginwinfo.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    43
#include "presenceplugincommon.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    44
#include "presencepluginxdmutils.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    45
#include "presencepluginwatcher.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    46
#include "presenceplugindata.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    47
#include "presencepluginutility.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    48
#include "presenceplugingroup.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    49
#include "presencepluginvirtualgroup.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    50
#include "presenceplugincontacts.h"
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    51
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    52
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    53
// ======== MEMBER FUNCTIONS ========
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    54
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    55
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    56
// CPresencePluginAuthorization::CPresencePluginAuthorization()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    57
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    58
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    59
CPresencePluginAuthorization::CPresencePluginAuthorization(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    60
    MPresencePluginConnectionObs& aObs,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    61
    CPresencePluginData* aPresenceData )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    62
    : CActive( CActive::EPriorityStandard ),
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    63
    iConnObs(aObs), iSubscribed( EFalse ),
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    64
    iOperation( ENoOperation ), iXdmOk( EFalse ),
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    65
    iComplete( EFalse ), iPresenceData( aPresenceData ),
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    66
    iContactIsStored( ETrue )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    67
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    68
    CActiveScheduler::Add(this);
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    69
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    70
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    71
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    72
// CPresencePluginAuthorization::NewL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    73
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    74
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    75
CPresencePluginAuthorization* CPresencePluginAuthorization::NewL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    76
    MPresencePluginConnectionObs& aObs,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    77
    CPresencePluginData* aPresenceData )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    78
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    79
    DP_SDA("CPresencePluginAuthorization::NewL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    80
    CPresencePluginAuthorization* self =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    81
        new( ELeave ) CPresencePluginAuthorization( aObs, aPresenceData );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    82
    CleanupStack::PushL( self );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    83
    self->ConstructL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    84
    CleanupStack::Pop( self );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    85
    return self;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    86
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    87
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    88
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    89
// CPresencePluginAuthorization::ConstructL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    90
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    91
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    92
void CPresencePluginAuthorization::ConstructL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    93
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    94
    HBufC* serviceName =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    95
        iPresenceData->ServiceNameLC( iPresenceData->ServiceId() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    96
    iContacts = CPresencePluginContacts::NewL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    97
        iPresenceData->ServiceId(), *serviceName, *this );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    98
    CleanupStack::PopAndDestroy( serviceName );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
    99
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   100
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   101
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   102
// CPresencePluginAuthorization::~CPresencePluginAuthorization()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   103
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   104
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   105
CPresencePluginAuthorization::~CPresencePluginAuthorization()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   106
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   107
    delete iPresIdentity;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   108
    delete iContacts;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   109
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   110
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   111
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   112
// CPresencePluginAuthorization::SetDataHost()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   113
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   114
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   115
void CPresencePluginAuthorization::SetDataHost( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   116
    MProtocolPresenceAuthorizationDataHost& aDataHost )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   117
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   118
    DP_SDA("CPresencePluginAuthorization::SetDataHost ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   119
    iDataHost = &aDataHost;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   120
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   121
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   122
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   123
// CPresencePluginAuthorization::WinfoTerminatedL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   124
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   125
// 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   126
void CPresencePluginAuthorization::WinfoTerminatedL( TInt aReason )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   127
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   128
    DP_SDA("CPresencePluginAuthorization::WinfoTerminatedL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   129
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   130
    if ( iSubscribed )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   131
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   132
        MXIMPDataSubscriptionState* myState =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   133
            iConnObs.ObjectFactory().NewDataSubscriptionStateLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   134
        MXIMPStatus* myStatus = iConnObs.ObjectFactory().NewStatusLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   135
        myStatus->SetResultCode( aReason ? aReason : KErrCompletion );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   136
        myState->SetSubscriptionStateL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   137
            MXIMPDataSubscriptionState::ESubscriptionInactive );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   138
        
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   139
        // parameters' OWNERSHIP is taken   
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   140
        iDataHost->SetPresenceGrantRequestDataSubscriptionStateL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   141
            myState,  
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   142
            myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   143
        
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   144
        CleanupStack::Pop( /*myStatus*/ );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   145
        CleanupStack::Pop( /*myState*/ );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   146
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   147
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   148
    DP_SDA("CPresencePluginAuthorization::WinfoTerminatedL end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   149
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   150
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   151
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   152
// CPresencePluginAuthorization::DoSubscribePresenceGrantRequestListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   153
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   154
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   155
void CPresencePluginAuthorization::DoSubscribePresenceGrantRequestListL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   156
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   157
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   158
    DP_SDA("DoSubscribePresenceGrantRequestListL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   159
    iConnObs.WinfoHandlerL()->SubscribeWinfoListL( aReqId );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   160
    iSubscribed = ETrue;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   161
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   162
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   163
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   164
// CPresencePluginAuthorization::DoUnsubscribePresenceGrantRequestListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   165
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   166
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   167
void CPresencePluginAuthorization::DoUnsubscribePresenceGrantRequestListL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   168
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   169
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   170
    DP_SDA("DoUnsubscribePresenceGrantRequestListL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   171
    iConnObs.WinfoHandlerL()->UnsubscribeWinfoListL( aReqId );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   172
    iSubscribed = EFalse;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   173
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   174
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   175
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   176
// CPresencePluginAuthorization::DoGrantPresenceForPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   177
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   178
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   179
void CPresencePluginAuthorization::DoGrantPresenceForPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   180
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   181
    const MPresenceInfoFilter& /*aPif*/,  // notice: pif support
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   182
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   183
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   184
    DP_SDA("CPresencePluginAuthorization::DoGrantPresenceForPresentityL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   185
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   186
    // Workaround for clients that can only grant when accepting buddy request.
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   187
    // SIMPLE also requires grant + subscribe so do both here even though
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   188
    // it is agains ximp api definitions.
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   189
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   190
    _LIT( KDefaultBuddyList, "buddylist" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   191
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   192
    iAuthState = EStateAcceptBuddyRequest;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   193
    MXIMPIdentity* buddyList = iConnObs.ObjectFactory().NewIdentityLC(); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   194
    buddyList->SetIdentityL( KDefaultBuddyList() ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   195
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   196
    iConnObs.GroupsL().DoAddPresentityGroupMemberL( *buddyList, aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   197
        KNullDesC(), aReqId );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   198
    CleanupStack::PopAndDestroy( 1 ); // buddyList 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   199
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   200
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   201
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   202
// CPresencePluginAuthorization::DoPerformGrantPresenceForPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   203
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   204
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   205
void CPresencePluginAuthorization::DoPerformGrantPresenceForPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   206
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   207
    TRequestStatus& aClientStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   208
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   209
    DP_SDA("CPresencePluginAuthorization::DoPerformGrantPresenceForPresentityL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   210
    StartXdmOperationL( aPresentityId, 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   211
        EGrantPresenceForPresentity, aClientStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   212
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   213
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   214
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   215
// CPresencePluginAuthorization::DoUpdatePresenceGrantPifForPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   216
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   217
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   218
void CPresencePluginAuthorization::DoUpdatePresenceGrantPifForPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   219
    const MXIMPIdentity& /*aPresentityId*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   220
    const MPresenceInfoFilter& /*aPif*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   221
    TXIMPRequestId /*aReqId*/ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   222
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   223
    // Notice: later
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   224
    User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   225
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   226
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   227
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   228
// CPresencePluginAuthorization::DoWithdrawPresenceGrantFromPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   229
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   230
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   231
void CPresencePluginAuthorization::DoWithdrawPresenceGrantFromPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   232
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   233
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   234
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   235
    DP_SDA("CPresencePluginAuth::DoWithdrawPresenceGrantFromPresentityL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   236
    StartXdmOperationL( aPresentityId, aReqId, EWithdrawFromPresentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   237
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   238
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   239
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   240
// CPresencePluginAuthorization::DoPerformWithdrawPresGrantFromPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   241
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   242
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   243
void CPresencePluginAuthorization::DoPerformWithdrawPresGrantFromPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   244
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   245
    TRequestStatus& aClientStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   246
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   247
    DP_SDA("CPresencePluginAuthorization");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   248
    DP_SDA(" -> DoPerformWithdrawPresGrantFromPresentityL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   249
    StartXdmOperationL( aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   250
        EWithdrawFromPresentity, aClientStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   251
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   252
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   253
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   254
// CPresencePluginAuthorization::DoGrantPresenceForPresentityGroupMembersL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   255
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   256
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   257
void CPresencePluginAuthorization::DoGrantPresenceForPresentityGroupMembersL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   258
    const MXIMPIdentity& /*aGroupId*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   259
    const MPresenceInfoFilter& /*aPif*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   260
    TXIMPRequestId /*aReqId*/ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   261
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   262
    DP_SDA("CPresencePluginAuthorization::DoGrantPresenceForPresentityGroupMembersL -not supported");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   263
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   264
    User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   265
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   266
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   267
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   268
// CPresencePluginAuthorization::
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   269
// DoUpdatePresenceGrantPifForPresentityGroupMembersL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   270
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   271
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   272
void CPresencePluginAuthorization::
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   273
    DoUpdatePresenceGrantPifForPresentityGroupMembersL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   274
    const MXIMPIdentity& /*aGroupId*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   275
    const MPresenceInfoFilter& /*aPif*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   276
    TXIMPRequestId /*aReqId*/ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   277
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   278
    DP_SDA("CPresencePluginAuthorization::DoUpdatePresenceGrantPifForPresentityGroupMembersL -not supported");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   279
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   280
    User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   281
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   282
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   283
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   284
// CPresencePluginAuthorization::
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   285
// DoWithdrawPresenceGrantFromPresentityGroupMembersL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   286
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   287
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   288
void CPresencePluginAuthorization::
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   289
    DoWithdrawPresenceGrantFromPresentityGroupMembersL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   290
    const MXIMPIdentity& /*aGroupId*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   291
    TXIMPRequestId /*aReqId*/ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   292
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   293
    DP_SDA("CPresencePluginAuthorization::DoWithdrawPresenceGrantFromPresentityGroupMembersL -not supported");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   294
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   295
    User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   296
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   297
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   298
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   299
// CPresencePluginAuthorization::DoGrantPresenceForEveryoneL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   300
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   301
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   302
void CPresencePluginAuthorization::DoGrantPresenceForEveryoneL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   303
    const MPresenceInfoFilter& /*aPif*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   304
    TXIMPRequestId /*aReqId*/ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   305
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   306
    DP_SDA("CPresencePluginAuthorization::DoGrantPresenceForEveryoneL -not supported");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   307
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   308
    User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   309
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   310
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   311
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   312
// CPresencePluginAuthorization::DoUpdatePresenceGrantPifForEveryoneL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   313
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   314
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   315
void CPresencePluginAuthorization::DoUpdatePresenceGrantPifForEveryoneL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   316
    const MPresenceInfoFilter& /*aPif*/,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   317
    TXIMPRequestId /*aReqId*/ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   318
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   319
    DP_SDA("CPresencePluginAuthorization::DoUpdatePresenceGrantPifForEveryoneL -not supported");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   320
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   321
    User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   322
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   323
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   324
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   325
// CPresencePluginAuthorization::DoWithdrawPresenceGrantFromEveryoneL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   326
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   327
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   328
void CPresencePluginAuthorization::DoWithdrawPresenceGrantFromEveryoneL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   329
    TXIMPRequestId /*aReqId*/ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   330
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   331
    DP_SDA("CPresencePluginAuthorization::DoWithdrawPresenceGrantFromEveryoneL -not supported");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   332
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   333
    User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   334
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   335
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   336
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   337
// CPresencePluginAuthorization::DoSubscribePresenceBlockListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   338
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   339
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   340
void CPresencePluginAuthorization::DoSubscribePresenceBlockListL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   341
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   342
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   343
    DP_SDA("CPresencePluginAuthorization::DoSubscribePresenceBlockListL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   344
    MXIMPIdentity* nobody = iConnObs.ObjectFactory().NewIdentityLC(); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   345
    StartXdmOperationL( *nobody, aReqId, ESubscribeBlockList );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   346
    // Cannot PopAndDestroy by name
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   347
    CleanupStack::PopAndDestroy( );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   348
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   349
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   350
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   351
// CPresencePluginAuthorization::DoUnsubscribePresenceBlockListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   352
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   353
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   354
void CPresencePluginAuthorization::DoUnsubscribePresenceBlockListL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   355
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   356
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   357
    DP_SDA("CPresencePluginAuthorization::DoUnsubscribePresenceBlockListL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   358
    MXIMPIdentity* nobody = iConnObs.ObjectFactory().NewIdentityLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   359
    StartXdmOperationL( *nobody, aReqId, EUnsubscribeBlockList );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   360
    // Cannot PopAndDestroy by name
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   361
    CleanupStack::PopAndDestroy();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   362
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   363
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   364
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   365
// CPresencePluginAuthorization::DoBlockPresenceForPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   366
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   367
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   368
void CPresencePluginAuthorization::DoBlockPresenceForPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   369
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   370
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   371
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   372
    DP_SDA("CPresencePluginAuthorization::DoBlockPresenceForPresentityL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   373
    StartXdmOperationL( aPresentityId, aReqId, EBlockPresentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   374
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   375
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   376
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   377
// CPresencePluginAuthorization::DoPerformBlockPresenceForPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   378
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   379
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   380
void CPresencePluginAuthorization::DoPerformBlockPresenceForPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   381
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   382
    TRequestStatus& aClientStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   383
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   384
    DP_SDA(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   385
        "CPresencePluginAuthorization::DoPerformBlockPresenceForPresentityL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   386
    StartXdmOperationL( aPresentityId, EBlockPresentity, aClientStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   387
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   388
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   389
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   390
// CPresencePluginAuthorization::DoCancelPresenceBlockFromPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   391
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   392
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   393
void CPresencePluginAuthorization::DoCancelPresenceBlockFromPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   394
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   395
    TXIMPRequestId aReqId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   396
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   397
    DP_SDA(" DoCancelPresenceBlockFromPresentityL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   398
    StartXdmOperationL( aPresentityId, aReqId, EUnblockPresentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   399
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   400
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   401
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   402
// CPresencePluginAuthorization::DoPerformCancelPresenceBlockFromPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   403
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   404
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   405
void CPresencePluginAuthorization::DoPerformCancelPresenceBlockFromPresentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   406
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   407
    TRequestStatus& aClientStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   408
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   409
    DP_SDA(" DoPerformCancelPresenceBlockFromPresentityL (list)");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   410
    StartXdmOperationL( aPresentityId, EUnblockPresentity, aClientStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   411
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   412
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   413
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   414
// CPresencePluginAuthorization::DoCancel()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   415
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   416
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   417
void CPresencePluginAuthorization::DoCancel(  )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   418
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   419
    iXdmUtils->Cancel();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   420
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   421
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   422
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   423
// CPresencePluginAuthorization::RunL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   424
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   425
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   426
void CPresencePluginAuthorization::RunL(  )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   427
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   428
    TInt myStatus = iStatus.Int();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   429
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   430
    DP_SDA2( "CPresencePluginAuthorization::RunL mystatus %d ", myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   431
    DP_SDA2( "CPresencePluginAuthorization::RunL state %d ",iOperation );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   432
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   433
    if ( !iXdmOk && !myStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   434
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   435
        DP_SDA( "CPresencePluginAuthorization::RunL !iXdmOk && !myStatus" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   436
        iXdmOk = ETrue;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   437
        CallActualXdmOperationL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   438
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   439
    else if ( iClientStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   440
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   441
        DP_SDA( "CPresencePluginAuthorization::RunL - complete client" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   442
        TRequestStatus* s = iClientStatus;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   443
        User::RequestComplete( s, myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   444
        iClientStatus = NULL;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   445
        DP_SDA( "CPresencePluginAuthorization::RunL - complete client ok" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   446
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   447
    else if ( !myStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   448
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   449
        switch ( iAuthState )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   450
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   451
            case EStateDoBlock:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   452
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   453
                DP_SDA( "CPresencePluginAuthorization::RunL - Block presentity" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   454
                BlockPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   455
                iAuthState = EStateRemovePresentityFromGranted;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   456
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   457
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   458
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   459
            case EStateRemovePresentityFromGranted:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   460
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   461
                DP_SDA( "CPresencePluginAuthorization::RunL - Remove presentity from granted" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   462
                WithdrawFromPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   463
                iAuthState = EStateBlocked;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   464
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   465
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   466
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   467
            case EStateBlocked:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   468
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   469
                DP_SDA( "CPresencePluginAuthorization::RunL - Blocked" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   470
                SetPresentityBlockedToXIMPL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   471
                iAuthState = EStateIdle;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   472
                CompleteXIMPReq( myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   473
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   474
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   475
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   476
            case EStateIsContactBlockedBuddyRequest:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   477
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   478
                DP_SDA( "CPresencePluginAuthorization::RunL - Resolve contact type" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   479
                // resolve is contact blocked friend request
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   480
                HBufC* withoutPrefix = iPresenceData->RemovePrefixLC( *iPresIdentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   481
                IsBlockedContactFriendRequestL( *withoutPrefix, *this, iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   482
                CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   483
                SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   484
                iAuthState = EStateDoUnBlock;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   485
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   486
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   487
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   488
            case EStateDoUnBlock:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   489
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   490
                if ( iContactIsStored )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   491
                    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   492
                    DP_SDA( "CPresencePluginAuthorization::RunL - Grant presence for presentity" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   493
                    GrantPresenceForPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   494
                    iAuthState = EStatePresenceGranted;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   495
                    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   496
                else
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   497
                    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   498
                    DP_SDA( "CPresencePluginAuthorization::RunL - Complete unblock" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   499
                    iAuthState = EStateIdle;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   500
                    CompleteXIMPReq( myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   501
                    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   502
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   503
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   504
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   505
            case EStatePresenceGranted:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   506
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   507
                DP_SDA( "CPresencePluginAuthorization::RunL -Subscribe presentity presence" );  
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   508
                MXIMPIdentity* identity = iConnObs.ObjectFactory().NewIdentityLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   509
                identity->SetIdentityL( iPresIdentity->Des() ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   510
                iConnObs.WatcherHandlerL()->DoPerformSubscribePresentityPresenceL( *identity, iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   511
                CleanupStack::PopAndDestroy( ); //identity 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   512
                iAuthState = EStateSubscribe;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   513
                SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   514
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   515
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   516
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   517
            case EStateSubscribe:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   518
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   519
                DP_SDA( "CPresencePluginAuthorization::RunL -UnBlock completed" ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   520
                HBufC* withoutPrefix = iPresenceData->RemovePrefixLC( *iPresIdentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   521
                iPresenceData->WriteStatusToCacheL( *withoutPrefix, 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   522
                    MPresenceBuddyInfo2::ENotAvailable,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   523
                    KInvisibleState(),
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   524
                    KNullDesC() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   525
                CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   526
                iAuthState = EStateIdle;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   527
                CompleteXIMPReq( myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   528
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   529
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   530
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   531
            default:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   532
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   533
                DP_SDA( "CPresencePluginAuthorization::RunL - default case" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   534
                CompleteXIMPReq( myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   535
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   536
                break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   537
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   538
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   539
    else if ( KErrNotFound == myStatus && EStateDoBlock == iAuthState )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   540
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   541
        // When blocking friend request, watcher was not found but request
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   542
        // has to be blocked anyways.
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   543
        DP_SDA( "CPresencePluginAuthorization::RunL - Block presentity" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   544
        BlockPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   545
        iAuthState = EStateBlocked;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   546
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   547
    else
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   548
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   549
        DP_SDA( "CPresencePluginAuthorization::RunL -error" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   550
        CompleteXIMPReq( myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   551
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   552
        
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   553
    if ( EStateAcceptBuddyRequest == iAuthState && EGrantPresenceForPresentity == iOperation )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   554
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   555
        iAuthState = EStateIdle;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   556
        HBufC* withoutPrefix = iPresenceData->RemovePrefixLC( *iPresIdentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   557
        CallHandlePresenceGrantRequestObsoletedL( *withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   558
        iConnObs.SubscribedContacts()->HandlePresentityGroupMemberAddedL( *withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   559
        CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   560
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   561
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   562
    DP_SDA( "CPresencePluginAuthorization::RunL - exit" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   563
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   564
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   565
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   566
// CPresencePluginAuthorization::CallActualXdmOperationL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   567
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   568
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   569
void CPresencePluginAuthorization::CallActualXdmOperationL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   570
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   571
    DP_SDA("CPresencePluginAuthorization::CallActualXdmOperationL ");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   572
    DP_SDA2("CallActualXdmOperationL operation %d", iOperation );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   573
    iComplete = EFalse;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   574
    switch ( iOperation )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   575
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   576
        case EGrantPresenceForPresentity:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   577
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   578
            DP_SDA("CallActualXdmOperationL EGrantPresenceForPresentity");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   579
            GrantPresenceForPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   580
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   581
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   582
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   583
        case EWithdrawFromPresentity:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   584
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   585
            DP_SDA("CallActualXdmOperationL EWithdrawFromPresentity");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   586
            WithdrawFromPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   587
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   588
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   589
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   590
        case ESubscribeBlockList:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   591
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   592
            SubscribeBlockListL( );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   593
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   594
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   595
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   596
        case EUnsubscribeBlockList:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   597
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   598
            UnSubscribeBlockListL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   599
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   600
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   601
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   602
        case EBlockPresentity:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   603
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   604
            DP_SDA( "CallActualXdmOperationL EBlockPresentity" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   605
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   606
            TRAPD( error, UnsubscribePresentityPresenceL() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   607
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   608
            if( error )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   609
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   610
                DP_SDA2( "Unsubscribe presentity FAIL, error = %d" , error );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   611
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   612
                if ( KErrNotFound != error  )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   613
                    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   614
                    User::Leave( error );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   615
                    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   616
                BlockPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   617
                iAuthState = EStateBlocked;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   618
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   619
            else
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   620
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   621
                iAuthState = EStateDoBlock;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   622
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   623
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   624
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   625
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   626
        case EUnblockPresentity:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   627
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   628
            DP_SDA("CallActualXdmOperationL EUnblockPresentity"); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   629
            UnblockPresentityL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   630
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   631
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   632
            
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   633
        default:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   634
            User::Leave( KErrNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   635
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   636
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   637
    DP_SDA("CPresencePluginAuthorization::CallActualXdmOperationL end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   638
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   639
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   640
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   641
// CPresencePluginAuthorization::RunError()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   642
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   643
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   644
TInt CPresencePluginAuthorization::RunError( TInt aError )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   645
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   646
    // complete the open request
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   647
    CompleteXIMPReq( aError );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   648
    return KErrNone;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   649
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   650
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   651
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   652
// CPresencePluginAuthorization::GetInterface()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   653
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   654
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   655
TAny* CPresencePluginAuthorization::GetInterface(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   656
    TInt32 aInterfaceId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   657
    TIfGetOps aOptions )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   658
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   659
    if ( aInterfaceId == GetInterfaceId() )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   660
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   661
        // caller wants this interface
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   662
        return this;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   663
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   664
    if ( aOptions == MXIMPBase::EPanicIfUnknown )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   665
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   666
        User::Panic( KPluginName, KErrExtensionNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   667
        }  
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   668
    return NULL;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   669
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   670
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   671
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   672
// CPresencePluginAuthorization::GetInterface() const
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   673
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   674
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   675
const TAny* CPresencePluginAuthorization::GetInterface(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   676
    TInt32 aInterfaceId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   677
    TIfGetOps aOptions ) const
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   678
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   679
    if ( aInterfaceId == GetInterfaceId() )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   680
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   681
        // caller wants this interface
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   682
        return const_cast<CPresencePluginAuthorization*>(this);
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   683
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   684
    if ( aOptions == MXIMPBase::EPanicIfUnknown )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   685
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   686
        User::Panic( KPluginName, KErrExtensionNotSupported );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   687
        }  
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   688
    return NULL;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   689
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   690
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   691
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   692
// CPresencePluginAuthorization::GetInterfaceId()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   693
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   694
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   695
TInt32 CPresencePluginAuthorization::GetInterfaceId() const
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   696
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   697
    return MProtocolPresenceAuthorization::KInterfaceId;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   698
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   699
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   700
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   701
// CPresencePluginAuthorization::SetPresIdentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   702
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   703
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   704
void CPresencePluginAuthorization::SetPresIdentityL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   705
    const MXIMPIdentity& aPresentityId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   706
    TBool aFormatUri )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   707
    {  
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   708
    DP_SDA2("CPresencePluginAuthorization::SetPresIdentityL: %S",
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   709
        &aPresentityId.Identity() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   710
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   711
    delete iPresIdentity;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   712
    iPresIdentity = NULL;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   713
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   714
    if ( aFormatUri )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   715
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   716
        DP_SDA("CPresencePluginAuthorization::SetPresIdentityL, add prefix");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   717
        
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   718
        HBufC8* identityCopy = HBufC8::NewLC( KBufSize255 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   719
        TPtr8 identityCopyPtr( identityCopy->Des() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   720
        identityCopyPtr.Copy( aPresentityId.Identity() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   721
        
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   722
        HBufC8* prefixUri = iPresenceData->CreatePresenceUri8LC( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   723
            identityCopyPtr );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   724
        
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   725
        HBufC* prefixUri16 = HBufC::NewLC( KBufSize255 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   726
        TPtr prefixUri16Ptr( prefixUri16->Des() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   727
        prefixUri16Ptr.Copy( *prefixUri );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   728
        
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   729
        iPresIdentity = prefixUri16;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   730
        CleanupStack::Pop( prefixUri16 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   731
        CleanupStack::PopAndDestroy( prefixUri );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   732
        CleanupStack::PopAndDestroy( identityCopy );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   733
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   734
    else
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   735
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   736
        DP_SDA(" SetPresIdentityL, use as it is");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   737
        iPresIdentity = aPresentityId.Identity().AllocL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   738
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   739
    DP_SDA( "CPresencePluginAuthorization::SetPresIdentityL -exit" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   740
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   741
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   742
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   743
// CPresencePluginAuthorization::WinfoNotificationL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   744
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   745
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   746
void CPresencePluginAuthorization::WinfoNotificationL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   747
    MSimpleWinfo& aWinfo )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   748
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   749
    DP_SDA("CPresencePluginAuthorization::WinfoNotificationL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   750
    // Ignore notification if not subscribed
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   751
    using namespace NPresencePlugin::NPresence;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   752
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   753
    RPointerArray<MSimpleElement> elems;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   754
    CleanupClosePushL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   755
    TInt err = aWinfo.SimpleElementsL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   756
    User::LeaveIfError( err );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   757
    TInt count = elems.Count();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   758
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   759
    DP_SDA2("CPresencePluginAuthorization::WinfoNotificationL count %d",
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   760
        count);
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   761
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   762
    if ( !count ) 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   763
        { 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   764
        // stop parsing empty notification 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   765
        DP_SDA("CPresencePluginAuthorization::WinfoNotificationL LEAVE");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   766
        User::Leave( KErrArgument ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   767
        } 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   768
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   769
    const TDesC8* stateVal = aWinfo.AttrValue( KPresenceState8 ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   770
    if ( stateVal && !stateVal->CompareF( KPresenceFull8 )) 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   771
        { 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   772
        // Call full list method
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   773
        DP_SDA("CPresencePluginAuthorization::WinfoNotificationL FULL winfo");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   774
        HandleFullWinfoNotificationL( aWinfo ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   775
        } 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   776
    else 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   777
        { 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   778
        // Indicate changes in WINFO list one by one.
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   779
        DP_SDA("CPresencePluginAuthorization::WinfoNotificationLPARTIAL winfo");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   780
        HandlePartialWinfoNotificationL( aWinfo );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   781
        } 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   782
    CleanupStack::PopAndDestroy( &elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   783
    DP_SDA("CPresencePluginAuthorization::WinfoNotificationL end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   784
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   785
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   786
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   787
// CPresencePluginAuthorization::StartXdmOperationL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   788
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   789
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   790
void CPresencePluginAuthorization::StartXdmOperationL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   791
    const MXIMPIdentity& aId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   792
    TXIMPRequestId aReqId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   793
    TPluginAuthOperation aOperation )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   794
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   795
    __ASSERT_DEBUG( !IsActive(), User::Leave( KErrNotReady ) );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   796
    DP_SDA("CPresencePluginAuthorization::StartXdmOperationL 2");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   797
    SetPresIdentityL( aId, ETrue );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   798
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   799
    iXIMPId = aReqId;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   800
    iOperation = aOperation;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   801
    if ( !iXdmUtils )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   802
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   803
        DP_SDA("StartXdmOperationL !iXdmUtils");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   804
        iXdmUtils = iConnObs.XdmUtilsL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   805
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   806
    if ( iXdmUtils->CheckXdmDoc() )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   807
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   808
        DP_SDA("StartXdmOperationL iXdmOk");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   809
        iXdmOk = ETrue;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   810
        CallActualXdmOperationL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   811
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   812
    else
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   813
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   814
        DP_SDA("StartXdmOperationL else");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   815
        iXdmUtils->InitializeXdmL( iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   816
        SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   817
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   818
    DP_SDA("CPresencePluginAuthorization::StartXdmOperationL end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   819
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   820
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   821
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   822
// CPresencePluginAuthorization::StartXdmOperationL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   823
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   824
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   825
void CPresencePluginAuthorization::StartXdmOperationL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   826
    const MXIMPIdentity& aId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   827
    TPluginAuthOperation aOperation,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   828
    TRequestStatus& aClientStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   829
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   830
    __ASSERT_DEBUG( !IsActive(), User::Leave( KErrNotReady ) );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   831
    DP_SDA("CPresencePluginAuthorization::StartXdmOperationL 3 (list)");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   832
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   833
    SetPresIdentityL( aId, EFalse );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   834
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   835
    iClientStatus = &aClientStatus;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   836
    *iClientStatus = KRequestPending;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   837
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   838
    iOperation = aOperation;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   839
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   840
    if ( !iXdmUtils )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   841
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   842
        DP_SDA("StartXdmOperationL !iXdmUtils");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   843
        iXdmUtils = iConnObs.XdmUtilsL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   844
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   845
    if ( iXdmUtils->CheckXdmDoc() )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   846
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   847
        DP_SDA("StartXdmOperationL iXdmOk");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   848
        iXdmOk = ETrue;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   849
        CallActualXdmOperationL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   850
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   851
    else
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   852
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   853
        DP_SDA("StartXdmOperationL else");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   854
        iXdmUtils->InitializeXdmL( iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   855
        SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   856
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   857
    DP_SDA("CPresencePluginAuthorization::StartXdmOperationL end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   858
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   859
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   860
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   861
// CPresencePluginAuthorization::CompleteXIMPReq()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   862
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   863
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   864
void CPresencePluginAuthorization::CompleteXIMPReq( TInt aStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   865
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   866
    DP_SDA("CPresencePluginAuthorization::CompleteXIMPReq");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   867
    iOperation = ENoOperation;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   868
    iConnObs.CompleteReq( iXIMPId, aStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   869
    iXIMPId = TXIMPRequestId();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   870
    DP_SDA("CPresencePluginAuthorization::CompleteXIMPReq end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   871
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   872
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   873
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   874
// CPresencePluginAuthorization::SubscribeBlockListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   875
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   876
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   877
void CPresencePluginAuthorization::SubscribeBlockListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   878
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   879
    DP_SDA("CPresencePluginAuthorization::SubscribeBlockList");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   880
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   881
    RPointerArray<MXIMPIdentity> blocked;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   882
    CleanupStack::PushL( TCleanupItem(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   883
        TPresencePluginUtility::ResetAndDestroyIdentities,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   884
        &blocked ) );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   885
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   886
    iXdmUtils->SubscribeBlockListL( blocked );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   887
    MXIMPObjectCollection* coll =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   888
        iConnObs.ObjectFactory().NewObjectCollectionLC(); // << coll
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   889
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   890
    TInt count = blocked.Count();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   891
    for ( TInt i = 0; i < count; i++ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   892
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   893
        MXIMPIdentity* currId = blocked[i];
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   894
        HBufC* withoutPrefix = iPresenceData->RemovePrefixLC( currId->Identity() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   895
        currId->SetIdentityL( *withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   896
        CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   897
        MPresenceBlockInfo* bInfo =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   898
            iConnObs.PresenceObjectFactoryOwn().NewPresenceBlockInfoLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   899
        bInfo->SetBlockedEntityIdL( currId ); // ownership is taken
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   900
        blocked.Remove( i ); // remove currId from blocked
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   901
        blocked.InsertL( NULL, i );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   902
        bInfo->SetBlockedEntityDisplayNameL( currId->Identity() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   903
        coll->AddObjectL( bInfo );// ownership is taken
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   904
        CleanupStack::Pop();// >> bInfo
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   905
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   906
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   907
    DP_SDA("SubscribeBlockList complete request");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   908
    CompleteXIMPReq( KErrNone );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   909
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   910
    MXIMPDataSubscriptionState* myState =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   911
       iConnObs.ObjectFactory().NewDataSubscriptionStateLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   912
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   913
    MXIMPStatus* myStatus = iConnObs.ObjectFactory().NewStatusLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   914
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   915
    // Notice: consider XIMP error codes
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   916
    myStatus->SetResultCode( KErrNone );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   917
    myState->SetSubscriptionStateL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   918
        MXIMPDataSubscriptionState::ESubscriptionInactive );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   919
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   920
    iDataHost->SetPresenceBlockDataSubscriptionStateL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   921
        myState, myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   922
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   923
    iDataHost->HandlePresenceBlockListL( coll );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   924
    //Callback for subscription result
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   925
    CleanupStack::Pop( 3 ); // >> myState, myStatus, coll
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   926
    CleanupStack::PopAndDestroy( &blocked );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   927
    DP_SDA("CPresencePluginAuthorization::SubscribeBlockList end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   928
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   929
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   930
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   931
// CPresencePluginAuthorization::UnSubscribeBlockListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   932
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   933
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   934
void CPresencePluginAuthorization::UnSubscribeBlockListL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   935
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   936
    DP_SDA("CPresencePluginAuthorization::UnSubscribeBlockListL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   937
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   938
    MXIMPObjectCollection* coll =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   939
        iConnObs.ObjectFactory().NewObjectCollectionLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   940
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   941
    MXIMPDataSubscriptionState* myState =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   942
        iConnObs.ObjectFactory().NewDataSubscriptionStateLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   943
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   944
    MXIMPStatus* myStatus = iConnObs.ObjectFactory().NewStatusLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   945
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   946
    myStatus->SetResultCode( KErrNone );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   947
    myState->SetSubscriptionStateL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   948
        MXIMPDataSubscriptionState::ESubscriptionInactive );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   949
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   950
    iDataHost->SetPresenceBlockDataSubscriptionStateL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   951
        myState, myStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   952
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   953
    iDataHost->HandlePresenceBlockListL( coll );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   954
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   955
    CleanupStack::Pop( 3 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   956
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   957
    CompleteXIMPReq( KErrNone );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   958
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   959
    DP_SDA("CPresencePluginAuthorization::UnSubscribeBlockListL end");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   960
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   961
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   962
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   963
// CPresencePluginAuthorization::ReturnListSubsState()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   964
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   965
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   966
TBool CPresencePluginAuthorization::ReturnListSubsState()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   967
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   968
    return iSubscribed;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   969
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   970
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   971
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   972
// CPresencePluginAuthorization::PluginData()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   973
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   974
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   975
CPresencePluginData& CPresencePluginAuthorization::PluginData()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   976
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   977
    return *iPresenceData;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   978
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   979
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   980
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   981
// CPresencePluginAuthorization::HandleFullWinfoNotificationL 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   982
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   983
// 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   984
void CPresencePluginAuthorization::HandleFullWinfoNotificationL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   985
    MSimpleWinfo& aWinfo )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   986
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   987
    using namespace NPresencePlugin::NPresence;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   988
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   989
    RPointerArray<MSimpleElement> elems;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   990
    CleanupClosePushL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   991
    TInt err = aWinfo.SimpleElementsL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   992
    User::LeaveIfError( err );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   993
    TInt count = elems.Count();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   994
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   995
    MSimpleElement* elem = elems[0];
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   996
    TPtrC8 p8 = elem->LocalName();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   997
    err = p8.CompareF( KPresenceWatcherList8 ); //watcher-list
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   998
    DP_SDA2("HandleFullWinfoNotificationL leave if watcherlist error %d", err);
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
   999
    User::LeaveIfError( err );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1000
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1001
    err = elem->SimpleElementsL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1002
    DP_SDA2("HandleFullWinfoNotificationL error %d", err);
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1003
    User::LeaveIfError( err );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1004
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1005
    count = elems.Count();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1006
    DP_SDA("HandleFullWinfoNotificationL watcher list is valid");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1007
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1008
    // Search watchers who are pending (status = pending)
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1009
    HBufC* nodeContent = NULL;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1010
    MXIMPObjectCollection *pendings =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1011
        iConnObs.ObjectFactory().NewObjectCollectionLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1012
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1013
    TBool pendingFound(EFalse);
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1014
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1015
    for ( TInt i = 0; i < count; i++ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1016
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1017
        elem = elems[i];
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1018
        p8.Set( elem->LocalName());
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1019
        if (!( p8.CompareF( KPresenceWatcher8 )))
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1020
            {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1021
            const TDesC8* pp8 = elem->AttrValue( KPresenceStatus8 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1022
            if ( pp8 && !pp8->CompareF( KPresencePending8 ))
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1023
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1024
                DP_SDA("HandleFullWinfoNotificationL least one pending");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1025
                // Build collection of grant requests
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1026
                // Find the child node containing the SIP entity
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1027
                nodeContent = elem->ContentUnicodeL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1028
                CleanupStack::PushL( nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1029
                // create the collection entry here 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1030
                MPresenceGrantRequestInfo* grInfo =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1031
                   iConnObs.PresenceObjectFactoryOwn().
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1032
                       NewPresenceGrantRequestInfoLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1033
                MXIMPIdentity* identity =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1034
                    iConnObs.ObjectFactory().NewIdentityLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1035
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1036
                // Remove prefix to keep client side protocol agnostic
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1037
                HBufC16* withoutPrefix = iPresenceData->RemovePrefixLC( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1038
                    *nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1039
                identity->SetIdentityL( *withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1040
                CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1041
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1042
                grInfo->SetRequestorIdL( identity ); // ownership is taken
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1043
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1044
                pendings->AddObjectL( grInfo ); // ownership is taken
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1045
                pendingFound = ETrue;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1046
                CleanupStack::Pop( 2 ); //grInfo, identity
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1047
                CleanupStack::PopAndDestroy( nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1048
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1049
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1050
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1051
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1052
    if ( pendingFound )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1053
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1054
        DP_SDA("HandleFullWinfoNotificationL send pending");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1055
        iXIMPIdOwn = iDataHost->HandlePresenceGrantRequestListL( pendings );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1056
        CleanupStack::Pop();    // >> pendings
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1057
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1058
    else
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1059
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1060
        DP_SDA("HandleFullWinfoNotificationL pop pending");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1061
        CleanupStack::PopAndDestroy( ); // >> pendings
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1062
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1063
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1064
    CleanupStack::PopAndDestroy( &elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1065
    DP_SDA("CPresencePluginAuthorization::HandleFullWinfoNotificationL END");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1066
    } 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1067
 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1068
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1069
// CPresencePluginAuthorization::HandlePartialWinfoNotificationL 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1070
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1071
// 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1072
void CPresencePluginAuthorization::HandlePartialWinfoNotificationL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1073
    MSimpleWinfo& aWinfo )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1074
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1075
    DP_SDA("CPresencePluginAuthorization::HandlePartialWinfoNotificationL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1076
    using namespace NPresencePlugin::NPresence;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1077
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1078
    RPointerArray<MSimpleElement> elems;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1079
    CleanupClosePushL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1080
    TInt err = aWinfo.SimpleElementsL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1081
    User::LeaveIfError( err );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1082
    TInt count = elems.Count();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1083
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1084
    MSimpleElement* elem = elems[0];
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1085
    TPtrC8 p8 = elem->LocalName();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1086
    err = p8.CompareF( KPresenceWatcherList8 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1087
    User::LeaveIfError( err );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1088
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1089
    err = elem->SimpleElementsL( elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1090
    User::LeaveIfError( err );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1091
    count = elems.Count();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1092
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1093
    HBufC* nodeContent = NULL;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1094
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1095
    for ( TInt i = 0; i < count; i++ )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1096
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1097
        elem = elems[i]; 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1098
        p8.Set( elem->LocalName());
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1099
        if (!( p8.CompareF( KPresenceWatcher8 )))
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1100
            { 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1101
            const TDesC8* pp8 = elem->AttrValue( KPresenceStatus8 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1102
            if ( pp8 && !pp8->CompareF( KPresencePending8 ))
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1103
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1104
                nodeContent = elem->ContentUnicodeL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1105
                CleanupStack::PushL( nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1106
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1107
                // Remove prefix to keep client side protocol agnostic
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1108
                HBufC16* withoutPrefix = iPresenceData->RemovePrefixLC( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1109
                    *nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1110
                CallHandlePresenceGrantRequestReceivedL( *withoutPrefix ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1111
                CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1112
                CleanupStack::PopAndDestroy( nodeContent ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1113
                } 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1114
            else if ( pp8 && !pp8->CompareF( KPresenceTerminated8 )) 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1115
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1116
                nodeContent = elem->ContentUnicodeL(); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1117
                CleanupStack::PushL( nodeContent ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1118
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1119
                // Remove prefix to keep client side protocol agnostic
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1120
                HBufC16* withoutPrefix = iPresenceData->RemovePrefixLC( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1121
                    *nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1122
                CallHandlePresenceGrantRequestObsoletedL( *withoutPrefix ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1123
                CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1124
                CleanupStack::PopAndDestroy( nodeContent ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1125
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1126
            else if ( pp8 && !pp8->CompareF( KPresenceActive8 ))
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1127
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1128
                DP_SDA( "CPresencePluginAuthorization::HandlePartialWinfoNotificationL presence active" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1129
                
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1130
                nodeContent = elem->ContentUnicodeL();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1131
                CleanupStack::PushL( nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1132
                TInt pos( 0 );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1133
                if ( iConnObs.SubscribedContacts()->
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1134
                    GetVirtualIdentityArray()->Find( *nodeContent, pos ) == 0  )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1135
                    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1136
                    HBufC8* buffer = HBufC8::NewLC( nodeContent->Length() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1137
                    buffer->Des().Copy( *nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1138
                    if ( !iConnObs.WatcherHandlerL()->MatchWatcherId( *buffer ) )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1139
                        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1140
                        DP_SDA( "CPresencePluginAuthorization::HandlePartialWinfoNotificationL -subscribe presence" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1141
                        iConnObs.WatcherHandlerL()->SubscribeL( *nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1142
                        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1143
                    CleanupStack::PopAndDestroy( buffer );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1144
                    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1145
                CleanupStack::PopAndDestroy( nodeContent );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1146
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1147
            }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1148
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1149
    CleanupStack::PopAndDestroy( &elems );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1150
    DP_SDA("CPresencePluginAuthorization::HandlePartialWinfoNotificationL END");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1151
    } 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1152
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1153
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1154
// CPresencePluginAuthorization::CallHandlePresenceGrantRequestReceivedL 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1155
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1156
// 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1157
void CPresencePluginAuthorization::CallHandlePresenceGrantRequestReceivedL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1158
    const TDesC& aUserId ) 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1159
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1160
    DP_SDA("PluginAuthorization::CallHandlePresenceGrantRequestReceivedL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1161
    // create the collection entry here 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1162
    MPresenceGrantRequestInfo* grInfo = 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1163
        iConnObs.PresenceObjectFactoryOwn().NewPresenceGrantRequestInfoLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1164
    MXIMPIdentity* identity = iConnObs.ObjectFactory().NewIdentityLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1165
    identity->SetIdentityL( aUserId ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1166
    grInfo->SetRequestorIdL( identity ); // ownership is taken
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1167
    CleanupStack::Pop( ); // -identity 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1168
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1169
    iDataHost->HandlePresenceGrantRequestReceivedL( grInfo );//ownership taken 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1170
    CleanupStack::Pop( );           // -grInfo
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1171
    DP_SDA("PluginAuthorization::CallHandlePresenceGrantRequestReceivedL END");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1172
    } 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1173
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1174
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1175
// CPresencePluginAuthorization::CallHandlePresenceGrantRequestObsoletedL 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1176
// --------------------------------------------------------------------------- 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1177
// 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1178
void CPresencePluginAuthorization::CallHandlePresenceGrantRequestObsoletedL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1179
    const TDesC& aUserId )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1180
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1181
    DP_SDA("PluginAuthorization::CallHandlePresenceGrantRequestObsoletedL");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1182
    MXIMPIdentity* identity = iConnObs.ObjectFactory().NewIdentityLC(); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1183
    identity->SetIdentityL( aUserId ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1184
    iDataHost->HandlePresenceGrantRequestObsoletedL( identity );//taken 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1185
    CleanupStack::Pop( );// >> identity
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1186
    DP_SDA("PluginAuthorization::CallHandlePresenceGrantRequestObsoletedL END");
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1187
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1188
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1189
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1190
// CPresencePluginAuthorization::GrantPresenceForPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1191
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1192
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1193
void CPresencePluginAuthorization::GrantPresenceForPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1194
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1195
    iXdmUtils->AddEntityToGrantedL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1196
        iPresIdentity->Des(), iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1197
    SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1198
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1199
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1200
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1201
// CPresencePluginAuthorization::WithdrawFromPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1202
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1203
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1204
void CPresencePluginAuthorization::WithdrawFromPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1205
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1206
    iXdmUtils->RemoveEntityFromGrantedL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1207
        iPresIdentity->Des(),iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1208
    SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1209
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1210
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1211
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1212
// CPresencePluginAuthorization::UnsubscribePresentityPresenceL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1213
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1214
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1215
void CPresencePluginAuthorization::UnsubscribePresentityPresenceL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1216
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1217
    DP_SDA( "CPresencePluginAuthorization::UnsubscribePresentityPresence" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1218
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1219
    MXIMPIdentity* identity =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1220
        iConnObs.ObjectFactory().NewIdentityLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1221
    identity->SetIdentityL( iPresIdentity->Des() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1222
    iConnObs.WatcherHandlerL()->
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1223
        DoPerformUnsubscribePresentityPresenceL( *identity, iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1224
    CleanupStack::PopAndDestroy(); // identity
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1225
    SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1226
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1227
    DP_SDA( "CPresencePluginAuthorization::UnsubscribePresentityPresence -Exit" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1228
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1229
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1230
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1231
// CPresencePluginAuthorization::BlockPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1232
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1233
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1234
void CPresencePluginAuthorization::BlockPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1235
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1236
    DP_SDA( "CPresencePluginAuthorization::BlockPresentityL" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1237
    // add entity to block list
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1238
    iXdmUtils->AddEntityToBlockedL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1239
        iPresIdentity->Des(), iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1240
    SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1241
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1242
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1243
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1244
// CPresencePluginAuthorization::BlockPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1245
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1246
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1247
void CPresencePluginAuthorization::SetPresentityBlockedToXIMPL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1248
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1249
    DP_SDA( "CPresencePluginAuthorization::SetPresentityBlockedToXIMPL" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1250
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1251
    MPresenceBlockInfo* bInfo =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1252
        iConnObs.PresenceObjectFactoryOwn().NewPresenceBlockInfoLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1253
    MXIMPIdentity* identity = iConnObs.ObjectFactory().NewIdentityLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1254
    HBufC* withoutPrefix = iPresenceData->RemovePrefixLC( *iPresIdentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1255
    identity->SetIdentityL( *withoutPrefix ); 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1256
    bInfo->SetBlockedEntityIdL( identity ); // ownership is taken
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1257
    // Write blocked state into the presence cache
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1258
    TBuf<20> buf;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1259
    buf.Copy( KBlockedExtensionValue );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1260
    iPresenceData->WriteStatusToCacheL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1261
        *withoutPrefix, 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1262
        MPresenceBuddyInfo2::EUnknownAvailability,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1263
        buf,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1264
        KNullDesC() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1265
    CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1266
    iDataHost->HandlePresenceBlockedL( bInfo );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1267
    CleanupStack::Pop();// >> identity
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1268
    CleanupStack::Pop();// >> bInfo
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1269
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1270
    DP_SDA( "CPresencePluginAuthorization::SetPresentityBlockedToXIMPL -Exit" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1271
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1272
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1273
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1274
// CPresencePluginAuthorization::UnblockPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1275
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1276
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1277
void CPresencePluginAuthorization::UnblockPresentityL()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1278
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1279
    DP_SDA( "CPresencePluginAuthorization::UnblockPresentityL" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1280
     
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1281
    //remove entity from blocked list 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1282
    iXdmUtils->RemoveEntityFromBlockedL( 
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1283
        iPresIdentity->Des(), iStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1284
    //remove enity from ximp blocked too
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1285
    MXIMPIdentity* identity = iConnObs.ObjectFactory().NewIdentityLC();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1286
    HBufC* withoutPrefix = iPresenceData->RemovePrefixLC( *iPresIdentity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1287
    identity->SetIdentityL( *withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1288
    CleanupStack::PopAndDestroy( withoutPrefix );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1289
    iDataHost->HandlePresenceBlockCanceledL( identity );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1290
    CleanupStack::Pop();// >> identity
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1291
    iAuthState = EStateIsContactBlockedBuddyRequest;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1292
    SetActive();
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1293
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1294
    DP_SDA( "CPresencePluginAuthorization::UnblockPresentityL -Exit" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1295
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1296
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1297
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1298
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1299
// CPresencePluginAuthorization::IsBlockedContactFriendRequest()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1300
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1301
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1302
void CPresencePluginAuthorization::IsBlockedContactFriendRequestL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1303
    const TDesC& aPresenceId,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1304
    MPresencePluginContactsObs& aObserver,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1305
    TRequestStatus& aStatus )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1306
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1307
    DP_SDA( "CPresencePluginAuthorization::IsBlockedContactFriendRequest" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1308
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1309
    delete iContacts;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1310
    iContacts = NULL;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1311
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1312
    HBufC* serviceName =
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1313
        iPresenceData->ServiceNameLC( iPresenceData->ServiceId() );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1314
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1315
    iContacts = CPresencePluginContacts::NewL(
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1316
        iPresenceData->ServiceId(), *serviceName, aObserver );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1317
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1318
    CleanupStack::PopAndDestroy( serviceName );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1319
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1320
    iContacts->IsPresenceIdStoredL( aPresenceId, aStatus );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1321
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1322
    DP_SDA( "CPresencePluginAuthorization::IsBlockedContactFriendRequest -exit" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1323
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1324
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1325
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1326
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1327
// From base class MPresencePluginContactsObs
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1328
// CPresencePluginAuthorization::RequestComplete()
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1329
// ---------------------------------------------------------------------------
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1330
//
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1331
void CPresencePluginAuthorization::RequestComplete( TAny* aResult,
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1332
    TPresenceContactsOperation aOperation, TInt aError )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1333
    {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1334
    DP_SDA( "CPresencePluginAuthorization::RequestComplete" );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1335
    
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1336
    switch( aOperation )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1337
        {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1338
        case EOperationIsPresenceStoredToContacts:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1339
            if ( aResult != NULL && KErrNone == aError  )
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1340
                {
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1341
                iContactIsStored = *static_cast<TBool*>( aResult );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1342
                }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1343
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1344
        default:
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1345
            break;
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1346
        }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1347
    DP_SDA2( "CPresencePluginAuthorization::RequestComplete - iContactIsStored = %d", iContactIsStored );
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1348
    }
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1349
fbd2e7cec7ef Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents:
diff changeset
  1350
// End of file