- LinkType(std::string name, std::string alias, Type* father);
- void start_event(Container* startContainer, std::string value, std::string key);
- void start_event(Container* startContainer, std::string value, std::string key, int size);
- void end_event(Container* endContainer, std::string value, std::string key);
+ static void on_creation_cb(const std::function<void(LinkType const&, Type const&, Type const&)>& cb)
+ {
+ on_creation.connect(cb);
+ }
+ LinkType(const std::string& name, const Type* source, const Type* dest, const std::string& alias, Type* parent)
+ : ValueType(PajeEventType::DefineLinkType, name, alias, parent)
+ {
+ on_creation(*this, *source, *dest);
+ }
+ void start_event(Container* startContainer, const std::string& value, const std::string& key,
+ size_t size = static_cast<size_t>(-1));
+ void end_event(Container* endContainer, const std::string& value, const std::string& key);