Skip to content

Commit

Permalink
Merge pull request #176 from JohanMabille/serialize
Browse files Browse the repository at this point in the history
Removed set_patch_from_property
  • Loading branch information
SylvainCorlay committed Jan 9, 2020
2 parents b074d8c + a369cea commit 189a879
Show file tree
Hide file tree
Showing 33 changed files with 156 additions and 180 deletions.
16 changes: 4 additions & 12 deletions include/xwidgets/xaudio.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,10 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(format, state, buffers);
set_patch_from_property(autoplay, state, buffers);
set_patch_from_property(loop, state, buffers);
set_patch_from_property(controls, state, buffers);
xwidgets_serialize(format(), state["format"], buffers);
xwidgets_serialize(autoplay(), state["autoplay"], buffers);
xwidgets_serialize(loop(), state["loop"], buffers);
xwidgets_serialize(controls(), state["controls"], buffers);
}

template <class D>
Expand Down Expand Up @@ -96,14 +96,6 @@ namespace xw
* custom serializers *
**********************/

inline void set_patch_from_property(const decltype(audio::value)& property,
nl::json& patch,
xeus::buffer_sequence& buffers)
{
patch[property.name()] = xbuffer_reference_prefix() + std::to_string(buffers.size());
buffers.emplace_back(property().data(), property().size());
}

inline void set_property_from_patch(decltype(audio::value)& property,
const nl::json& patch,
const xeus::buffer_sequence& buffers)
Expand Down
4 changes: 2 additions & 2 deletions include/xwidgets/xboolean.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(value, state, buffers);
set_patch_from_property(disabled, state, buffers);
xwidgets_serialize(value(), state["value"], buffers);
xwidgets_serialize(disabled(), state["disabled"], buffers);
}

template <class D>
Expand Down
14 changes: 7 additions & 7 deletions include/xwidgets/xbox.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(box_style, state, buffers);
set_patch_from_property(children, state, buffers);
xwidgets_serialize(box_style(), state["box_style"], buffers);
xwidgets_serialize(children(), state["children"], buffers);
}

template <class D>
Expand All @@ -153,7 +153,7 @@ namespace xw
#endif
nl::json state;
xeus::buffer_sequence buffers;
set_patch_from_property(children, state, buffers);
xwidgets_serialize(children(), state["box_style"], buffers);
this->send_patch(std::move(state), std::move(buffers));
}

Expand All @@ -164,7 +164,7 @@ namespace xw
this->children().emplace_back(make_owning_holder(std::move(w)));
nl::json state;
xeus::buffer_sequence buffers;
set_patch_from_property(children, state, buffers);
xwidgets_serialize(children(), state["box_style"], buffers);
this->send_patch(std::move(state), std::move(buffers));
}

Expand All @@ -179,7 +179,7 @@ namespace xw
#endif
nl::json state;
xeus::buffer_sequence buffers;
set_patch_from_property(children, state, buffers);
xwidgets_serialize(children(), state["box_style"], buffers);
this->send_patch(std::move(state), std::move(buffers));
}

Expand Down Expand Up @@ -210,7 +210,7 @@ namespace xw
#endif
nl::json state;
xeus::buffer_sequence buffers;
set_patch_from_property(children, state, buffers);
xwidgets_serialize(children(), state["box_style"], buffers);
this->send_patch(std::move(state), std::move(buffers));
}

Expand All @@ -220,7 +220,7 @@ namespace xw
this->children() = {};
nl::json state;
xeus::buffer_sequence buffers;
set_patch_from_property(children, state, buffers);
xwidgets_serialize(children(), state["box_style"], buffers);
this->send_patch(std::move(state), std::move(buffers));
}

Expand Down
16 changes: 8 additions & 8 deletions include/xwidgets/xbutton.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,8 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(button_color, state, buffers);
set_patch_from_property(font_weight, state, buffers);
xwidgets_serialize(button_color(), state["button_color"], buffers);
xwidgets_serialize(font_weight(), state["font_weight"], buffers);
}

template <class D>
Expand Down Expand Up @@ -147,12 +147,12 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(description, state, buffers);
set_patch_from_property(tooltip, state, buffers);
set_patch_from_property(disabled, state, buffers);
set_patch_from_property(icon, state, buffers);
set_patch_from_property(button_style, state, buffers);
set_patch_from_property(style, state, buffers);
xwidgets_serialize(description(), state["description"], buffers);
xwidgets_serialize(tooltip(), state["tooltip"], buffers);
xwidgets_serialize(disabled(), state["disabled"], buffers);
xwidgets_serialize(icon(), state["icon"], buffers);
xwidgets_serialize(button_style(), state["button_style"], buffers);
xwidgets_serialize(style(), state["style"], buffers);
}

