diff -r 000000000000 -r e35f40988205 xml/xmlfw/src/xmlframework/stringdictionarycollection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/xmlfw/src/xmlframework/stringdictionarycollection.cpp Thu Dec 17 09:29:21 2009 +0200 @@ -0,0 +1,127 @@ +// Copyright (c) 2003-2009 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: +// + +#include + +#include + +#include "stringdictionarycollectionimpl.h" + +using namespace Xml; + +EXPORT_C RStringDictionaryCollection::RStringDictionaryCollection() +/** +Default constructor + +@post This object is properly constructed. + +*/ +: iImpl(NULL) + { + // do nothing; + } + + + +void RStringDictionaryCollection::CreateImplL() +/** +Create the implementation object. + +@pre The object has just been constructed but not opened. +@post The object is fully constructed and ready to be used. + +*/ + { + if (!iImpl) + { + iImpl = new (ELeave) RStringDictionaryCollectionImpl; + } + } + + + +EXPORT_C void RStringDictionaryCollection::OpenL() +/** +This method opens this resource incrementing the reference count. +It must be the first method called after construction. + +@post The object is ready to be used. + +*/ + { + CreateImplL(); + iImpl->OpenL(); + } + + +EXPORT_C void RStringDictionaryCollection::Close() +/** +This method cleans up the object before destruction. It releases all resources in +accordance to the R Class pattern. + +@post This object may be allowed to go out of scope. + +*/ + { + if (iImpl) + { + if (iImpl->Close() == 0) + { + delete iImpl; + iImpl = NULL; + } + } + } + + +EXPORT_C void RStringDictionaryCollection::OpenDictionaryL(const TDesC8& aDictionaryDescription) +/** +This method loads the Dictionary. + +@pre Connect has been called. +@post The Dictionary has been loaded. + +@param aDictionaryDescription The Namepspace MIME type. +*/ + { + iImpl->OpenDictionaryL(aDictionaryDescription); + } + + + +EXPORT_C RStringPool& RStringDictionaryCollection::StringPool() +/** +This method obtains a handle to the RStringPool + +@return the RStringPool + +*/ + { + return iImpl->StringPool(); + } + + +EXPORT_C MStringDictionary& RStringDictionaryCollection::CurrentDictionaryL() const +/** +This method obtains the current string dictionary in use. +Also, serves as a way to test if any dictionaries have been loaded as none needs be. + +@return the current Dictionary in use, if any. +@leave KErrXmlMissingStringDictionary if there is no dictionary + +*/ + { + return iImpl->CurrentDictionaryL(); + }