#include "murl_graph_node.h"
namespace
Murl
{
namespace
App
{
class
MyNode :
public
Graph::Node
{
MURL_FACTORY_OBJECT_DERIVED_CLASS(App::MyNode, Murl::Graph::Node)
MURL_FACTORY_OBJECT_PROPERTIES(App::MyNode,
(PROPERTY_MY_ATTR_1, mMyAttr1, 42, Graph::SInt32Property),
(PROPERTY_MY_ATTR_2, mMyAttr2,
"42"
, Graph::StringProperty))
MURL_FACTORY_OBJECT_ATTRIBUTES(App::MyNode,
(ATTRIBUTE_MY_ATTR_1,
"myAttr1"
, mMyAttr1, COMPONENT_SINGLE, ACCESS_SINGLE, ELEMENT_SINGLE),
(ATTRIBUTE_MY_ATTR_2,
"myAttr2"
, mMyAttr2, COMPONENT_SINGLE, ACCESS_SINGLE, ELEMENT_SINGLE))
static
INode* Create(
const
Graph::IFactory* factory);
public
:
virtual
Graph::INode* GetNodeInterface();
virtual
const
Graph::INode* GetNodeInterface()
const
;
protected
:
MyNode(
const
Graph::IFactory* factory);
virtual
~MyNode();
virtual
Bool DeserializeBaseAttribute(Graph::IDeserializeAttributeTracker* tracker);
};
}
}