Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00032 #ifndef GENAPI_INODEPRIVATE_H
00033 #define GENAPI_INODEPRIVATE_H
00034
00035 #include "../GenApiDll.h"
00036 #include "../Types.h"
00037 #include "../INode.h"
00038 #include "../INodeMap.h"
00039 #include "NodeMapData/NodeData.h"
00040
00041 #include <vector>
00042 #include <set>
00043 #include <list>
00044
00045 struct NodeID_t;
00046 class CProperty;
00047
00048 namespace GENAPI_NAMESPACE
00049 {
00050
00051
00052
00053
00054 interface INodePrivate;
00055 interface INodeMapPrivate;
00056
00058 typedef std::vector< INodePrivate* > NodePrivateVector_t;
00059
00064 interface GENAPI_DECL_ABSTRACT INodePrivate : public INode
00065 {
00066
00067
00069 virtual void Initialize(GENAPI_NAMESPACE::INodeMapPrivate* const pNodeMap, CNodeData::ENodeType_t NodeType, NodeID_t &NodeID) = 0;
00070
00072 virtual CNodeData::ENodeType_t GetNodeType() = 0;
00073
00075 virtual NodeID_t GetNodeID() = 0;
00076
00078 virtual void FinalConstruct() = 0;
00079
00081 virtual void SetProperty(CProperty &Property) = 0;
00082
00084
00085
00086 virtual bool GetProperty(CNodeDataMap *pNodeDataMap, CPropertyID::EProperty_ID_t PropertyID, CNodeData::PropertyVector_t &PropertyList) const = 0;
00087
00088
00089
00091 enum ESetInvalidMode
00092 {
00093 simOnlyMe,
00094 simAll
00095 };
00096
00098 virtual void SetInvalid(ESetInvalidMode simMode) = 0;
00099
00101 virtual void CollectCallbacksToFire(std::list<CNodeCallback*> &CallbacksToFire, bool allDependents = false) = 0;
00102
00104 virtual bool IsTerminalNode() const = 0;
00105
00107 virtual void GetTerminalNodes(NodeList_t &) const = 0;
00108
00110
00113 virtual bool Poll( int64_t ElapsedTime ) = 0;
00114
00115 };
00116
00117
00118 }
00119
00120 #endif // ifndef GENAPI_INODEPRIVATE_H