--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/xmldomandxpath/inc/xpath/xmlengxformsinstancemap.h Thu Dec 17 09:29:21 2009 +0200
@@ -0,0 +1,99 @@
+// Copyright (c) 2005-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:
+// XForms instance map declaration
+//
+
+
+
+/**
+ @file
+ @publishedAll
+ @released
+*/
+#ifndef XMLENGCXFORMSINSTANCEMAP_H
+#define XMLENGCXFORMSINSTANCEMAP_H
+
+#include <e32base.h>
+
+class RXmlEngDocument;
+
+/**
+This class associates DOM Documents with a string name.
+Entries can be added and removed.
+*/
+class CXmlEngXFormsInstanceMap : public CBase
+{
+ friend class RXmlEngXPathExpression;
+
+public:
+ /**
+ Allocates and constructs a new CXmlENgXFormsInstanceMap object.
+ @return A new CXmlEngXFormsInstanceMap object.
+ @leave KErrNoMemory Memory allocation failure
+ @leave - Otherwise, any of the system wide errors.
+ */
+ IMPORT_C static CXmlEngXFormsInstanceMap* NewL();
+
+ /**
+ Allocates and constructs a new CXmlENgXFormsInstanceMap object, and leaves
+ it on the cleanup stack.
+ @return A new CXmlEngXFormsInstanceMap object.
+ @leave KErrNoMemory Memory allocation failure
+ @leave - Otherwise, any of the system wide errors.
+ */
+ IMPORT_C static CXmlEngXFormsInstanceMap* NewLC();
+
+public:
+ /**
+ Destructor. Frees internal storage, but does not free the Document
+ instances that were added. These are owned by the caller.
+ */
+ IMPORT_C ~CXmlEngXFormsInstanceMap();
+
+ /**
+ Adds an entry to the map. The document is associated with a name. If an
+ entry with the same name already exists this method does nothing.
+
+ Ownership of the document is not transferred.
+
+ @param aInstance The DOM document to be stored.
+ @param aName The name that to be associated with the document.
+ @leave KErrNoMemory Memory allocation failure
+ @leave - Otherwise, any of the system wide errors.
+ */
+ IMPORT_C void AddEntryL(RXmlEngDocument& aInstance, const TDesC8& aName);
+
+ /**
+ Removes an entry from the map. If the entry does not exist, the
+ method does nothing. Note that the document is not freed.
+
+ @param aName Name of entry to remove.
+ @leave KErrNoMemory Memory allocation failure
+ @leave - Otherwise, any of the system wide errors.
+ */
+ IMPORT_C void RemoveEntryL(const TDesC8& aName);
+
+private:
+ /** Second phase constructor */
+ void ConstructL();
+
+ /** Default constructor */
+ CXmlEngXFormsInstanceMap() {}
+
+private:
+ void *iInternal;
+};
+
+#endif // XMLENGCXFORMSINSTANCEMAP_H
+