`
`// First real instance being constructed
`// Prototype instance being constructed
`// Subsequent instance being constructed
`
`C:\QVNT.Zip Uncompressed\INCLUDE\QVNODE.H
`1 #ifndef _QV_NODE_
`2 #define _QV_NODE_
`3
`4 #include <QvString.h>
`5
`6 class QvChildList;
`7 class QvDict;
`8 class QvFieldData;
`9 class QvInput;
`10 class QvNodeList;
`11 class QvState;
`12
`13 class QvNode {
`14
`15 public:
`enum Stage {
`16
`FIRST_INSTANCE,
`17
`PROTO_INSTANCE,
`18
`OTHER_INSTANCE,
`19
`};
`20
`21
`QvFieldData *fieldData;
`22
`QvChildList *children;
`23
`QvBool isBuiltIn;
`24
`25
`*objName;
`26
`QvName
`QvNode();
`27
`virtual ~QvNode();
`28
`29
`const QvName & getName() const;
`30
`setName(const QvName &name);
`31
`void
`32
`init();
`33
`static void
`read(QvInput *in, QvNode *&node);
`34
`static QvBool
`35
`virtual QvFieldData *getFieldData() = 0;
`36
`37
`traverse(QvState *state) = 0;
`virtual void
`38
`39
`40 protected:
`virtual QvBool readInstance(QvInput *in);
`41
`42
`43 private:
`44
`static QvDict
`45
`46
`47
`48
`49
`50
`51
`52
`53
`54
`
`*nameDict;
`addName(QvNode *, const char *);
`static void
`removeName(QvNode *, const char *);
`static void
`static QvNode * readReference(QvInput *in);
`readNode(QvInput *in, QvName &className,QvNode *&node);
`static QvBool
`readNodeInstance(QvInput *in, const QvName &className,
`static QvBool
`const QvName &refName, QvNode *&node);
`static QvNode * createInstance(QvInput *in, const QvName &className);
`static QvNode * createInstanceFromName(const QvName &className);
`flushInput(QvInput *in);
`static void
`-1-
`
`
`
`C:\QVNT.Zip Uncompressed\INCLUDE\QVNODE.H
`55 };
`56
`57 #endif /* _QV_NODE_ */
`58
`
`Wednesday, November 19, 2014 8:06 AM
`
`-2-