template <class D>
Expand Down
2 changes: 1 addition & 1 deletion include/xwidgets/xcheckbox.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(indent, state, buffers);
xwidgets_serialize(indent(), state["indent"], buffers);
}

template <class D>
Expand Down
6 changes: 3 additions & 3 deletions include/xwidgets/xcolor_picker.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(value, state, buffers);
set_patch_from_property(disabled, state, buffers);
set_patch_from_property(concise, state, buffers);
xwidgets_serialize(value(), state["value"], buffers);
xwidgets_serialize(disabled(), state["disabled"], buffers);
xwidgets_serialize(concise(), state["concise"], buffers);
}

template <class D>
Expand Down
20 changes: 10 additions & 10 deletions include/xwidgets/xcontroller.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,8 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(value, state, buffers);
set_patch_from_property(pressed, state, buffers);
xwidgets_serialize(value(), state["value"], buffers);
xwidgets_serialize(pressed(), state["pressed"], buffers);
}

template <class D>
Expand Down Expand Up @@ -184,7 +184,7 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(value, state, buffers);
xwidgets_serialize(value(), state["value"], buffers);
}

template <class D>
Expand Down Expand Up @@ -222,13 +222,13 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(index, state, buffers);
set_patch_from_property(name, state, buffers);
set_patch_from_property(mapping, state, buffers);
set_patch_from_property(connected, state, buffers);
set_patch_from_property(timestamp, state, buffers);
set_patch_from_property(buttons, state, buffers);
set_patch_from_property(axes, state, buffers);
xwidgets_serialize(index(), state["index"], buffers);
xwidgets_serialize(name(), state["name"], buffers);
xwidgets_serialize(mapping(), state["mapping"], buffers);
xwidgets_serialize(connected(), state["connected"], buffers);
xwidgets_serialize(timestamp(), state["timestamp"], buffers);
xwidgets_serialize(buttons(), state["buttons"], buffers);
xwidgets_serialize(axes(), state["axes"], buffers);
}

template <class D>
Expand Down
14 changes: 3 additions & 11 deletions include/xwidgets/ximage.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(format, state, buffers);
set_patch_from_property(width, state, buffers);
set_patch_from_property(height, state, buffers);
xwidgets_serialize(format(), state["format"], buffers);
xwidgets_serialize(width(), state["width"], buffers);
xwidgets_serialize(height(), state["height"], buffers);
}

template <class D>
Expand Down Expand Up @@ -104,14 +104,6 @@ namespace xw
* custom serializers *
**********************/

inline void set_patch_from_property(const decltype(image::value)& property,
nl::json& patch,
xeus::buffer_sequence& buffers)
{
patch[property.name()] = xbuffer_reference_prefix() + std::to_string(buffers.size());
buffers.emplace_back(property().data(), property().size());
}

inline void set_property_from_patch(decltype(image::value)& property,
const nl::json& patch,
const xeus::buffer_sequence& buffers)
Expand Down
48 changes: 24 additions & 24 deletions include/xwidgets/xlayout.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,30 +82,30 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(align_content, state, buffers);
set_patch_from_property(align_items, state, buffers);
set_patch_from_property(align_self, state, buffers);
set_patch_from_property(bottom, state, buffers);
set_patch_from_property(border, state, buffers);
set_patch_from_property(display, state, buffers);
set_patch_from_property(flex, state, buffers);
set_patch_from_property(flex_flow, state, buffers);
set_patch_from_property(height, state, buffers);
set_patch_from_property(justify_content, state, buffers);
set_patch_from_property(left, state, buffers);
set_patch_from_property(margin, state, buffers);
set_patch_from_property(max_height, state, buffers);
set_patch_from_property(max_width, state, buffers);
set_patch_from_property(min_height, state, buffers);
set_patch_from_property(min_width, state, buffers);
set_patch_from_property(overflow, state, buffers);
set_patch_from_property(overflow_x, state, buffers);
set_patch_from_property(overflow_y, state, buffers);
set_patch_from_property(order, state, buffers);
set_patch_from_property(padding, state, buffers);
set_patch_from_property(right, state, buffers);
set_patch_from_property(top, state, buffers);
set_patch_from_property(width, state, buffers);
xwidgets_serialize(align_content(), state["align_content"], buffers);
xwidgets_serialize(align_items(), state["align_items"], buffers);
xwidgets_serialize(align_self(), state["align_self"], buffers);
xwidgets_serialize(bottom(), state["bottom"], buffers);
xwidgets_serialize(border(), state["border"], buffers);
xwidgets_serialize(display(), state["display"], buffers);
xwidgets_serialize(flex(), state["flex"], buffers);
xwidgets_serialize(flex_flow(), state["flex_flow"], buffers);
xwidgets_serialize(height(), state["height"], buffers);
xwidgets_serialize(justify_content(), state["justify_content"], buffers);
xwidgets_serialize(left(), state["left"], buffers);
xwidgets_serialize(margin(), state["margin"], buffers);
xwidgets_serialize(max_height(), state["max_height"], buffers);
xwidgets_serialize(max_width(), state["max_width"], buffers);
xwidgets_serialize(min_height(), state["min_height"], buffers);
xwidgets_serialize(min_width(), state["min_width"], buffers);
xwidgets_serialize(overflow(), state["overflow"], buffers);
xwidgets_serialize(overflow_x(), state["overflow_x"], buffers);
xwidgets_serialize(overflow_y(), state["overflow_y"], buffers);
xwidgets_serialize(order(), state["order"], buffers);
xwidgets_serialize(padding(), state["padding"], buffers);
xwidgets_serialize(right(), state["right"], buffers);
xwidgets_serialize(top(), state["top"], buffers);
xwidgets_serialize(width(), state["width"], buffers);
}

