xml/xmlfw/src/xmlframework/stringdictionarycollection.cpp
changeset 0 e35f40988205
--- /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 <ecom/ecom.h>
+
+#include <xml/stringdictionarycollection.h>
+
+#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();
+	}