diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/comms-infras/metacontainer.h --- a/epoc32/include/comms-infras/metacontainer.h Wed Mar 31 12:27:01 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -/** -* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -* which accompanies this distribution, and is available -* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - - - - - -/** - @file MetaContainer.h - @internalTechnology -*/ - -#if (!defined METACONTAINER_H) -#define METACONTAINER_H - -#include -#include -#include - - -namespace Meta -{ - -class RMetaDataContainerBase : public RPointerArray -/** - -Container of meta objects. -Base class. -Derived containers need to implement static LoadL. - -@internalComponent -@released since v9.0 */ - { -public: - IMPORT_C explicit RMetaDataContainerBase(); - - IMPORT_C void Copy(const RMetaDataContainerBase& aMetaContainer); - IMPORT_C TInt Store(TDes8& aDes) const; - - IMPORT_C TInt Load(TPtrC8& aDes); - IMPORT_C TInt Length() const; - - IMPORT_C STypeId GetTypeId() const; - -protected: - virtual SMetaData* LoadElementL(TPtrC8& aDes) = 0; - }; - -template -class RMetaDataContainer : public RMetaDataContainerBase -/** - -Templated container of meta objects that implements static LoadL. -Meta object type (template parameter) needs to implement its own static LoadL. - -@internalComponent -@released since v9.0 */ - { -public: - static RMetaDataContainer* LoadL(TPtrC8& aDes); - - explicit inline RMetaDataContainer(); - -protected: - virtual SMetaData* LoadElementL(TPtrC8& aDes); - }; - -typedef RMetaDataContainer RMetaDataEComContainer; - -} //namespace Meta - -#include - -#endif //METACONTAINER_H