2 #include <samchon/protocol/SharedEntityArray.hpp> 3 # include <samchon/protocol/InvokeParameter.hpp> 65 virtual ~
Invoke() =
default;
67 virtual void construct(std::shared_ptr<library::XML> xml)
override 69 listener = xml->getProperty(
"listener");
106 template <
typename T,
typename ... _Args>
107 Invoke(
const std::string &listener,
const T &val,
const _Args& ... args)
110 construct_by_vardic_template(val);
111 construct_by_vardic_template(args...);
114 template <
typename T>
115 Invoke(
const std::string &listener,
const T &val)
118 construct_by_vardic_template(val);
122 template <
typename T,
typename ... _Args>
123 void construct_by_vardic_template(
const T &val,
const _Args& ... args)
125 construct_by_vardic_template(val);
126 construct_by_vardic_template(args...);
129 template <
typename T>
130 void construct_by_vardic_template(
const T &val)
158 virtual auto TAG()
const->std::string
override 167 virtual auto toXML() const->
std::shared_ptr<library::XML>
override 170 xml->setProperty(
"listener", listener);
virtual void construct(std::shared_ptr< library::XML > xml) override
Construct data of the Entity from an XML object.
Invoke(const std::string &listener)
Construct from a listener.
void setListener(const std::string &val)
Set listener.
Invoke(const std::string &listener, const T &val, const _Args &...args)
Construct from arguments.
virtual void construct(std::shared_ptr< library::XML > xml)
Construct data of the Entity from an XML object.
auto getListener() const -> std::string
Get listener.
An Entity and a container of children Entity objects.
virtual auto CHILD_TAG() const -> std::string override
A tag name of children.
virtual auto createChild(std::shared_ptr< library::XML >) -> InvokeParameter *override
Factory method of a child Entity.
Standard message of network I/O.
std::string listener
Represent who listens, often be a function name.
A parameter of an Invoke.
virtual auto toXML() const -> std::shared_ptr< library::XML >
Get an XML object represents the EntityGroup.
virtual auto toXML() const -> std::shared_ptr< library::XML > override
Get an XML object represents the EntityGroup.