ACSMDownloader/include/rmsdk/mdom.h

957 lines
40 KiB
C++

/*
File automatically generated by SOAdvancedDissector.py
More information at http://indefero.soutade.fr/p/soadvanceddissector
*/
#ifndef _MDOM_H
#define _MDOM_H
#include <xpath.h>
#include <uft.h>
namespace mdom {
class AttrConfig;
class NameValueIterator;
class AttributeIterator;
class Traversal;
class TearOffNodeTraversal;
class AttributeNodeTraversal;
class AttributeValueTraversal;
class DOM;
class DOMHost;
class DOMListener;
class DOMListenerMultiplex;
class DocumentHandler;
class DOMSerializer;
class DataSink;
class DelegatingDOM;
class DelegatingDOMLink;
class LinkAccessor;
class DelegatingDOMLinkAccessor;
class DelegatingDOMNodeRef;
class DelegatingTraversal;
class ElementConfig;
class ExternalEntityResolver;
class GenericAttributeValue;
class InfoSetHasher;
class Link;
class NamespaceNodeTraversal;
class Node;
class NodeData;
class NodeIterator;
class NodeLine;
class NodeLineTranslationIterator;
class NodeTranslationIterator;
class Node_firstChild;
class Node_firstChildElement;
class Node_lastChildElement;
class Node_nextSibling;
class ParseException;
class Reference;
class RemovedChildRecord;
class ShiftedNodeLine;
class SingleNodeLineTranslationIterator;
class SourceNodeLine;
class TearOffNodeReference;
class TextChangeRecord;
class TraversalRef;
class AttrConfig
{
public:
AttrConfig(uft::QName const&, uft::ValueParser const*, unsigned int, unsigned int, uft::Value const&, unsigned int);
void getCanonicalName() const;
void setFlags(unsigned int);
void staticInit();
void* s_descriptor;
};
class NameValueIterator
{
public:
virtual ~NameValueIterator();
virtual void next(uft::Value*, uft::Value*) = 0;
};
class AttributeIterator: public mdom::NameValueIterator
{
public:
AttributeIterator(mdom::Node const&);
virtual ~AttributeIterator();
virtual void next(uft::Value*, uft::Value*);
};
class Traversal
{
public:
virtual void incRef(mdom::NodeData*) = 0;
virtual void decRef(mdom::NodeData*) = 0;
virtual void getDOM() = 0;
virtual void owner(mdom::Node*) = 0;
virtual void parent(mdom::Node*) = 0;
virtual void child(mdom::Node*, int, bool) = 0;
virtual void sibling(mdom::Node*, int, bool) = 0;
virtual void attributeNode(mdom::Node*, uft::Value const&);
virtual void namespaceNode(mdom::Node*, uft::Value const&);
virtual void childCount(mdom::Node const*, bool);
virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**) = 0;
virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int) = 0;
virtual void create(mdom::Node*, int, uft::Value const&) = 0;
virtual void clone(mdom::Node*, bool) = 0;
virtual void import(mdom::Node*, mdom::Node const*, bool);
virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*) = 0;
virtual void remove(mdom::Node const*) = 0;
virtual void getNodeType(mdom::Node const*) = 0;
virtual uft::String getNodeName(mdom::Node const*) = 0;
virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int) = 0;
virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&) = 0;
virtual void resolvePrefix(mdom::Node const*, uft::String const&) = 0;
virtual void getBaseURL(mdom::Node const*) = 0;
virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**) = 0;
virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int) = 0;
virtual void getAttribute(mdom::Node const*, uft::Value const&) = 0;
virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&) = 0;
virtual void compareNodes(mdom::Node const*, mdom::Node const*);
virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
virtual void finishIteration(xpath::Expression const&, xpath::Context*);
virtual void getChangeFlags(mdom::Node const*) = 0;
virtual void invalidate(mdom::Node const*, unsigned int) = 0;
virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*) = 0;
virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int) = 0;
virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*) = 0;
virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int) = 0;
virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*) = 0;
virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int) = 0;
virtual void getAttachment(mdom::Node const*, uft::Value const&) = 0;
virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&) = 0;
virtual void getCacheID(mdom::Node const*);
virtual void getAttachment(uft::Value const&) = 0;
virtual void setAttachment(uft::Value const&, uft::Value const&) = 0;
virtual void getReference(mdom::Node const*, bool) = 0;
virtual void destroy() = 0;
virtual ~Traversal();
void addRef();
void release();
};
class TearOffNodeTraversal: public mdom::Traversal
{
public:
TearOffNodeTraversal(mdom::Node const&);
virtual void incRef(mdom::NodeData*);
virtual void decRef(mdom::NodeData*);
virtual void getDOM();
virtual void owner(mdom::Node*);
virtual void parent(mdom::Node*);
virtual void child(mdom::Node*, int, bool);
virtual void sibling(mdom::Node*, int, bool);
virtual void attributeNode(mdom::Node*, uft::Value const&);
virtual void namespaceNode(mdom::Node*, uft::Value const&);
virtual void childCount(mdom::Node const*, bool);
virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void create(mdom::Node*, int, uft::Value const&);
virtual void clone(mdom::Node*, bool);
virtual void import(mdom::Node*, mdom::Node const*, bool);
virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
virtual void remove(mdom::Node const*);
virtual void getNodeType(mdom::Node const*);
virtual uft::String getNodeName(mdom::Node const*);
virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
virtual void resolvePrefix(mdom::Node const*, uft::String const&);
virtual void getBaseURL(mdom::Node const*);
virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void getAttribute(mdom::Node const*, uft::Value const&);
virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void compareNodes(mdom::Node const*, mdom::Node const*);
virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
virtual void finishIteration(xpath::Expression const&, xpath::Context*);
virtual void getChangeFlags(mdom::Node const*);
virtual void invalidate(mdom::Node const*, unsigned int);
virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
virtual void getAttachment(mdom::Node const*, uft::Value const&);
virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void getCacheID(mdom::Node const*);
virtual void getAttachment(uft::Value const&);
virtual void setAttachment(uft::Value const&, uft::Value const&);
virtual void getReference(mdom::Node const*, bool);
virtual void destroy();
virtual ~TearOffNodeTraversal();
virtual void getKey();
virtual void getAttKey();
void createTearOffNode(mdom::Node const&, uft::Value const&, unsigned int);
void staticInit();
void* s_descriptor;
};
class AttributeNodeTraversal: public mdom::TearOffNodeTraversal
{
public:
AttributeNodeTraversal(mdom::Node const&);
virtual void incRef(mdom::NodeData*);
virtual void decRef(mdom::NodeData*);
virtual void getDOM();
virtual void owner(mdom::Node*);
virtual void parent(mdom::Node*);
virtual void child(mdom::Node*, int, bool);
virtual void sibling(mdom::Node*, int, bool);
virtual void attributeNode(mdom::Node*, uft::Value const&);
virtual void namespaceNode(mdom::Node*, uft::Value const&);
virtual void childCount(mdom::Node const*, bool);
virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void create(mdom::Node*, int, uft::Value const&);
virtual void clone(mdom::Node*, bool);
virtual void import(mdom::Node*, mdom::Node const*, bool);
virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
virtual void remove(mdom::Node const*);
virtual void getNodeType(mdom::Node const*);
virtual uft::String getNodeName(mdom::Node const*);
virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
virtual void resolvePrefix(mdom::Node const*, uft::String const&);
virtual void getBaseURL(mdom::Node const*);
virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void getAttribute(mdom::Node const*, uft::Value const&);
virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void compareNodes(mdom::Node const*, mdom::Node const*);
virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
virtual void finishIteration(xpath::Expression const&, xpath::Context*);
virtual void getChangeFlags(mdom::Node const*);
virtual void invalidate(mdom::Node const*, unsigned int);
virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
virtual void getAttachment(mdom::Node const*, uft::Value const&);
virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void getCacheID(mdom::Node const*);
virtual void getAttachment(uft::Value const&);
virtual void setAttachment(uft::Value const&, uft::Value const&);
virtual void getReference(mdom::Node const*, bool);
virtual void destroy();
virtual ~AttributeNodeTraversal();
virtual void getKey();
virtual void getAttKey();
};
class AttributeValueTraversal: public mdom::TearOffNodeTraversal
{
public:
AttributeValueTraversal(mdom::Node const&);
virtual void incRef(mdom::NodeData*);
virtual void decRef(mdom::NodeData*);
virtual void getDOM();
virtual void owner(mdom::Node*);
virtual void parent(mdom::Node*);
virtual void child(mdom::Node*, int, bool);
virtual void sibling(mdom::Node*, int, bool);
virtual void attributeNode(mdom::Node*, uft::Value const&);
virtual void namespaceNode(mdom::Node*, uft::Value const&);
virtual void childCount(mdom::Node const*, bool);
virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void create(mdom::Node*, int, uft::Value const&);
virtual void clone(mdom::Node*, bool);
virtual void import(mdom::Node*, mdom::Node const*, bool);
virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
virtual void remove(mdom::Node const*);
virtual void getNodeType(mdom::Node const*);
virtual uft::String getNodeName(mdom::Node const*);
virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
virtual void resolvePrefix(mdom::Node const*, uft::String const&);
virtual void getBaseURL(mdom::Node const*);
virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void getAttribute(mdom::Node const*, uft::Value const&);
virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void compareNodes(mdom::Node const*, mdom::Node const*);
virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
virtual void finishIteration(xpath::Expression const&, xpath::Context*);
virtual void getChangeFlags(mdom::Node const*);
virtual void invalidate(mdom::Node const*, unsigned int);
virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
virtual void getAttachment(mdom::Node const*, uft::Value const&);
virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void getCacheID(mdom::Node const*);
virtual void getAttachment(uft::Value const&);
virtual void setAttachment(uft::Value const&, uft::Value const&);
virtual void getReference(mdom::Node const*, bool);
virtual void destroy();
virtual ~AttributeValueTraversal();
virtual void getKey();
virtual void getAttKey();
};
class DOM
{
public:
DOM(uft::ErrorHandler*);
virtual ~DOM();
virtual void getDOMId() = 0;
virtual void getDOMCaps() = 0;
virtual void query(uft::Value const&, void*) = 0;
virtual void setElementConfigs(mdom::Node const&, mdom::ElementConfig const*, unsigned int) = 0;
virtual void setPreParser(uft::ValueParser*) = 0;
virtual mdom::Node getRoot() = 0;
virtual void getResource(uft::URL const&) = 0;
virtual void attachDOMListener(unsigned int, mdom::DOMListener*) = 0;
virtual void getErrorHandler();
virtual void clearChanges() = 0;
virtual void cloneConfig() = 0;
virtual void setDOMHost(mdom::DOMHost*) = 0;
};
class DOMHost
{
public:
virtual ~DOMHost();
virtual void requestClearChanges(mdom::Node const&) = 0;
virtual void requestResource(uft::URL const&) = 0;
virtual void showErrorMessage(uft::String&) = 0;
};
class DOMListener
{
public:
virtual ~DOMListener();
virtual void created(mdom::Node const*) = 0;
virtual void inserting(mdom::Node const*, mdom::Node const*) = 0;
virtual void inserted(mdom::Node const*, mdom::Node const*) = 0;
virtual void removing(mdom::Node const*, mdom::Node const*) = 0;
virtual void removed(mdom::Node const*, mdom::Node const*) = 0;
virtual void changingNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&) = 0;
virtual void wantChangedNodeValueCall(mdom::Node const*) = 0;
virtual void changedNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&) = 0;
virtual void changingAttribute(mdom::Node const*, uft::Value const&, uft::Value const&) = 0;
virtual void wantChangedAttributeCall(mdom::Node const*, uft::Value const&) = 0;
virtual void changedAttribute(mdom::Node const*, uft::Value const&, uft::Value const&, uft::Value const&) = 0;
virtual void changingLink(mdom::Node const*, uft::Value const&, mdom::Node const*, mdom::Node const*) = 0;
virtual void wantChangedLinkCall(mdom::Node const*, uft::Value const&) = 0;
virtual void changedLink(mdom::Node const*, uft::Value const&, mdom::Node const*, mdom::Node const*) = 0;
virtual void changingElementConfig(mdom::Node const*, unsigned int) = 0;
virtual void changedElementConfig(mdom::Node const*) = 0;
virtual void changedBranch(mdom::Node const*) = 0;
};
class DOMListenerMultiplex
{
public:
DOMListenerMultiplex();
DOMListenerMultiplex(mdom::DOMListenerMultiplex const&);
~DOMListenerMultiplex();
void attachDOMListener(unsigned int, mdom::DOMListener*);
void changedAttribute(mdom::Node const*, uft::Value const&, uft::Value const&, uft::Value const&);
void changedBranch(mdom::Node const*);
void changedElementConfig(mdom::Node const*);
// void changedLink(mdom::Node const*, uft::sref<mdom::AttrConfig> const&, mdom::Node const*, mdom::Node const*);
void changedNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
void changingAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
void changingElementConfig(mdom::Node const*, unsigned int);
// void changingLink(mdom::Node const*, uft::sref<mdom::AttrConfig> const&, mdom::Node const*, mdom::Node const*);
void changingNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
void created(mdom::Node const*);
void inserted(mdom::Node const*, mdom::Node const*);
void inserting(mdom::Node const*, mdom::Node const*);
void removed(mdom::Node const*, mdom::Node const*);
void removing(mdom::Node const*, mdom::Node const*);
void wantChangedAttributeCall(mdom::Node const*, uft::Value const&);
// void wantChangedLinkCall(mdom::Node const*, uft::sref<mdom::AttrConfig> const&);
void wantChangedNodeValueCall(mdom::Node const*);
};
class DocumentHandler
{
public:
DocumentHandler();
virtual ~DocumentHandler();
virtual bool characters(uft::Value const&) = 0;
virtual bool comment(uft::Value const&) = 0;
virtual bool endDocument() = 0;
virtual bool endElement(uft::Value const&, uft::Value const&, uft::Value const&) = 0;
virtual bool endEntity(uft::Value const&) = 0;
virtual bool processingInstruction(uft::Value const&, uft::Value const&) = 0;
virtual bool startDocument() = 0;
virtual bool startElement(mdom::Node const&, uft::Value const&, uft::Value const&, uft::Value const&, mdom::NameValueIterator*) = 0;
virtual bool startEntity(uft::Value const&) = 0;
};
class DOMSerializer: public mdom::DocumentHandler
{
public:
DOMSerializer();
virtual ~DOMSerializer();
virtual bool characters(uft::Value const&);
virtual bool comment(uft::Value const&);
virtual bool endDocument();
virtual bool endElement(uft::Value const&, uft::Value const&, uft::Value const&);
virtual bool endEntity(uft::Value const&);
virtual bool processingInstruction(uft::Value const&, uft::Value const&);
virtual bool startDocument();
virtual bool startElement(mdom::Node const&, uft::Value const&, uft::Value const&, uft::Value const&, mdom::NameValueIterator*);
virtual bool startEntity(uft::Value const&);
virtual bool getOutputString();
void appendValue(uft::Value const&, unsigned int);
void lookupAutogenNSStack(uft::String&, uft::String&);
void lookupNSStack(uft::String&, uft::String&);
};
class DataSink
{
public:
virtual void virtfunc8() = 0;
virtual void virtfunc12() = 0;
};
class DelegatingDOM: public mdom::DOM
{
public:
DelegatingDOM(mdom::DOM*);
DelegatingDOM(mdom::Node const&);
virtual ~DelegatingDOM();
virtual void getDOMId() = 0;
virtual void getDOMCaps() = 0;
virtual void query(uft::Value const&, void*) = 0;
virtual void setElementConfigs(mdom::Node const&, mdom::ElementConfig const*, unsigned int);
virtual void setPreParser(uft::ValueParser*);
virtual mdom::Node getRoot();
virtual void getResource(uft::URL const&);
virtual void attachDOMListener(unsigned int, mdom::DOMListener*);
virtual void getErrorHandler();
virtual void clearChanges();
virtual void cloneConfig();
virtual void setDOMHost(mdom::DOMHost*);
virtual void baseNode(mdom::Node const&);
virtual void traversalSwitch(mdom::Node*);
virtual void traversalSwitch(mdom::Node*, uft::Value const&);
virtual void createDelegateFor(mdom::Node*, uft::Value const&);
virtual void destroyDelegate(mdom::DelegatingTraversal*);
virtual void getDefaultKey() const;
void refreshBase(mdom::Node const&);
void registerRef(mdom::DelegatingDOMNodeRef*);
void translateNode(mdom::Node const&);
void translateNode(mdom::Node const&, uft::Value const&);
void unregisterRef(mdom::DelegatingDOMNodeRef*);
};
class DelegatingDOMLink
{
public:
void query(uft::Value const&, void*);
void staticInit();
void toString() const;
void* s_descriptor;
};
class LinkAccessor
{
public:
virtual void getFirstLinkedNode(uft::Value const&, mdom::Node const&);
virtual void iterateLinkedNodes(uft::Value const&, mdom::Node const&, unsigned int*);
virtual void finishLinkedNodeIteration(uft::Value const&, mdom::Node const&, unsigned int);
void* s_instance;
};
class DelegatingDOMLinkAccessor: public mdom::LinkAccessor
{
public:
virtual void getFirstLinkedNode(uft::Value const&, mdom::Node const&);
virtual void iterateLinkedNodes(uft::Value const&, mdom::Node const&, unsigned int*);
virtual void finishLinkedNodeIteration(uft::Value const&, mdom::Node const&, unsigned int);
void* s_instance;
};
class DelegatingDOMNodeRef
{
public:
DelegatingDOMNodeRef(mdom::DelegatingDOM*, mdom::Reference const&, uft::Value const&);
~DelegatingDOMNodeRef();
void query(uft::Value const&, void*);
void staticInit();
void toString() const;
void* s_descriptor;
};
class DelegatingTraversal: public mdom::Traversal
{
public:
DelegatingTraversal(mdom::Traversal*, mdom::DelegatingDOM*, uft::Value const&);
virtual void incRef(mdom::NodeData*);
virtual void decRef(mdom::NodeData*);
virtual void getDOM();
virtual void owner(mdom::Node*);
virtual void parent(mdom::Node*);
virtual void child(mdom::Node*, int, bool);
virtual void sibling(mdom::Node*, int, bool);
virtual void attributeNode(mdom::Node*, uft::Value const&);
virtual void namespaceNode(mdom::Node*, uft::Value const&);
virtual void childCount(mdom::Node const*, bool);
virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void create(mdom::Node*, int, uft::Value const&);
virtual void clone(mdom::Node*, bool);
virtual void import(mdom::Node*, mdom::Node const*, bool);
virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
virtual void remove(mdom::Node const*);
virtual void getNodeType(mdom::Node const*);
virtual uft::String getNodeName(mdom::Node const*);
virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
virtual void resolvePrefix(mdom::Node const*, uft::String const&);
virtual void getBaseURL(mdom::Node const*);
virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void getAttribute(mdom::Node const*, uft::Value const&);
virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void compareNodes(mdom::Node const*, mdom::Node const*);
virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
virtual void finishIteration(xpath::Expression const&, xpath::Context*);
virtual void getChangeFlags(mdom::Node const*);
virtual void invalidate(mdom::Node const*, unsigned int);
virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
virtual void getAttachment(mdom::Node const*, uft::Value const&);
virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void getCacheID(mdom::Node const*);
virtual void getAttachment(uft::Value const&);
virtual void setAttachment(uft::Value const&, uft::Value const&);
virtual void getReference(mdom::Node const*, bool);
virtual void destroy();
virtual ~DelegatingTraversal();
virtual void traversalSwitch(mdom::Node*);
virtual void traversalSwitchForResource(mdom::Node*, mdom::Node const&);
};
class ElementConfig
{
public:
};
class ExternalEntityResolver
{
public:
virtual void getExternalEntity(uft::String const&, uft::URL const&) = 0;
};
class GenericAttributeValue
{
public:
void staticInit();
void* s_descriptor;
};
class InfoSetHasher
{
public:
InfoSetHasher();
~InfoSetHasher();
virtual void update(unsigned char const*, unsigned int) = 0;
void flushText();
void hashInfoset(mdom::Node const&);
void updateStr(char const*, unsigned int);
void updateStr(uft::String const&);
};
class Link
{
public:
void finishLinkedNodeIteration(mdom::Node const&, unsigned int) const;
void getFirstLinkedNode(mdom::Node const&) const;
void getLinkAccessor() const;
void isInstanceOf(uft::Value const&);
void iterateLinkedNodes(mdom::Node const&, unsigned int*) const;
};
class NamespaceNodeTraversal: public mdom::TearOffNodeTraversal
{
public:
NamespaceNodeTraversal(mdom::Node const&);
virtual void incRef(mdom::NodeData*);
virtual void decRef(mdom::NodeData*);
virtual void getDOM();
virtual void owner(mdom::Node*);
virtual void parent(mdom::Node*);
virtual void child(mdom::Node*, int, bool);
virtual void sibling(mdom::Node*, int, bool);
virtual void attributeNode(mdom::Node*, uft::Value const&);
virtual void namespaceNode(mdom::Node*, uft::Value const&);
virtual void childCount(mdom::Node const*, bool);
virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void create(mdom::Node*, int, uft::Value const&);
virtual void clone(mdom::Node*, bool);
virtual void import(mdom::Node*, mdom::Node const*, bool);
virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
virtual void remove(mdom::Node const*);
virtual void getNodeType(mdom::Node const*);
virtual uft::String getNodeName(mdom::Node const*);
virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
virtual void resolvePrefix(mdom::Node const*, uft::String const&);
virtual void getBaseURL(mdom::Node const*);
virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
virtual void getAttribute(mdom::Node const*, uft::Value const&);
virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void compareNodes(mdom::Node const*, mdom::Node const*);
virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
virtual void finishIteration(xpath::Expression const&, xpath::Context*);
virtual void getChangeFlags(mdom::Node const*);
virtual void invalidate(mdom::Node const*, unsigned int);
virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
virtual void getAttachment(mdom::Node const*, uft::Value const&);
virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
virtual void getCacheID(mdom::Node const*);
virtual void getAttachment(uft::Value const&);
virtual void setAttachment(uft::Value const&, uft::Value const&);
virtual void getReference(mdom::Node const*, bool);
virtual void destroy();
virtual ~NamespaceNodeTraversal();
virtual void getKey();
virtual void getAttKey();
};
class NodeIterator
{
public:
virtual ~NodeIterator();
virtual void next() = 0;
virtual void current() = 0;
};
class Node
{
public:
Node();
Node(mdom::Node const&);
Node(mdom::Node_firstChild const&);
Node(mdom::Node_firstChildElement const&);
Node(mdom::Node_lastChildElement const&);
Node(mdom::Node_nextSibling const&);
~Node();
void appendChild(mdom::Node const&) const;
void createElement(uft::QName const&) const;
void createNode(int, uft::Value const&) const;
void createTextNode(uft::String const&) const;
void finishIteration(xpath::Expression const&, xpath::Context*);
void getAttribute(uft::Value const&) const;
mdom::Node_firstChild getFirstChild() const;
mdom::Node_firstChildElement getFirstChildElement() const;
void getLastChildElement() const;
void getNextSibling() const;
void getNodeType() const;
void getOwner() const;
void getReference(bool) const;
void importNode(mdom::Node const&, bool) const;
void inPlaceCreate(int, uft::Value const&);
void isValid() const;
void iterate(xpath::Expression const&, xpath::Context*);
mdom::NodeIterator* iterateBranch(mdom::Node const&, unsigned int*);
void operator=(mdom::Node const&);
void remove() const;
void setAttribute(uft::Value const&, uft::Value const&) const;
void toChild(int, bool);
Node toFirstChild();
void toFirstChildElement();
void toLastChildElement();
void toNextSibling();
void toNextSiblingElement();
void toOwner();
void toPreviousSiblingElement();
void toSibling(int, bool);
void walkBranch(mdom::DocumentHandler*) const;
};
class NodeData
{
public:
};
class NodeLine
{
public:
virtual ~NodeLine();
virtual void length() = 0;
virtual void item(unsigned int) = 0;
virtual void last();
};
class NodeLineTranslationIterator
{
public:
virtual ~NodeLineTranslationIterator();
virtual void next() = 0;
virtual void current() = 0;
virtual void consumed() = 0;
virtual void endTranslation() = 0;
virtual void translationInfo() = 0;
void* RETURN_UNTRANSLATED;
};
class NodeTranslationIterator: public mdom::NodeIterator
{
public:
NodeTranslationIterator(mdom::NodeLineTranslationIterator*, mdom::NodeLine*);
virtual ~NodeTranslationIterator();
virtual void next();
virtual void current();
};
class Node_firstChild
{
public:
Node_firstChild(mdom::Node const&);
};
class Node_firstChildElement
{
public:
Node_firstChildElement(mdom::Node const&);
};
class Node_lastChildElement
{
public:
Node_lastChildElement(mdom::Node const&);
};
class Node_nextSibling
{
public:
Node_nextSibling(mdom::Node const&);
};
class ParseException
{
public:
ParseException();
ParseException(int);
ParseException(uft::String const&);
~ParseException();
void getErrorCode() const;
void getMessage() const;
};
class Reference
{
public:
void getDOM() const;
void getNode() const;
void isInstanceOf(uft::Value const&);
};
class RemovedChildRecord
{
public:
void staticInit();
void* s_descriptor;
};
class ShiftedNodeLine: public mdom::NodeLine
{
public:
ShiftedNodeLine(mdom::NodeLine*, unsigned int);
virtual ~ShiftedNodeLine();
virtual void length();
virtual void item(unsigned int);
virtual void last();
};
class SingleNodeLineTranslationIterator: public mdom::NodeLineTranslationIterator
{
public:
SingleNodeLineTranslationIterator(mdom::NodeLine*);
virtual ~SingleNodeLineTranslationIterator();
virtual void next();
virtual void current();
virtual void consumed();
virtual void virtfunc28() = 0;
virtual void translationInfo();
};
class SourceNodeLine: public mdom::NodeLine
{
public:
SourceNodeLine(mdom::Node const&, mdom::Node const&);
virtual ~SourceNodeLine();
virtual void length();
virtual void item(unsigned int);
virtual void last();
};
class TearOffNodeReference
{
public:
void extractNode();
void staticInit();
void* s_descriptor;
};
class TextChangeRecord
{
public:
void staticInit();
void* s_descriptor;
};
class TraversalRef
{
public:
void staticInit();
void* s_descriptor;
};
void changeNodeTextContent(mdom::Node const&, unsigned int, unsigned int, uft::Value const&);
void getW3CNodeType(unsigned int);
// void registerAttrKey(uft::QName const&, uft::sref<mdom::AttrConfig> const&);
void setNodeTextContent(mdom::Node const&, uft::Value const&);
}
#endif // _MDOM_H