IMPSengine/utils/src/impsservices.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:41:52 +0200
changeset 0 094583676ce7
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2002 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: 
*     WV Services tree data structures for Service Negotiation.
*     TImpsServices and TImpsFeature.
*
*/


// INCLUDE FILES
#include    <featmgr.h>
#include    "impsservices.h"
// NOTE remove this for final build
#include    "impsvariant.h"


// CONSTANTS
const TUint maskAll = 0xFFFFFFFF;


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


void TImpsFeature::SetFeature( TImpsFeatures aFeature )
    {
    iFeature = aFeature;
    }

EXPORT_C void TImpsFeature::Reset( TBool aAll  )
    {
    if ( aAll )
        {
        iOn = ETrue;
        iFunctions = maskAll;
        iCapabilities = maskAll;
        }
    else
        {
        iOn = EFalse;
        iFunctions = 0;
        iCapabilities = 0;
        }
    }

EXPORT_C void TImpsFeature::Copy( TImpsFeature& aCopy )
    {
    iOn = aCopy.iOn;
    iFunctions = aCopy.iFunctions;
    iFeature = aCopy.iFeature;
    iCapabilities = aCopy.iCapabilities;
    }


EXPORT_C TImpsServices::TImpsServices()
    {
    iFundamental.SetFeature( EFundamentalFeat );
    iPresence.SetFeature( EPresenceFeat );
    iIM.SetFeature( EIMFeat );
    iGroup.SetFeature( EGroupFeat );
    }

EXPORT_C TImpsFeature* TImpsServices::Feature( TImpsFeatures aFeature )
    {
    switch ( aFeature )
        {
        case EFundamentalFeat:
            return &iFundamental;
//            break;
        case EPresenceFeat:
            return &iPresence;
//            break;
        case EIMFeat:
            return &iIM;
//            break;
        case EGroupFeat:
        default:
            return &iGroup;
//            break;
        }
    }


EXPORT_C void TImpsServices::Reset( TBool aAll )
    {
    iFundamental.Reset( aAll );
    iPresence.Reset( aAll );
    iIM.Reset( aAll );
    iGroup.Reset( aAll );
    }

EXPORT_C void TImpsServices::Copy( TImpsServices& aCopy )
    {
    iFundamental.Copy( aCopy.iFundamental );
    iPresence.Copy( aCopy.iPresence );
    iIM.Copy( aCopy.iIM );
    iGroup.Copy( aCopy.iGroup );
    }



EXPORT_C TImpsCspIdentifier::TImpsCspIdentifier()
    {
    }   

EXPORT_C TImpsCspIdentifier::TImpsCspIdentifier( const TDesC& aSap, 
                                            const TDesC& aUserId )
:iSAP(aSap),
iUserId(aUserId)
    {
    }

// ================= OTHER EXPORTED FUNCTIONS ==============


//  End of File