template <class D>
Expand Down
8 changes: 4 additions & 4 deletions include/xwidgets/xlink.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,8 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(source, state, buffers);
set_patch_from_property(target, state, buffers);
xwidgets_serialize(source(), state["source"], buffers);
xwidgets_serialize(target(), state["target"], buffers);
}

template <class D>
Expand Down Expand Up @@ -146,8 +146,8 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(source, state, buffers);
set_patch_from_property(target, state, buffers);
xwidgets_serialize(source(), state["source"], buffers);
xwidgets_serialize(target(), state["target"], buffers);
}

template <class D>
Expand Down
8 changes: 7 additions & 1 deletion include/xwidgets/xmedia.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,18 @@ namespace xw
* xmedia implementation *
*************************/

inline void xwidgets_serialize(const std::vector<char>& value, nl::json& j, xeus::buffer_sequence& buffers)
{
j = xbuffer_reference_prefix() + std::to_string(buffers.size());
buffers.emplace_back(value.data(), value.size());
}

template <class D>
inline void xmedia<D>::serialize_state(nl::json& state, xeus::buffer_sequence& buffers) const
{
base_type::serialize_state(state, buffers);

set_patch_from_property(value, state, buffers);
xwidgets_serialize(value(), state["value"], buffers);
}

template <class D>
Expand Down
8 changes: 4 additions & 4 deletions include/xwidgets/xnumber.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(value, state, buffers);
set_patch_from_property(min, state, buffers);
set_patch_from_property(max, state, buffers);
set_patch_from_property(description, state, buffers);
xwidgets_serialize(value(), state["value"], buffers);
xwidgets_serialize(min(), state["min"], buffers);
xwidgets_serialize(max(), state["max"], buffers);
xwidgets_serialize(description(), state["description"], buffers);
}

template <class D>
Expand Down
6 changes: 3 additions & 3 deletions include/xwidgets/xnumeral.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(step, state, buffers);
set_patch_from_property(disabled, state, buffers);
set_patch_from_property(continuous_update, state, buffers);
xwidgets_serialize(step(), state["step"], buffers);
xwidgets_serialize(disabled(), state["disabled"], buffers);
xwidgets_serialize(continuous_update(), state["continuous_update"], buffers);
}

template <class D>
Expand Down
12 changes: 6 additions & 6 deletions include/xwidgets/xobject.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,12 @@ namespace xw
template <class D>
inline void xobject<D>::serialize_state(nl::json& state, xeus::buffer_sequence& buffers) const
{
set_patch_from_property(_model_module, state, buffers);
set_patch_from_property(_model_module_version, state, buffers);
set_patch_from_property(_model_name, state, buffers);
set_patch_from_property(_view_module, state, buffers);
set_patch_from_property(_view_module_version, state, buffers);
set_patch_from_property(_view_name, state, buffers);
xwidgets_serialize(_model_module(), state[""], buffers);
xwidgets_serialize(_model_module_version(), state[""], buffers);
xwidgets_serialize(_model_name(), state[""], buffers);
xwidgets_serialize(_view_module(), state[""], buffers);
xwidgets_serialize(_view_module_version(), state[""], buffers);
xwidgets_serialize(_view_name(), state[""], buffers);
}

template <class D>
Expand Down
4 changes: 2 additions & 2 deletions include/xwidgets/xoutput.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(msg_id, state, buffers);
set_patch_from_property(outputs, state, buffers);
xwidgets_serialize(msg_id(), state["msg_id"], buffers);
xwidgets_serialize(outputs(), state["outputs"], buffers);
}

template <class D>
Expand Down
2 changes: 1 addition & 1 deletion include/xwidgets/xpassword.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ namespace xw
{
base_type::serialize_state(state, buffers);

set_patch_from_property(disabled, state, buffers);
xwidgets_serialize(disabled(), state["disabled"], buffers);
}

template <class D>
Expand Down

0 comments on commit 189a879

Please sign in to comment.