// Copyright (c) 1997-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:
//
#ifndef __MWAPPLUGINSP_H__
#define __MWAPPLUGINSP_H__
// System includes
//
#include <e32def.h>
// Forward class declarations
//
class CDocumentNode;
class CNode;
class CDTDNode;
class CXmlElement;
class CAttributeLookupTable;
typedef TAny CWmlLibrary;
//##ModelId=3B666FA402F4
class MWapPluginSP
/**
@publishedAll
@deprecated
*/
{
public:
/**
Intended Usage : Resets the content data pointers in the given document
node and any dependents. This could also reset the data pointer in an
associated data dictionary node and its client document nodes.
@since 6.0
@param aDocumentNode The pointer to the document root node
@param aDataPtr The pointer to the new data content
@pre None
@post The data pointers in the specified document node and
dependents have been set to the new data
*/
//##ModelId=3B666FA40331
virtual void ResetDocumentNodeData(CDocumentNode* aDocumentNode, TAny* aDataPtr) const =0;
/**
Intended Usage : Gets hold of the actual node that holds the data for the
specified document node. The document data may actually be shared amongst
several document nodes and actually held in the data dictionary.
@since 6.0
@param aDocumentNode The pointer to a document node
@return A pointer to node that actual holds the data.
*/
//##ModelId=3B666FA4032C
virtual CNode& DataStorageNode(const CDocumentNode* aDocumentNode) const =0;
/**
Intended Usage : Preload the specified DTD for validating recieved WML
and WMLC decks. The document data handler needs to call this as soon as it
knows what type of DTD the document is using. When the document completes,
this DTD will be used to validate it before the 100% complete message is
passed up to the engine observer.
@since 6.0
@param aDocType The specified DTD type
@param aDTDURL The URL of the DTD to be fetched
@param aDocRootNode The root node of the document to be validated
@return A pointer to the DTD if the specified DTD is available,
otherwise NULL.
@todo Add the pre and post conditions.
@pre None
@post Unspecified
*/
//##ModelId=3B666FA40328
virtual const CDTDNode* PrepareDTDL(const TDesC& aDocType,
const TDesC& aDTDURL,
const CDocumentNode* aDocRootNode) =0;
/**
Intended Usage : Provide a CWmlLibrary object. This object is ready to
process data and build a document tree to the given root node.
@since 6.0
@warning The CWmlLibrary object is owned by the WAP Engine.
@param aDocRootNode A pointer to the root node where the document
tree is to be built.
@return A pointer the CWmlLibrary object.
*/
//##ModelId=3B666FA40326
virtual CWmlLibrary* WmlLibL(CXmlElement* aDocRootNode) =0;
/**
Intended Usage : Gets the Attribute Look Up Table.
@since 6.0
@return A reference to the Attribute Look Up Table.
*/
//##ModelId=3B666FA4031C
virtual CAttributeLookupTable& AttributeLUT() =0;
};
#endif // __MWAPPLUGINSP_H__