/* * Created by 伝作 (Densaku). * Types & Messages generator written by フランスのトトロ aka (David RENÉ) * Date: 2017-02-15 * Time: 02:18:49 * */ transmit system/muscle.anubis transmit system/convert.anubis transmit tools/basis.anubis public type DB_time: db_time( String time //Date and time in ISO8601 format "hh:mm:ss" ) . DB_time message format ====================== public define Message to_Message ( DB_time _db_time )= with _db_time_message = message((Word32)0), // forget(add_string(_db_time_message, "__TYPE__", "DB_time")); if _db_time is { //Alternative db_time db_time(_time) then forget(add_string(_db_time_message, "__TYPE_ALT__", "db_time")); // [type = String] db_time.time forget(add_string(_db_time_message, "time", _time)), }; _db_time_message . public define Maybe(DB_time) from_Message ( Message _db_time_message )= if find_string(_db_time_message, "__TYPE__") is {failure then failure, success(__type__) then if find_string(_db_time_message, "__TYPE_ALT__") is {failure then failure, success(__type_alt__) then if __type__ = "DB_time" then //Alternative db_time if __type_alt__ = "db_time" then //Alternative db_time // [type = String] db_time.time if find_string(_db_time_message, "time") is {failure then failure, success(time) then success(db_time(time)) } else failure //No valid Alternative found ! else failure //Type not found in message ! }} .