initial commit

This commit is contained in:
Blue 2018-08-05 00:46:25 +03:00 committed by Юрий Губич
commit 4b60ece582
327 changed files with 28286 additions and 0 deletions

View file

@ -0,0 +1,77 @@
#include "modelstring.h"
M::String::String(const W::String& str, const W::Address& addr, QObject* parent):
M::Model(addr, parent),
data(new W::String(str))
{
addHandler(W::Handler::create(address + W::Address({u"get"}), this, &M::String::_h_get));
}
M::String::String(W::String* str, const W::Address& addr, QObject* parent):
M::Model(addr, parent),
data(str)
{
}
M::String::~String()
{
delete data;
}
void M::String::h_subscribe(const W::Event& ev)
{
M::Model::h_subscribe(ev);
h_get(ev);
}
void M::String::h_get(const W::Event& ev)
{
W::Vocabulary* vc = new W::Vocabulary;
vc->insert(u"data", *data);
response(vc, W::Address({u"get"}), ev);
}
void M::String::set(const W::String& str)
{
delete data;
data = static_cast<W::String*>(str.copy());
if (registered) {
W::Vocabulary* vc = new W::Vocabulary();
vc->insert(u"data", str);
broadcast(vc, W::Address{u"get"});
}
}
void M::String::set(W::String* str)
{
delete data;
data = str;
if (registered) {
W::Vocabulary* vc = new W::Vocabulary();
vc->insert(u"data", *str);
broadcast(vc, W::Address{u"get"});
}
}
void M::String::set(const W::Object& value)
{
set(static_cast<const W::String&>(value));
}
void M::String::set(W::Object* value)
{
set(static_cast<W::String*>(value));
}
M::Model::ModelType M::String::getType() const
{
return type;
}