sl@0: #ifndef __CAPABILITYSET_H__ sl@0: #define __CAPABILITYSET_H__/* sl@0: * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: #include sl@0: #include sl@0: #include "encdec.h" sl@0: sl@0: /** sl@0: * @file sl@0: * @internalComponent sl@0: */ sl@0: sl@0: const TInt KCapabilitySetMaxSize = (((TInt)ECapability_HardLimit + 7)>>3); sl@0: sl@0: class CapabilitySet sl@0: { sl@0: public: sl@0: CapabilitySet(); sl@0: CapabilitySet(const CapabilitySet &aRef); sl@0: CapabilitySet &operator=(const CapabilitySet &aRhs); sl@0: void AddCapability(TCapability aCapability); sl@0: TBool HasCapability(TCapability aCapability) const; sl@0: void ExternalizeL(RWriteStream &aStream) const; sl@0: void InternalizeL(RReadStream &aStream); sl@0: sl@0: private: sl@0: TUint32 iCaps[KCapabilitySetMaxSize / sizeof(TUint32)]; sl@0: }; sl@0: sl@0: void EncodeHuman(REncodeWriteStream& aStream,const CapabilitySet &aCapSet); sl@0: void DecodeHuman(RDecodeReadStream& aStream, CapabilitySet &aCapSet); sl@0: sl@0: sl@0: sl@0: #endif