applicationinterworkingfw/ServiceHandler/inc/AiwBinding.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 01:00:49 +0200
changeset 0 2f259fa3e83a
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* Copyright (c) 2003-2005 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:     Criteria binding base class declaration.
*
*/





#ifndef _AIW_BINDING_H
#define _AIW_BINDING_H

#include "AiwCommon.h" 
#include "AiwServiceIfBase.h"

class CAiwBinding : public CBase
    {
    public:
        static CAiwBinding* NewL();
        static CAiwBinding* NewLC();

        inline virtual ~CAiwBinding();
        inline RPointerArray<CAiwCriteriaItem>& Interest(); 
        inline void AddCriteriaL(CAiwCriteriaItem* aItem);
        inline CAiwServiceIfBase* BaseProvider(TInt aIndex);
        inline TInt NumberOfProviders() const;
        void AddProviderL(CAiwServiceIfBase* aProvider, TBool aIsDefault);
        TBool RemoveProvider(TInt aImplUid);
        TInt HasCriteriaItem(CAiwCriteriaItem& aItem) const;
        void RemoveCriteria(TInt aIndex);
        TBool HasProvider(CAiwServiceIfBase* aProvider) const;
        TBool HasServiceCmd(TInt aServiceCmd) const;
    protected:
        inline CAiwBinding();
    
    private:
    
    protected:
        RPointerArray<CAiwCriteriaItem> iInterest;
        RPointerArray<CAiwServiceIfBase> iProviders;
    };


#include "AiwBinding.inl"

#endif

// End of file