#include #include "bigpoint_container_packet.h" static void __construct(struct BIGPOINT_PACKET * _this, va_list * params) { bigpoint_container_packet_set_default_content(_this); } static void __jsonConst(struct BIGPOINT_PACKET * _this, struct json_object * json) { struct json_object * header = NULL; struct json_object * data = NULL; if (! json_type_array == json_object_get_type(json)) { bigpoint_packet_set_default_content(_this); return; } header = json_object_array_get_idx(json, 0); data = json_object_array_get_idx(json, 1); if (! (header && data)) { bigpoint_packet_set_default_content(_this); return; } bigpoint_packet_setHeader(_this, newFromJson(BIGPOINT_DYNTYPE, header)); bigpoint_packet_setData(_this, newFromJson(BIGPOINT_DYNTYPE, data)); } static void __destruct(struct BIGPOINT_PACKET * _this) { } static struct json_object * __toJson(struct BIGPOINT_PACKET * _this) { struct json_object * json = json_object_new_array(); json_object_array_add(json, toJson(bigpoint_packet_getHeader(_this))); json_object_array_add(json, toJson(bigpoint_packet_getData(_this))); return json; } static const struct BIGPOINT_CLASS _bigpoint_packet = { sizeof(struct BIGPOINT_PACKET), (ctor)__construct, __jsonConst, (dtor)__destruct, __toJson }; const struct BIGPOINT_CCLASS * const BIGPOINT_PACKET = &_bigpoint_packet; void * bigpoint_packet_getHeader( struct BIGPOINT_PACKET * _this) { return _this->content[BIGPOINT_PACKET_HEADER]; } void * bigpoint_packet_getData( struct BIGPOINT_PACKET * _this) { return _this->content[BIGPOINT_PACKET_DATA]; } void bigpoint_packet_setHeader( struct BIGPOINT_PACKET * _this, struct BIGPOINT_DYNTYPE * header) { _this->content[BIGPOINT_PACKET_HEADER] = header; } void bigpoint_packet_setData( struct BIGPOINT_PACKET * _this, struct BIGPOINT_DYNTYPE * data) { _this->content[BIGPOINT_PACKET_DATA] = data; } void bigpoint_container_packet_set_default_content( struct BIGPOINT_PACKET * _this) { _this->content[BIGPOINT_PACKET_HEADER] = NULL; _this->content[BIGPOINT_PACKET_DATA] = NULL; } // vim: set et ts=4 sw=4: