ximpfw/presence/srcpresenceprocessor/protocolpresencepublishingdatahostimp.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:54:49 +0200
changeset 0 e6b17d312c8b
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Implementation for managing cached presence publish information.
 *
*/


#include <ximpobjectcollection.h>
#include <presenceinfo.h>
#include <ximpdatasubscriptionstate.h>
#include <ximpstatus.h>

#include "protocolpresencedatahostimp.h"
#include "protocolpresencepublishingdatahostimp.h"

#include "ximpoperationbase.h"
#include "ximpoperationfactory.h"
#include "ximprestrictedobjectcollectionimp.h"
#include "ximpglobals.h"
#include "ximphost.h"
#include "presencedatacacheimp.h"
#include "presenceoperationdefs.h"
#include "ximptrace.h"

// ======== LOCAL FUNCTIONS ========


// ======== MEMBER FUNCTIONS ========


// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::NewL()
// ---------------------------------------------------------------------------
//
EXPORT_C CProtocolPresencePublishingDataHostImp*
        CProtocolPresencePublishingDataHostImp::NewL( MXIMPHost& aHost )
    {
    CProtocolPresencePublishingDataHostImp* self =
                new( ELeave ) CProtocolPresencePublishingDataHostImp( aHost );
    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop( self );
    return self;
    }


// ---------------------------------------------------------------------------
// Implement supported interface access.
// ---------------------------------------------------------------------------
//
XIMPIMP_IF_BASE_GET_INTERFACE_BEGIN( CProtocolPresencePublishingDataHostImp,
                                     MProtocolPresencePublishingDataHost )
XIMPIMP_IF_BASE_GET_INTERFACE_END()

XIMPIMP_IF_BASE_GET_CONST_INTERFACE_BEGIN( CProtocolPresencePublishingDataHostImp,
                                           MProtocolPresencePublishingDataHost )
XIMPIMP_IF_BASE_GET_INTERFACE_END()


// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::~CProtocolPresencePublishingDataHostImp()
// ---------------------------------------------------------------------------
//
CProtocolPresencePublishingDataHostImp::~CProtocolPresencePublishingDataHostImp()
    {
    }


// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::CProtocolPresencePublishingDataHostImp()
// ---------------------------------------------------------------------------
//
CProtocolPresencePublishingDataHostImp::CProtocolPresencePublishingDataHostImp(
                                                                    MXIMPHost& aHost )
    : iHost( aHost )
    {
    }

// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::ConstructL()
// ---------------------------------------------------------------------------
//
void CProtocolPresencePublishingDataHostImp::ConstructL()
    {
    }

// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::HandleSubscribedOwnPresenceL()
// ---------------------------------------------------------------------------
//
TXIMPRequestId
    CProtocolPresencePublishingDataHostImp::HandleSubscribedOwnPresenceL(
                                        MPresenceInfo* aPresenceInfo )
    {
    TRACE(_L("CProtocolPresencePublishingDataHostImp::HandleSubscribedOwnPresenceL") );
    return iHost.AddNewOperationL( NPresenceOps::EPrHandleOwnPresence,
                                   aPresenceInfo );
    }


// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::OwnPresenceDataSubscriptionState()
// ---------------------------------------------------------------------------
//
const MXIMPDataSubscriptionState& 
    CProtocolPresencePublishingDataHostImp::OwnPresenceDataSubscriptionState() const
    {
    TRACE(_L("CProtocolPresencePublishingDataHostImp::OwnPresenceDataSubscriptionState") );
    return iHost.PresenceDataAccess().PresenceDataCache().OwnPresenceDataSubscriptionState();
    }

// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::SetOwnPresenceDataSubscriptionStateL()
// ---------------------------------------------------------------------------
//
TXIMPRequestId CProtocolPresencePublishingDataHostImp::SetOwnPresenceDataSubscriptionStateL( 
            MXIMPDataSubscriptionState* aSubscriptionState, 
            MXIMPStatus* aStatus )
    {
    TRACE(_L("CProtocolPresencePublishingDataHostImp::SetOwnPresenceDataSubscriptionStateL") );
    return iHost.AddNewOperationL( NPresenceOps::EPrSetOwnPresenceDataSubscriptionState,
                             aSubscriptionState, aStatus );
    }

// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::HandlePresenceWatcherListL()
// ---------------------------------------------------------------------------
//
TXIMPRequestId
    CProtocolPresencePublishingDataHostImp::HandlePresenceWatcherListL(
                                        MXIMPObjectCollection* aWatcherList )
    {
    TRACE(_L("CProtocolPresencePublishingDataHostImp::HandlePresenceWatcherListL") );
    return iHost.AddNewOperationL( NPresenceOps::EPrHandlePresenceWatcherList,
                             aWatcherList );
    }

// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::HandlePresenceWatcherListL()
// ---------------------------------------------------------------------------
//
const MXIMPDataSubscriptionState& 
    CProtocolPresencePublishingDataHostImp::PresenceWatcherListDataSubscriptionState() const
    {
    TRACE(_L("CProtocolPresencePublishingDataHostImp::PresenceWatcherListDataSubscriptionState") );
    return iHost.PresenceDataAccess().PresenceDataCache().PresenceWatcherListDataSubscriptionState();
    }

// ---------------------------------------------------------------------------
// CProtocolPresencePublishingDataHostImp::HandlePresenceWatcherListL()
// ---------------------------------------------------------------------------
//
TXIMPRequestId 
    CProtocolPresencePublishingDataHostImp::SetPresenceWatcherListDataSubscriptionStateL(
            MXIMPDataSubscriptionState* aSubscriptionState, 
            MXIMPStatus* aStatus )
    {
    TRACE(_L("CProtocolPresencePublishingDataHostImp::SetPresenceWatcherListDataSubscriptionStateL") );
    return iHost.AddNewOperationL( NPresenceOps::EPrSetPresenceWatcherListDataSubscriptionState,
                             aSubscriptionState, aStatus );    
    }

// End of file