ACSMDownloader

ACSMDownloader Git Source Tree

Root/include/rmsdk/mdom.h

Source at commit 1f582f55f35b3a6898ced8d388e043ee81168bd1 created 4 months 21 days ago.
By Grégory Soutadé, First clean working version
1/*
2 File automatically generated by SOAdvancedDissector.py
3 More information at http://indefero.soutade.fr/p/soadvanceddissector
4*/
5
6#ifndef _MDOM_H
7#define _MDOM_H
8
9#include <xpath.h>
10#include <uft.h>
11
12
13namespace mdom {
14
15 class AttrConfig;
16 class NameValueIterator;
17 class AttributeIterator;
18 class Traversal;
19 class TearOffNodeTraversal;
20 class AttributeNodeTraversal;
21 class AttributeValueTraversal;
22 class DOM;
23 class DOMHost;
24 class DOMListener;
25 class DOMListenerMultiplex;
26 class DocumentHandler;
27 class DOMSerializer;
28 class DataSink;
29 class DelegatingDOM;
30 class DelegatingDOMLink;
31 class LinkAccessor;
32 class DelegatingDOMLinkAccessor;
33 class DelegatingDOMNodeRef;
34 class DelegatingTraversal;
35 class ElementConfig;
36 class ExternalEntityResolver;
37 class GenericAttributeValue;
38 class InfoSetHasher;
39 class Link;
40 class NamespaceNodeTraversal;
41 class Node;
42 class NodeData;
43 class NodeIterator;
44 class NodeLine;
45 class NodeLineTranslationIterator;
46 class NodeTranslationIterator;
47 class Node_firstChild;
48 class Node_firstChildElement;
49 class Node_lastChildElement;
50 class Node_nextSibling;
51 class ParseException;
52 class Reference;
53 class RemovedChildRecord;
54 class ShiftedNodeLine;
55 class SingleNodeLineTranslationIterator;
56 class SourceNodeLine;
57 class TearOffNodeReference;
58 class TextChangeRecord;
59 class TraversalRef;
60
61
62 class AttrConfig
63 {
64 public:
65 AttrConfig(uft::QName const&, uft::ValueParser const*, unsigned int, unsigned int, uft::Value const&, unsigned int);
66
67 void getCanonicalName() const;
68 void setFlags(unsigned int);
69 void staticInit();
70
71 void* s_descriptor;
72
73 };
74
75 class NameValueIterator
76 {
77 public:
78 virtual ~NameValueIterator();
79 virtual void next(uft::Value*, uft::Value*) = 0;
80
81 };
82
83 class AttributeIterator: public mdom::NameValueIterator
84 {
85 public:
86 AttributeIterator(mdom::Node const&);
87
88 virtual ~AttributeIterator();
89 virtual void next(uft::Value*, uft::Value*);
90
91 };
92
93 class Traversal
94 {
95 public:
96 virtual void incRef(mdom::NodeData*) = 0;
97 virtual void decRef(mdom::NodeData*) = 0;
98 virtual void getDOM() = 0;
99 virtual void owner(mdom::Node*) = 0;
100 virtual void parent(mdom::Node*) = 0;
101 virtual void child(mdom::Node*, int, bool) = 0;
102 virtual void sibling(mdom::Node*, int, bool) = 0;
103 virtual void attributeNode(mdom::Node*, uft::Value const&);
104 virtual void namespaceNode(mdom::Node*, uft::Value const&);
105 virtual void childCount(mdom::Node const*, bool);
106 virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
107 virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
108 virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
109 virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
110 virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**) = 0;
111 virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int) = 0;
112 virtual void create(mdom::Node*, int, uft::Value const&) = 0;
113 virtual void clone(mdom::Node*, bool) = 0;
114 virtual void import(mdom::Node*, mdom::Node const*, bool);
115 virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*) = 0;
116 virtual void remove(mdom::Node const*) = 0;
117 virtual void getNodeType(mdom::Node const*) = 0;
118 virtual uft::String getNodeName(mdom::Node const*) = 0;
119 virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int) = 0;
120 virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&) = 0;
121 virtual void resolvePrefix(mdom::Node const*, uft::String const&) = 0;
122 virtual void getBaseURL(mdom::Node const*) = 0;
123 virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**) = 0;
124 virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int) = 0;
125 virtual void getAttribute(mdom::Node const*, uft::Value const&) = 0;
126 virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&) = 0;
127 virtual void compareNodes(mdom::Node const*, mdom::Node const*);
128 virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
129 virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
130 virtual void finishIteration(xpath::Expression const&, xpath::Context*);
131 virtual void getChangeFlags(mdom::Node const*) = 0;
132 virtual void invalidate(mdom::Node const*, unsigned int) = 0;
133 virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*) = 0;
134 virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int) = 0;
135 virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*) = 0;
136 virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int) = 0;
137 virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*) = 0;
138 virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int) = 0;
139 virtual void getAttachment(mdom::Node const*, uft::Value const&) = 0;
140 virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&) = 0;
141 virtual void getCacheID(mdom::Node const*);
142 virtual void getAttachment(uft::Value const&) = 0;
143 virtual void setAttachment(uft::Value const&, uft::Value const&) = 0;
144 virtual void getReference(mdom::Node const*, bool) = 0;
145 virtual void destroy() = 0;
146 virtual ~Traversal();
147
148 void addRef();
149 void release();
150
151 };
152
153 class TearOffNodeTraversal: public mdom::Traversal
154 {
155 public:
156 TearOffNodeTraversal(mdom::Node const&);
157
158 virtual void incRef(mdom::NodeData*);
159 virtual void decRef(mdom::NodeData*);
160 virtual void getDOM();
161 virtual void owner(mdom::Node*);
162 virtual void parent(mdom::Node*);
163 virtual void child(mdom::Node*, int, bool);
164 virtual void sibling(mdom::Node*, int, bool);
165 virtual void attributeNode(mdom::Node*, uft::Value const&);
166 virtual void namespaceNode(mdom::Node*, uft::Value const&);
167 virtual void childCount(mdom::Node const*, bool);
168 virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
169 virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
170 virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
171 virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
172 virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
173 virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
174 virtual void create(mdom::Node*, int, uft::Value const&);
175 virtual void clone(mdom::Node*, bool);
176 virtual void import(mdom::Node*, mdom::Node const*, bool);
177 virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
178 virtual void remove(mdom::Node const*);
179 virtual void getNodeType(mdom::Node const*);
180 virtual uft::String getNodeName(mdom::Node const*);
181 virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
182 virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
183 virtual void resolvePrefix(mdom::Node const*, uft::String const&);
184 virtual void getBaseURL(mdom::Node const*);
185 virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
186 virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
187 virtual void getAttribute(mdom::Node const*, uft::Value const&);
188 virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
189 virtual void compareNodes(mdom::Node const*, mdom::Node const*);
190 virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
191 virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
192 virtual void finishIteration(xpath::Expression const&, xpath::Context*);
193 virtual void getChangeFlags(mdom::Node const*);
194 virtual void invalidate(mdom::Node const*, unsigned int);
195 virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
196 virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
197 virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
198 virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
199 virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
200 virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
201 virtual void getAttachment(mdom::Node const*, uft::Value const&);
202 virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
203 virtual void getCacheID(mdom::Node const*);
204 virtual void getAttachment(uft::Value const&);
205 virtual void setAttachment(uft::Value const&, uft::Value const&);
206 virtual void getReference(mdom::Node const*, bool);
207 virtual void destroy();
208 virtual ~TearOffNodeTraversal();
209 virtual void getKey();
210 virtual void getAttKey();
211
212 void createTearOffNode(mdom::Node const&, uft::Value const&, unsigned int);
213 void staticInit();
214
215 void* s_descriptor;
216
217 };
218
219 class AttributeNodeTraversal: public mdom::TearOffNodeTraversal
220 {
221 public:
222 AttributeNodeTraversal(mdom::Node const&);
223
224 virtual void incRef(mdom::NodeData*);
225 virtual void decRef(mdom::NodeData*);
226 virtual void getDOM();
227 virtual void owner(mdom::Node*);
228 virtual void parent(mdom::Node*);
229 virtual void child(mdom::Node*, int, bool);
230 virtual void sibling(mdom::Node*, int, bool);
231 virtual void attributeNode(mdom::Node*, uft::Value const&);
232 virtual void namespaceNode(mdom::Node*, uft::Value const&);
233 virtual void childCount(mdom::Node const*, bool);
234 virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
235 virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
236 virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
237 virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
238 virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
239 virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
240 virtual void create(mdom::Node*, int, uft::Value const&);
241 virtual void clone(mdom::Node*, bool);
242 virtual void import(mdom::Node*, mdom::Node const*, bool);
243 virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
244 virtual void remove(mdom::Node const*);
245 virtual void getNodeType(mdom::Node const*);
246 virtual uft::String getNodeName(mdom::Node const*);
247 virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
248 virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
249 virtual void resolvePrefix(mdom::Node const*, uft::String const&);
250 virtual void getBaseURL(mdom::Node const*);
251 virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
252 virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
253 virtual void getAttribute(mdom::Node const*, uft::Value const&);
254 virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
255 virtual void compareNodes(mdom::Node const*, mdom::Node const*);
256 virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
257 virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
258 virtual void finishIteration(xpath::Expression const&, xpath::Context*);
259 virtual void getChangeFlags(mdom::Node const*);
260 virtual void invalidate(mdom::Node const*, unsigned int);
261 virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
262 virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
263 virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
264 virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
265 virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
266 virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
267 virtual void getAttachment(mdom::Node const*, uft::Value const&);
268 virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
269 virtual void getCacheID(mdom::Node const*);
270 virtual void getAttachment(uft::Value const&);
271 virtual void setAttachment(uft::Value const&, uft::Value const&);
272 virtual void getReference(mdom::Node const*, bool);
273 virtual void destroy();
274 virtual ~AttributeNodeTraversal();
275 virtual void getKey();
276 virtual void getAttKey();
277
278 };
279
280 class AttributeValueTraversal: public mdom::TearOffNodeTraversal
281 {
282 public:
283 AttributeValueTraversal(mdom::Node const&);
284
285 virtual void incRef(mdom::NodeData*);
286 virtual void decRef(mdom::NodeData*);
287 virtual void getDOM();
288 virtual void owner(mdom::Node*);
289 virtual void parent(mdom::Node*);
290 virtual void child(mdom::Node*, int, bool);
291 virtual void sibling(mdom::Node*, int, bool);
292 virtual void attributeNode(mdom::Node*, uft::Value const&);
293 virtual void namespaceNode(mdom::Node*, uft::Value const&);
294 virtual void childCount(mdom::Node const*, bool);
295 virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
296 virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
297 virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
298 virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
299 virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
300 virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
301 virtual void create(mdom::Node*, int, uft::Value const&);
302 virtual void clone(mdom::Node*, bool);
303 virtual void import(mdom::Node*, mdom::Node const*, bool);
304 virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
305 virtual void remove(mdom::Node const*);
306 virtual void getNodeType(mdom::Node const*);
307 virtual uft::String getNodeName(mdom::Node const*);
308 virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
309 virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
310 virtual void resolvePrefix(mdom::Node const*, uft::String const&);
311 virtual void getBaseURL(mdom::Node const*);
312 virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
313 virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
314 virtual void getAttribute(mdom::Node const*, uft::Value const&);
315 virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
316 virtual void compareNodes(mdom::Node const*, mdom::Node const*);
317 virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
318 virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
319 virtual void finishIteration(xpath::Expression const&, xpath::Context*);
320 virtual void getChangeFlags(mdom::Node const*);
321 virtual void invalidate(mdom::Node const*, unsigned int);
322 virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
323 virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
324 virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
325 virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
326 virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
327 virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
328 virtual void getAttachment(mdom::Node const*, uft::Value const&);
329 virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
330 virtual void getCacheID(mdom::Node const*);
331 virtual void getAttachment(uft::Value const&);
332 virtual void setAttachment(uft::Value const&, uft::Value const&);
333 virtual void getReference(mdom::Node const*, bool);
334 virtual void destroy();
335 virtual ~AttributeValueTraversal();
336 virtual void getKey();
337 virtual void getAttKey();
338
339 };
340
341 class DOM
342 {
343 public:
344 DOM(uft::ErrorHandler*);
345
346 virtual ~DOM();
347 virtual void getDOMId() = 0;
348 virtual void getDOMCaps() = 0;
349 virtual void query(uft::Value const&, void*) = 0;
350 virtual void setElementConfigs(mdom::Node const&, mdom::ElementConfig const*, unsigned int) = 0;
351 virtual void setPreParser(uft::ValueParser*) = 0;
352 virtual mdom::Node getRoot() = 0;
353 virtual void getResource(uft::URL const&) = 0;
354 virtual void attachDOMListener(unsigned int, mdom::DOMListener*) = 0;
355 virtual void getErrorHandler();
356 virtual void clearChanges() = 0;
357 virtual void cloneConfig() = 0;
358 virtual void setDOMHost(mdom::DOMHost*) = 0;
359
360 };
361
362 class DOMHost
363 {
364 public:
365 virtual ~DOMHost();
366 virtual void requestClearChanges(mdom::Node const&) = 0;
367 virtual void requestResource(uft::URL const&) = 0;
368 virtual void showErrorMessage(uft::String&) = 0;
369
370 };
371
372 class DOMListener
373 {
374 public:
375 virtual ~DOMListener();
376 virtual void created(mdom::Node const*) = 0;
377 virtual void inserting(mdom::Node const*, mdom::Node const*) = 0;
378 virtual void inserted(mdom::Node const*, mdom::Node const*) = 0;
379 virtual void removing(mdom::Node const*, mdom::Node const*) = 0;
380 virtual void removed(mdom::Node const*, mdom::Node const*) = 0;
381 virtual void changingNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&) = 0;
382 virtual void wantChangedNodeValueCall(mdom::Node const*) = 0;
383 virtual void changedNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&) = 0;
384 virtual void changingAttribute(mdom::Node const*, uft::Value const&, uft::Value const&) = 0;
385 virtual void wantChangedAttributeCall(mdom::Node const*, uft::Value const&) = 0;
386 virtual void changedAttribute(mdom::Node const*, uft::Value const&, uft::Value const&, uft::Value const&) = 0;
387 virtual void changingLink(mdom::Node const*, uft::Value const&, mdom::Node const*, mdom::Node const*) = 0;
388 virtual void wantChangedLinkCall(mdom::Node const*, uft::Value const&) = 0;
389 virtual void changedLink(mdom::Node const*, uft::Value const&, mdom::Node const*, mdom::Node const*) = 0;
390 virtual void changingElementConfig(mdom::Node const*, unsigned int) = 0;
391 virtual void changedElementConfig(mdom::Node const*) = 0;
392 virtual void changedBranch(mdom::Node const*) = 0;
393
394 };
395
396 class DOMListenerMultiplex
397 {
398 public:
399 DOMListenerMultiplex();
400 DOMListenerMultiplex(mdom::DOMListenerMultiplex const&);
401
402 ~DOMListenerMultiplex();
403
404 void attachDOMListener(unsigned int, mdom::DOMListener*);
405 void changedAttribute(mdom::Node const*, uft::Value const&, uft::Value const&, uft::Value const&);
406 void changedBranch(mdom::Node const*);
407 void changedElementConfig(mdom::Node const*);
408 // void changedLink(mdom::Node const*, uft::sref<mdom::AttrConfig> const&, mdom::Node const*, mdom::Node const*);
409 void changedNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
410 void changingAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
411 void changingElementConfig(mdom::Node const*, unsigned int);
412 // void changingLink(mdom::Node const*, uft::sref<mdom::AttrConfig> const&, mdom::Node const*, mdom::Node const*);
413 void changingNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
414 void created(mdom::Node const*);
415 void inserted(mdom::Node const*, mdom::Node const*);
416 void inserting(mdom::Node const*, mdom::Node const*);
417 void removed(mdom::Node const*, mdom::Node const*);
418 void removing(mdom::Node const*, mdom::Node const*);
419 void wantChangedAttributeCall(mdom::Node const*, uft::Value const&);
420 // void wantChangedLinkCall(mdom::Node const*, uft::sref<mdom::AttrConfig> const&);
421 void wantChangedNodeValueCall(mdom::Node const*);
422
423 };
424
425 class DocumentHandler
426 {
427 public:
428 DocumentHandler();
429
430 virtual ~DocumentHandler();
431 virtual bool characters(uft::Value const&) = 0;
432 virtual bool comment(uft::Value const&) = 0;
433 virtual bool endDocument() = 0;
434 virtual bool endElement(uft::Value const&, uft::Value const&, uft::Value const&) = 0;
435 virtual bool endEntity(uft::Value const&) = 0;
436 virtual bool processingInstruction(uft::Value const&, uft::Value const&) = 0;
437 virtual bool startDocument() = 0;
438 virtual bool startElement(mdom::Node const&, uft::Value const&, uft::Value const&, uft::Value const&, mdom::NameValueIterator*) = 0;
439 virtual bool startEntity(uft::Value const&) = 0;
440 };
441
442 class DOMSerializer: public mdom::DocumentHandler
443 {
444 public:
445 DOMSerializer();
446
447 virtual ~DOMSerializer();
448 virtual bool characters(uft::Value const&);
449 virtual bool comment(uft::Value const&);
450 virtual bool endDocument();
451 virtual bool endElement(uft::Value const&, uft::Value const&, uft::Value const&);
452 virtual bool endEntity(uft::Value const&);
453 virtual bool processingInstruction(uft::Value const&, uft::Value const&);
454 virtual bool startDocument();
455 virtual bool startElement(mdom::Node const&, uft::Value const&, uft::Value const&, uft::Value const&, mdom::NameValueIterator*);
456 virtual bool startEntity(uft::Value const&);
457 virtual bool getOutputString();
458
459 void appendValue(uft::Value const&, unsigned int);
460 void lookupAutogenNSStack(uft::String&, uft::String&);
461 void lookupNSStack(uft::String&, uft::String&);
462
463 };
464
465 class DataSink
466 {
467 public:
468 virtual void virtfunc8() = 0;
469 virtual void virtfunc12() = 0;
470
471 };
472
473 class DelegatingDOM: public mdom::DOM
474 {
475 public:
476 DelegatingDOM(mdom::DOM*);
477 DelegatingDOM(mdom::Node const&);
478
479 virtual ~DelegatingDOM();
480 virtual void getDOMId() = 0;
481 virtual void getDOMCaps() = 0;
482 virtual void query(uft::Value const&, void*) = 0;
483 virtual void setElementConfigs(mdom::Node const&, mdom::ElementConfig const*, unsigned int);
484 virtual void setPreParser(uft::ValueParser*);
485 virtual mdom::Node getRoot();
486 virtual void getResource(uft::URL const&);
487 virtual void attachDOMListener(unsigned int, mdom::DOMListener*);
488 virtual void getErrorHandler();
489 virtual void clearChanges();
490 virtual void cloneConfig();
491 virtual void setDOMHost(mdom::DOMHost*);
492 virtual void baseNode(mdom::Node const&);
493 virtual void traversalSwitch(mdom::Node*);
494 virtual void traversalSwitch(mdom::Node*, uft::Value const&);
495 virtual void createDelegateFor(mdom::Node*, uft::Value const&);
496 virtual void destroyDelegate(mdom::DelegatingTraversal*);
497 virtual void getDefaultKey() const;
498
499 void refreshBase(mdom::Node const&);
500 void registerRef(mdom::DelegatingDOMNodeRef*);
501 void translateNode(mdom::Node const&);
502 void translateNode(mdom::Node const&, uft::Value const&);
503 void unregisterRef(mdom::DelegatingDOMNodeRef*);
504
505 };
506
507 class DelegatingDOMLink
508 {
509 public:
510 void query(uft::Value const&, void*);
511 void staticInit();
512 void toString() const;
513
514 void* s_descriptor;
515
516 };
517
518 class LinkAccessor
519 {
520 public:
521 virtual void getFirstLinkedNode(uft::Value const&, mdom::Node const&);
522 virtual void iterateLinkedNodes(uft::Value const&, mdom::Node const&, unsigned int*);
523 virtual void finishLinkedNodeIteration(uft::Value const&, mdom::Node const&, unsigned int);
524
525 void* s_instance;
526
527 };
528
529 class DelegatingDOMLinkAccessor: public mdom::LinkAccessor
530 {
531 public:
532 virtual void getFirstLinkedNode(uft::Value const&, mdom::Node const&);
533 virtual void iterateLinkedNodes(uft::Value const&, mdom::Node const&, unsigned int*);
534 virtual void finishLinkedNodeIteration(uft::Value const&, mdom::Node const&, unsigned int);
535
536 void* s_instance;
537
538 };
539
540 class DelegatingDOMNodeRef
541 {
542 public:
543 DelegatingDOMNodeRef(mdom::DelegatingDOM*, mdom::Reference const&, uft::Value const&);
544
545 ~DelegatingDOMNodeRef();
546
547 void query(uft::Value const&, void*);
548 void staticInit();
549 void toString() const;
550
551 void* s_descriptor;
552
553 };
554
555 class DelegatingTraversal: public mdom::Traversal
556 {
557 public:
558 DelegatingTraversal(mdom::Traversal*, mdom::DelegatingDOM*, uft::Value const&);
559
560 virtual void incRef(mdom::NodeData*);
561 virtual void decRef(mdom::NodeData*);
562 virtual void getDOM();
563 virtual void owner(mdom::Node*);
564 virtual void parent(mdom::Node*);
565 virtual void child(mdom::Node*, int, bool);
566 virtual void sibling(mdom::Node*, int, bool);
567 virtual void attributeNode(mdom::Node*, uft::Value const&);
568 virtual void namespaceNode(mdom::Node*, uft::Value const&);
569 virtual void childCount(mdom::Node const*, bool);
570 virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
571 virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
572 virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
573 virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
574 virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
575 virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
576 virtual void create(mdom::Node*, int, uft::Value const&);
577 virtual void clone(mdom::Node*, bool);
578 virtual void import(mdom::Node*, mdom::Node const*, bool);
579 virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
580 virtual void remove(mdom::Node const*);
581 virtual void getNodeType(mdom::Node const*);
582 virtual uft::String getNodeName(mdom::Node const*);
583 virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
584 virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
585 virtual void resolvePrefix(mdom::Node const*, uft::String const&);
586 virtual void getBaseURL(mdom::Node const*);
587 virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
588 virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
589 virtual void getAttribute(mdom::Node const*, uft::Value const&);
590 virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
591 virtual void compareNodes(mdom::Node const*, mdom::Node const*);
592 virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
593 virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
594 virtual void finishIteration(xpath::Expression const&, xpath::Context*);
595 virtual void getChangeFlags(mdom::Node const*);
596 virtual void invalidate(mdom::Node const*, unsigned int);
597 virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
598 virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
599 virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
600 virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
601 virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
602 virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
603 virtual void getAttachment(mdom::Node const*, uft::Value const&);
604 virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
605 virtual void getCacheID(mdom::Node const*);
606 virtual void getAttachment(uft::Value const&);
607 virtual void setAttachment(uft::Value const&, uft::Value const&);
608 virtual void getReference(mdom::Node const*, bool);
609 virtual void destroy();
610 virtual ~DelegatingTraversal();
611 virtual void traversalSwitch(mdom::Node*);
612 virtual void traversalSwitchForResource(mdom::Node*, mdom::Node const&);
613
614 };
615
616 class ElementConfig
617 {
618 public:
619 };
620
621 class ExternalEntityResolver
622 {
623 public:
624 virtual void getExternalEntity(uft::String const&, uft::URL const&) = 0;
625
626 };
627
628 class GenericAttributeValue
629 {
630 public:
631 void staticInit();
632
633 void* s_descriptor;
634
635 };
636
637 class InfoSetHasher
638 {
639 public:
640 InfoSetHasher();
641
642 ~InfoSetHasher();
643
644 virtual void update(unsigned char const*, unsigned int) = 0;
645
646 void flushText();
647 void hashInfoset(mdom::Node const&);
648 void updateStr(char const*, unsigned int);
649 void updateStr(uft::String const&);
650
651 };
652
653 class Link
654 {
655 public:
656 void finishLinkedNodeIteration(mdom::Node const&, unsigned int) const;
657 void getFirstLinkedNode(mdom::Node const&) const;
658 void getLinkAccessor() const;
659 void isInstanceOf(uft::Value const&);
660 void iterateLinkedNodes(mdom::Node const&, unsigned int*) const;
661
662 };
663
664 class NamespaceNodeTraversal: public mdom::TearOffNodeTraversal
665 {
666 public:
667 NamespaceNodeTraversal(mdom::Node const&);
668
669 virtual void incRef(mdom::NodeData*);
670 virtual void decRef(mdom::NodeData*);
671 virtual void getDOM();
672 virtual void owner(mdom::Node*);
673 virtual void parent(mdom::Node*);
674 virtual void child(mdom::Node*, int, bool);
675 virtual void sibling(mdom::Node*, int, bool);
676 virtual void attributeNode(mdom::Node*, uft::Value const&);
677 virtual void namespaceNode(mdom::Node*, uft::Value const&);
678 virtual void childCount(mdom::Node const*, bool);
679 virtual void getChildrenCountsToNode(mdom::Node const*, mdom::Node const*, unsigned int*, unsigned int*);
680 virtual void getChildrenCountsToElement(mdom::Node const*, uft::String, unsigned int*, unsigned int*, mdom::Node*, unsigned int);
681 virtual int iterateBranch(mdom::Node const*, mdom::Node*, unsigned int);
682 virtual void iterateDirtyBranch(mdom::Node const*, mdom::Node*, unsigned int);
683 virtual void nextLink(mdom::Node const*, unsigned int, unsigned int, mdom::Node*, uft::Value const**);
684 virtual void finishLinkIteration(mdom::Node const*, unsigned int, unsigned int);
685 virtual void create(mdom::Node*, int, uft::Value const&);
686 virtual void clone(mdom::Node*, bool);
687 virtual void import(mdom::Node*, mdom::Node const*, bool);
688 virtual void insertBefore(mdom::Node const*, mdom::Node const*, mdom::Node const*);
689 virtual void remove(mdom::Node const*);
690 virtual void getNodeType(mdom::Node const*);
691 virtual uft::String getNodeName(mdom::Node const*);
692 virtual uft::Value getNodeValue(mdom::Node const*, unsigned int, unsigned int);
693 virtual void changeNodeValue(mdom::Node const*, unsigned int, unsigned int, uft::Value const&);
694 virtual void resolvePrefix(mdom::Node const*, uft::String const&);
695 virtual void getBaseURL(mdom::Node const*);
696 virtual void nextAttribute(mdom::Node const*, unsigned int, unsigned int, uft::Value const**, uft::Value const**);
697 virtual void finishAttributeIteration(mdom::Node const*, unsigned int, unsigned int);
698 virtual void getAttribute(mdom::Node const*, uft::Value const&);
699 virtual void setAttribute(mdom::Node const*, uft::Value const&, uft::Value const&);
700 virtual void compareNodes(mdom::Node const*, mdom::Node const*);
701 virtual void evaluate(xpath::Expression const&, mdom::Node const*, xpath::Context*, xpath::ResultType);
702 virtual void iterate(xpath::Expression const&, xpath::Context*, mdom::Node*);
703 virtual void finishIteration(xpath::Expression const&, xpath::Context*);
704 virtual void getChangeFlags(mdom::Node const*);
705 virtual void invalidate(mdom::Node const*, unsigned int);
706 virtual void iterateChangedAttributes(mdom::Node const*, unsigned int, uft::Value*, uft::Value*);
707 virtual void finishChangedAttributeIteration(mdom::Node const*, unsigned int);
708 virtual void iterateNodeValueChanges(mdom::Node const*, unsigned int, mdom::TextChangeRecord*);
709 virtual void finishNodeValueChangeIteration(mdom::Node const*, unsigned int);
710 virtual void iterateRemovedChildren(mdom::Node const*, unsigned int, mdom::RemovedChildRecord*);
711 virtual void finishRemovedChildIteration(mdom::Node const*, unsigned int);
712 virtual void getAttachment(mdom::Node const*, uft::Value const&);
713 virtual void setAttachment(mdom::Node const*, uft::Value const&, uft::Value const&);
714 virtual void getCacheID(mdom::Node const*);
715 virtual void getAttachment(uft::Value const&);
716 virtual void setAttachment(uft::Value const&, uft::Value const&);
717 virtual void getReference(mdom::Node const*, bool);
718 virtual void destroy();
719 virtual ~NamespaceNodeTraversal();
720 virtual void getKey();
721 virtual void getAttKey();
722
723 };
724
725 class NodeIterator
726 {
727 public:
728 virtual ~NodeIterator();
729 virtual void next() = 0;
730 virtual void current() = 0;
731
732 };
733
734 class Node
735 {
736 public:
737 Node();
738 Node(mdom::Node const&);
739 Node(mdom::Node_firstChild const&);
740 Node(mdom::Node_firstChildElement const&);
741 Node(mdom::Node_lastChildElement const&);
742 Node(mdom::Node_nextSibling const&);
743
744 ~Node();
745
746 void appendChild(mdom::Node const&) const;
747 void createElement(uft::QName const&) const;
748 void createNode(int, uft::Value const&) const;
749 void createTextNode(uft::String const&) const;
750 void finishIteration(xpath::Expression const&, xpath::Context*);
751 void getAttribute(uft::Value const&) const;
752 mdom::Node_firstChild getFirstChild() const;
753 mdom::Node_firstChildElement getFirstChildElement() const;
754 void getLastChildElement() const;
755 void getNextSibling() const;
756 void getNodeType() const;
757 void getOwner() const;
758 void getReference(bool) const;
759 void importNode(mdom::Node const&, bool) const;
760 void inPlaceCreate(int, uft::Value const&);
761 void isValid() const;
762 void iterate(xpath::Expression const&, xpath::Context*);
763mdom::NodeIterator* iterateBranch(mdom::Node const&, unsigned int*);
764 void operator=(mdom::Node const&);
765 void remove() const;
766 void setAttribute(uft::Value const&, uft::Value const&) const;
767 void toChild(int, bool);
768 Node toFirstChild();
769 void toFirstChildElement();
770 void toLastChildElement();
771 void toNextSibling();
772 void toNextSiblingElement();
773 void toOwner();
774 void toPreviousSiblingElement();
775 void toSibling(int, bool);
776 void walkBranch(mdom::DocumentHandler*) const;
777
778 };
779
780 class NodeData
781 {
782 public:
783 };
784
785 class NodeLine
786 {
787 public:
788 virtual ~NodeLine();
789 virtual void length() = 0;
790 virtual void item(unsigned int) = 0;
791 virtual void last();
792
793 };
794
795 class NodeLineTranslationIterator
796 {
797 public:
798 virtual ~NodeLineTranslationIterator();
799 virtual void next() = 0;
800 virtual void current() = 0;
801 virtual void consumed() = 0;
802 virtual void endTranslation() = 0;
803 virtual void translationInfo() = 0;
804
805 void* RETURN_UNTRANSLATED;
806
807 };
808
809 class NodeTranslationIterator: public mdom::NodeIterator
810 {
811 public:
812 NodeTranslationIterator(mdom::NodeLineTranslationIterator*, mdom::NodeLine*);
813
814 virtual ~NodeTranslationIterator();
815 virtual void next();
816 virtual void current();
817
818 };
819
820 class Node_firstChild
821 {
822 public:
823 Node_firstChild(mdom::Node const&);
824
825 };
826
827 class Node_firstChildElement
828 {
829 public:
830 Node_firstChildElement(mdom::Node const&);
831
832 };
833
834 class Node_lastChildElement
835 {
836 public:
837 Node_lastChildElement(mdom::Node const&);
838
839 };
840
841 class Node_nextSibling
842 {
843 public:
844 Node_nextSibling(mdom::Node const&);
845
846 };
847
848 class ParseException
849 {
850 public:
851 ParseException();
852 ParseException(int);
853 ParseException(uft::String const&);
854
855 ~ParseException();
856
857 void getErrorCode() const;
858 void getMessage() const;
859
860 };
861
862 class Reference
863 {
864 public:
865 void getDOM() const;
866 void getNode() const;
867 void isInstanceOf(uft::Value const&);
868
869 };
870
871 class RemovedChildRecord
872 {
873 public:
874 void staticInit();
875
876 void* s_descriptor;
877
878 };
879
880 class ShiftedNodeLine: public mdom::NodeLine
881 {
882 public:
883 ShiftedNodeLine(mdom::NodeLine*, unsigned int);
884
885 virtual ~ShiftedNodeLine();
886 virtual void length();
887 virtual void item(unsigned int);
888 virtual void last();
889
890 };
891
892 class SingleNodeLineTranslationIterator: public mdom::NodeLineTranslationIterator
893 {
894 public:
895 SingleNodeLineTranslationIterator(mdom::NodeLine*);
896
897 virtual ~SingleNodeLineTranslationIterator();
898 virtual void next();
899 virtual void current();
900 virtual void consumed();
901 virtual void virtfunc28() = 0;
902 virtual void translationInfo();
903
904 };
905
906 class SourceNodeLine: public mdom::NodeLine
907 {
908 public:
909 SourceNodeLine(mdom::Node const&, mdom::Node const&);
910
911 virtual ~SourceNodeLine();
912 virtual void length();
913 virtual void item(unsigned int);
914 virtual void last();
915
916 };
917
918 class TearOffNodeReference
919 {
920 public:
921 void extractNode();
922 void staticInit();
923
924 void* s_descriptor;
925
926 };
927
928 class TextChangeRecord
929 {
930 public:
931 void staticInit();
932
933 void* s_descriptor;
934
935 };
936
937 class TraversalRef
938 {
939 public:
940 void staticInit();
941
942 void* s_descriptor;
943
944 };
945
946
947 void changeNodeTextContent(mdom::Node const&, unsigned int, unsigned int, uft::Value const&);
948 void getW3CNodeType(unsigned int);
949 // void registerAttrKey(uft::QName const&, uft::sref<mdom::AttrConfig> const&);
950 void setNodeTextContent(mdom::Node const&, uft::Value const&);
951
952}
953
954
955
956#endif // _MDOM_H

Archive Download this file

Branches