diff --git a/WeighUI/lib/WeighingDDSType.idl b/WeighUI/lib/WeighingDDSType.idl new file mode 100644 index 0000000..e8920c7 --- /dev/null +++ b/WeighUI/lib/WeighingDDSType.idl @@ -0,0 +1,351 @@ +// 称重系统 IDL 定义文件 +// 用于 DDS 数据分发服务 + +module WeighingSystem { + + // ============================================ + // Topic: onScaleInfoUpdate + // 称重设备信息更新主题 + // ============================================ + struct ScaleInfo { + boolean HasVehicle; // 有车 0:无车 1:有车 + boolean WeightOK; // 重量稳定信号 0: 不稳定 1:稳定 + boolean State; // 设备状态 0:异常仪表 1:正常接收仪表 + float Value; // 实时重量 + float StableValue; // 稳定重量 + }; + + + // ============================================ + // Topic: onScaleCommandUpdate + // 称重设备命令更新主题 + // ============================================ + struct ScaleCommand { + boolean Enable; // 是否启用 启动参数 + long ResetZero; // 仪表重置0 脉冲信号 1:清零 自动变0 + }; + + + // ============================================ + // Topic: onWeightInfoOKUpdate + // 称重业务成功信息更新主题 + // ============================================ + struct WeightInfoOk { + // 基础信息属性 + long GrossDeviceID; // 毛重磅称编号 + string GrossDeviceName; // 毛重磅称名称 + string GrossDeviceType; // 毛重磅称类型 1:重磅 2:轻磅 3:通用称重 4:转煤 + long TareDeviceID; // 皮重磅称编号 + string TareDeviceName; // 皮重磅称名称 + string TareDeviceType; // 皮重磅称类型 1:重磅 2:轻磅 3:通用称重 4:转煤 + string EnterpriseName; // 本系统企业名称 + + // 业务单据属性 + string BillNumber; // 票据号 + string CarNumber; // 车牌号 + string Supplier; // 往来单位 + string GoodsType; // 品种 + + // 重量数据属性 + float GrossWeight; // 毛重 + string GrossTime; // 毛重时间 + string GrossOperater; // 毛重操作员 + float Tare; // 皮重 + string TareTime; // 皮重时间 + string TareOperater; // 皮重操作员 + float Suttle; // 净重 + + // 扣重属性 + float duduction1; // 扣矸 大宗物资扣吨打印 + float duduction2; // 扣水 大宗物资扣钱打印 + float duduction3; // 扣杂 + + + // 物流信息属性 + string INCoalYard; // 卸货点 + string OutCoalYard; // 装货点 + string BatchNumber; // 批次号 + + // 操作结果提示属性 + string Warning; // 提示 LED显示 + string Tips; // 提示 小票打印 + + // 打印磅单相关 + string TicketType; // 磅单类型 1:一次称重 2:二次称重 + boolean IsPrintTicker; // 是否打印磅单 + + // 绥阳铁合金称重成功扩展属性 + string OrderNumber; // 订单号 + string VehicleAndVesselNumber; // 车船号 + string ReceiveCompany; // 收货单位 + string TransportCompany; // 运输单位 + }; + + // ============================================ + // Topic: onWeightInfoErrorUpdate + // 称重业务成功信息更新主题 + // ============================================ + struct WeightInfoError { + //车牌 + string CarNumber; // 车牌号 + // 操作结果提示属性 + string Warning; // 提示 字符串 + + }; + + // ============================================ + // Topic: onBarCommandUpdate + // 拦车器命令更新主题 + // ============================================ + struct BarCommandUpdate { + // 前拦车器控制 + long FrontBarSignalUp; // 前拦车器抬起信号 脉冲信号 1-》0 发1 自动置为0 + long FrontBarSignalDown; // 前拦车器放下信号 脉冲信号 1-》0 发1 自动置为0 + boolean FrontBarEnable; // 前拦车器是否启用 1: 启用 0: 不启用 + + // 后拦车器控制 + long BackBarSignalUp; // 后拦车器抬起信号 脉冲信号 1-》0 发1 自动置为0 (属性ID: 7) + long BackBarSignalDown; // 后拦车器放下信号 脉冲信号 1-》0 发1 自动置为0 + boolean BackBarEnable; // 后拦车器是否启用 1: 启用 0: 不启用 + + }; + + // ============================================ + // Topic: onLightsCommandUpdate + // 红绿灯命令更新主题 + // ============================================ + struct LightsCommandUpdate { + // 前红绿灯控制 + long FrontLEDSignal; // 前红绿灯信号 1.红 2.绿 + boolean FrontLEDEnable; // 前红绿灯是否启用 1: 启用 0: 不启用 + + // 后红绿灯控制 + long BackLEDSignal; // 后红绿灯信号 1.红 2.绿 + long BackLEDEnable; // 后红绿灯是否启用 1: 启用 0: 不启用 + }; + + + + // ============================================ + // Topic: InfraredCommandUpdate + // 拦车器与红绿灯命令更新主题 + // ============================================ + struct InfraredCommandUpdate { + // 前红外对射控制 + long FrontResistanceUnLock; // 前红外对射临时解除 1.解除 0.不解除 + boolean FrontResistanceEnable; // 前红外对射启用 1: 启用 0: 不启用 + + // 后红外对射控制 + long BackResistanceUnLock; // 后红外对射临时解除 1.解除 0.不解除 + boolean BackResistanceEnable; // 后红外对射启用 1: 启用 0: 不启用 + }; + + + // ============================================ + // Topic: onBarUpdate + // 拦车器更新主题 + // ============================================ + struct BarUpdate { + // 前拦车器状态 + long FrontBarState; // 1 抬起状态 2 放下状态 + // 后拦车器状态 + long BackBarState; // 1 抬起状态 2 放下状态 + }; + + // ============================================ + // Topic: onLightsUpdate + // 红绿灯状态更新主题 + // ============================================ + struct LightsUpdate { + // 前红绿灯状态 + long FrontLEDState; // 1.红 2.绿 + + // 后红绿灯状态 + long BackLEDState; // 1.红 2.绿 + }; + + // ============================================ + // Topic: onInfraredUpdate + // 拦车器与红绿灯状态更新主题 + // ============================================ + struct InfraredUpdate { + // 前红外对射状态 + long FrontResistanceSignal; // 1 有阻挡 0 无阻挡 + + // 后红外对射状态 + long BackResistanceSignal; // 1 有阻挡 0 无阻挡 + }; + + // ============================================ + // Topic: LicenseSnap + // 车牌识别类 + // ============================================ + struct LicenseSnapUpdate { + long NewTag; // 车牌更新 1 新的 2 旧的不变 + string License; // 车牌号 + }; + + // ============================================ + // Topic: LicenseSnap + // 语音播放ID + // ============================================ + struct Voice { + long VoiceID; //语音ID + string VoiceContent; //语音string,后续如果可以程序用tts直接播放语音内容 + }; + + // ============================================ + // Topic: SummaryUpdate + // 称重类 + // ============================================ + struct SummaryUpdate { + string License; // 五彩湾为车牌号;绥阳铁合金为刷卡卡号 + float StableValue; // 稳定重量;绥阳铁合金按吨传输 + }; + + // ============================================ + // Topic: ReadCardReq <-- 订阅 Topic (设备驱动侧) + // 类型: ReadCardReq + // 发布者: Core + // 订阅者: ReadCard + // 载荷: map> + // 协议键: "find" / "stop" / "read" / "write" / "beep" / "reset" + // ============================================ + struct ReadCardReq + { + unsigned long index; + map > msg; + }; + + // ============================================ + // Topic: ReadCardRsp <-- 发布 Topic (设备驱动侧) + // 类型: ReadCardRsp + // 发布者: ReadCard + // 订阅者: Core / MqttDds + // 载荷: map> + // 协议键: "find" / "read" / "write" / "stop" / "beep" + // ============================================ + struct ReadCardRsp + { + unsigned long index; + map > msg; + }; + + // ============================================ + // Topic: PrintReq <-- 发布 Topic (Core → Print) + // 类型: PrintReq + // 发布者: Core + // 订阅者: Print + // 载荷: map + // ============================================ + struct PrintReq + { + unsigned long index; + map msg; + }; + + // ============================================ + // Topic: PrintRsp <-- 发布 Topic (Print → Core) + // 类型: PrintRsp + // 发布者: Print + // 订阅者: Core + // 载荷: string + // ============================================ + struct PrintRsp + { + unsigned long index; + string msg; + }; +}; + +// ============================================ +// 通用排队服务消息 +// 排队设备通过 QueueTrigger 触发服务,服务发布 Success/Failure 结果。 +// ============================================ +module Queue { + + // 排队机刷卡触发。只表达设备刷到的卡,不携带服务内部缓存定位字段。 + struct QueueTrigger { + string message_id; // 可选技术消息号;重发时保持不变 + string card_number; // 必填;刷卡得到的卡号 + string device_id; // 必填;排队机/读卡器统一设备编号 + string trigger_time; // 可选;ISO-8601时间,仅用于审计和去重 + string vehicle_number_snapshot; // 可选;控件车牌快照,仅用于一致性校验 + long supplier_identity_id_snapshot;// 可选;0表示未提供 + long goods_id_snapshot; // 可选;0表示未提供 + float ship_net_weight_snapshot; // 可选;0表示未提供 + long card_flow_no_snapshot; // 可选;0表示未提供 + string card_type_snapshot; // 可选;卡类型快照 + string electronic_tag_snapshot; // 可选;电子标签由排队设备读取后传递 + }; + + // 排队成功或活动记录补打成功结果。 + struct QueueSuccess { + string message_id; // 可选;技术消息号 + string card_number; // 必填;触发卡号 + string device_id; // 必填;结果目标设备 + long result_code; // 必填:0新排队,1补打 + long queue_record_id; // 排队_列表主键 + long queue_number; // 排队序号 + string sample_machine; // 采样机名称 + string queue_time; // 排入时间 + string ticket_number; // 进煤表票据号 + long sample_code; // 采样编码 + string vehicle_number; // 正式车牌 + long vehicle_self_no; // 车辆自编号 + long vehicle_type_id; // 车型编号 + long supplier_identity_id; // 供应识别号 + string supplier_identity_name; // 供应识别名称 + long supplier_id; // 供应商主键 + string supplier_name; // 供应商名称 + long goods_id; // 品种编号 + string goods_name; // 品种名称 + long unit_id; // 单位编号 + long transport_company_id; // 运输公司编号 + long sample_type; // 采样类型 + string unloading_point_name; // 卸煤点名称 + float ship_gross_weight; // 矿发毛重 + float ship_tare_weight; // 矿发皮重 + float ship_net_weight; // 矿发净重 + long sample_machine_id; // 采样机编号,无值为0 + string vehicle_lane; // 车道名称 + long vehicle_lane_id; // 车道编号,无值为0 + string strategy_desc; // 排队策略说明 + string committed_at; // 数据库提交时间 + string display_text; // 显示文本 + string print_content; // 打印内容 + boolean print_required; // 是否打印 + long print_count; // 打印份数 + long voice_id; // 语音资源编号 + string voice_text; // 语音播报文本 + boolean is_reprint; // 是否补打 + string physical_card_state; // NOT_ATTEMPTED/CHANGED/PARTIAL + string card_write_status; // DISABLED/SUCCEEDED/FAILED/PARTIAL + }; + + // 排队失败结果。数据库已提交但事务外动作失败时仍携带已生成的业务编号。 + struct QueueFailure { + string message_id; // 可选;技术消息号 + string card_number; // 可解析时的卡号 + string device_id; // 可识别时的设备编号 + string error_code; // 必填;机器可判定错误码 + string failed_step; // 必填;失败步骤 + string message; // 必填;显示/告警文本 + string vehicle_number; // 缓存车牌(可选) + long queue_record_id; // 已提交排队记录主键,无记录为0 + long queue_number; // 已生成排队号,无记录为0 + string sample_machine; // 已分配采样机 + string ticket_number; // 已生成票据号 + long existing_queue_record_id; // 活动排队记录主键 + long existing_queue_number; // 活动排队号 + string existing_sample_machine; // 活动采样机 + string cache_state; // 缓存状态 + string database_state; // NOT_ATTEMPTED/COMMITTED/ROLLED_BACK/UNKNOWN + string physical_card_state; // NOT_ATTEMPTED/CHANGED/UNCHANGED/PARTIAL/UNKNOWN + boolean retryable; // 是否允许同一触发重试 + long retry_after_ms; // 建议重试等待时间 + long voice_id; // 语音资源编号 + string voice_text; // 语音播报文本 + string card_write_status; // DISABLED/SUCCEEDED/FAILED/PARTIAL + }; +}; diff --git a/WeighUI/lib/WeighingDDSTypeCdrAux.hpp b/WeighUI/lib/WeighingDDSTypeCdrAux.hpp new file mode 100644 index 0000000..dc9c142 --- /dev/null +++ b/WeighUI/lib/WeighingDDSTypeCdrAux.hpp @@ -0,0 +1,179 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! + * @file WeighingDDSTypeCdrAux.hpp + * This source file contains some definitions of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef FAST_DDS_GENERATED__QUEUE_WEIGHINGDDSTYPECDRAUX_HPP +#define FAST_DDS_GENERATED__QUEUE_WEIGHINGDDSTYPECDRAUX_HPP + +#include "WeighingDDSType.hpp" + +constexpr uint32_t WeighingSystem_PrintRsp_max_cdr_typesize {268UL}; +constexpr uint32_t WeighingSystem_PrintRsp_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_SummaryUpdate_max_cdr_typesize {268UL}; +constexpr uint32_t WeighingSystem_SummaryUpdate_max_key_cdr_typesize {0UL}; + +constexpr uint32_t Queue_QueueFailure_max_cdr_typesize {3932UL}; +constexpr uint32_t Queue_QueueFailure_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_LightsUpdate_max_cdr_typesize {12UL}; +constexpr uint32_t WeighingSystem_LightsUpdate_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_InfraredUpdate_max_cdr_typesize {12UL}; +constexpr uint32_t WeighingSystem_InfraredUpdate_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_ReadCardRsp_max_cdr_typesize {16UL}; +constexpr uint32_t WeighingSystem_ReadCardRsp_max_key_cdr_typesize {0UL}; + +constexpr uint32_t Queue_QueueSuccess_max_cdr_typesize {5028UL}; +constexpr uint32_t Queue_QueueSuccess_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_WeightInfoError_max_cdr_typesize {524UL}; +constexpr uint32_t WeighingSystem_WeightInfoError_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_WeightInfoOk_max_cdr_typesize {6020UL}; +constexpr uint32_t WeighingSystem_WeightInfoOk_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_InfraredCommandUpdate_max_cdr_typesize {17UL}; +constexpr uint32_t WeighingSystem_InfraredCommandUpdate_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_LightsCommandUpdate_max_cdr_typesize {20UL}; +constexpr uint32_t WeighingSystem_LightsCommandUpdate_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_ReadCardReq_max_cdr_typesize {16UL}; +constexpr uint32_t WeighingSystem_ReadCardReq_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_PrintReq_max_cdr_typesize {16UL}; +constexpr uint32_t WeighingSystem_PrintReq_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_LicenseSnapUpdate_max_cdr_typesize {268UL}; +constexpr uint32_t WeighingSystem_LicenseSnapUpdate_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_ScaleInfo_max_cdr_typesize {16UL}; +constexpr uint32_t WeighingSystem_ScaleInfo_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_Voice_max_cdr_typesize {268UL}; +constexpr uint32_t WeighingSystem_Voice_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_BarCommandUpdate_max_cdr_typesize {25UL}; +constexpr uint32_t WeighingSystem_BarCommandUpdate_max_key_cdr_typesize {0UL}; + +constexpr uint32_t Queue_QueueTrigger_max_cdr_typesize {1840UL}; +constexpr uint32_t Queue_QueueTrigger_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_ScaleCommand_max_cdr_typesize {12UL}; +constexpr uint32_t WeighingSystem_ScaleCommand_max_key_cdr_typesize {0UL}; + +constexpr uint32_t WeighingSystem_BarUpdate_max_cdr_typesize {12UL}; +constexpr uint32_t WeighingSystem_BarUpdate_max_key_cdr_typesize {0UL}; + + +namespace eprosima { +namespace fastcdr { + +class Cdr; +class CdrSizeCalculator; + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ScaleInfo& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ScaleCommand& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::WeightInfoOk& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::WeightInfoError& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::BarCommandUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LightsCommandUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::InfraredCommandUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::BarUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LightsUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::InfraredUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LicenseSnapUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::Voice& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::SummaryUpdate& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ReadCardReq& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ReadCardRsp& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::PrintReq& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::PrintRsp& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueTrigger& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueSuccess& data); + +eProsima_user_DllExport void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueFailure& data); + + +} // namespace fastcdr +} // namespace eprosima + +#endif // FAST_DDS_GENERATED__QUEUE_WEIGHINGDDSTYPECDRAUX_HPP + diff --git a/WeighUI/lib/WeighingDDSTypeCdrAux.ipp b/WeighUI/lib/WeighingDDSTypeCdrAux.ipp new file mode 100644 index 0000000..d2c622e --- /dev/null +++ b/WeighUI/lib/WeighingDDSTypeCdrAux.ipp @@ -0,0 +1,3042 @@ +// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! + * @file WeighingDDSTypeCdrAux.ipp + * This source file contains some declarations of CDR related functions. + * + * This file was generated by the tool fastddsgen. + */ + +#ifndef FAST_DDS_GENERATED__QUEUE_WEIGHINGDDSTYPECDRAUX_IPP +#define FAST_DDS_GENERATED__QUEUE_WEIGHINGDDSTYPECDRAUX_IPP + +#include "WeighingDDSTypeCdrAux.hpp" + +#include +#include + + +#include +using namespace eprosima::fastcdr::exception; + +namespace eprosima { +namespace fastcdr { + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::ScaleInfo& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.HasVehicle(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.WeightOK(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.State(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.Value(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.StableValue(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ScaleInfo& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.HasVehicle() + << eprosima::fastcdr::MemberId(1) << data.WeightOK() + << eprosima::fastcdr::MemberId(2) << data.State() + << eprosima::fastcdr::MemberId(3) << data.Value() + << eprosima::fastcdr::MemberId(4) << data.StableValue() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::ScaleInfo& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.HasVehicle(); + break; + + case 1: + dcdr >> data.WeightOK(); + break; + + case 2: + dcdr >> data.State(); + break; + + case 3: + dcdr >> data.Value(); + break; + + case 4: + dcdr >> data.StableValue(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ScaleInfo& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.HasVehicle(); + + scdr << data.WeightOK(); + + scdr << data.State(); + + scdr << data.Value(); + + scdr << data.StableValue(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::ScaleCommand& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.Enable(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.ResetZero(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ScaleCommand& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.Enable() + << eprosima::fastcdr::MemberId(1) << data.ResetZero() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::ScaleCommand& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.Enable(); + break; + + case 1: + dcdr >> data.ResetZero(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ScaleCommand& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.Enable(); + + scdr << data.ResetZero(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::WeightInfoOk& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.GrossDeviceID(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.GrossDeviceName(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.GrossDeviceType(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.TareDeviceID(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.TareDeviceName(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.TareDeviceType(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.EnterpriseName(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.BillNumber(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.CarNumber(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.Supplier(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.GoodsType(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(11), + data.GrossWeight(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(12), + data.GrossTime(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), + data.GrossOperater(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(14), + data.Tare(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(15), + data.TareTime(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(16), + data.TareOperater(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(17), + data.Suttle(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(18), + data.duduction1(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(19), + data.duduction2(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(20), + data.duduction3(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(21), + data.INCoalYard(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(22), + data.OutCoalYard(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(23), + data.BatchNumber(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(24), + data.Warning(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(25), + data.Tips(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(26), + data.TicketType(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(27), + data.IsPrintTicker(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(28), + data.OrderNumber(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(29), + data.VehicleAndVesselNumber(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(30), + data.ReceiveCompany(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(31), + data.TransportCompany(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::WeightInfoOk& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.GrossDeviceID() + << eprosima::fastcdr::MemberId(1) << data.GrossDeviceName() + << eprosima::fastcdr::MemberId(2) << data.GrossDeviceType() + << eprosima::fastcdr::MemberId(3) << data.TareDeviceID() + << eprosima::fastcdr::MemberId(4) << data.TareDeviceName() + << eprosima::fastcdr::MemberId(5) << data.TareDeviceType() + << eprosima::fastcdr::MemberId(6) << data.EnterpriseName() + << eprosima::fastcdr::MemberId(7) << data.BillNumber() + << eprosima::fastcdr::MemberId(8) << data.CarNumber() + << eprosima::fastcdr::MemberId(9) << data.Supplier() + << eprosima::fastcdr::MemberId(10) << data.GoodsType() + << eprosima::fastcdr::MemberId(11) << data.GrossWeight() + << eprosima::fastcdr::MemberId(12) << data.GrossTime() + << eprosima::fastcdr::MemberId(13) << data.GrossOperater() + << eprosima::fastcdr::MemberId(14) << data.Tare() + << eprosima::fastcdr::MemberId(15) << data.TareTime() + << eprosima::fastcdr::MemberId(16) << data.TareOperater() + << eprosima::fastcdr::MemberId(17) << data.Suttle() + << eprosima::fastcdr::MemberId(18) << data.duduction1() + << eprosima::fastcdr::MemberId(19) << data.duduction2() + << eprosima::fastcdr::MemberId(20) << data.duduction3() + << eprosima::fastcdr::MemberId(21) << data.INCoalYard() + << eprosima::fastcdr::MemberId(22) << data.OutCoalYard() + << eprosima::fastcdr::MemberId(23) << data.BatchNumber() + << eprosima::fastcdr::MemberId(24) << data.Warning() + << eprosima::fastcdr::MemberId(25) << data.Tips() + << eprosima::fastcdr::MemberId(26) << data.TicketType() + << eprosima::fastcdr::MemberId(27) << data.IsPrintTicker() + << eprosima::fastcdr::MemberId(28) << data.OrderNumber() + << eprosima::fastcdr::MemberId(29) << data.VehicleAndVesselNumber() + << eprosima::fastcdr::MemberId(30) << data.ReceiveCompany() + << eprosima::fastcdr::MemberId(31) << data.TransportCompany() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::WeightInfoOk& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.GrossDeviceID(); + break; + + case 1: + dcdr >> data.GrossDeviceName(); + break; + + case 2: + dcdr >> data.GrossDeviceType(); + break; + + case 3: + dcdr >> data.TareDeviceID(); + break; + + case 4: + dcdr >> data.TareDeviceName(); + break; + + case 5: + dcdr >> data.TareDeviceType(); + break; + + case 6: + dcdr >> data.EnterpriseName(); + break; + + case 7: + dcdr >> data.BillNumber(); + break; + + case 8: + dcdr >> data.CarNumber(); + break; + + case 9: + dcdr >> data.Supplier(); + break; + + case 10: + dcdr >> data.GoodsType(); + break; + + case 11: + dcdr >> data.GrossWeight(); + break; + + case 12: + dcdr >> data.GrossTime(); + break; + + case 13: + dcdr >> data.GrossOperater(); + break; + + case 14: + dcdr >> data.Tare(); + break; + + case 15: + dcdr >> data.TareTime(); + break; + + case 16: + dcdr >> data.TareOperater(); + break; + + case 17: + dcdr >> data.Suttle(); + break; + + case 18: + dcdr >> data.duduction1(); + break; + + case 19: + dcdr >> data.duduction2(); + break; + + case 20: + dcdr >> data.duduction3(); + break; + + case 21: + dcdr >> data.INCoalYard(); + break; + + case 22: + dcdr >> data.OutCoalYard(); + break; + + case 23: + dcdr >> data.BatchNumber(); + break; + + case 24: + dcdr >> data.Warning(); + break; + + case 25: + dcdr >> data.Tips(); + break; + + case 26: + dcdr >> data.TicketType(); + break; + + case 27: + dcdr >> data.IsPrintTicker(); + break; + + case 28: + dcdr >> data.OrderNumber(); + break; + + case 29: + dcdr >> data.VehicleAndVesselNumber(); + break; + + case 30: + dcdr >> data.ReceiveCompany(); + break; + + case 31: + dcdr >> data.TransportCompany(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::WeightInfoOk& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.GrossDeviceID(); + + scdr << data.GrossDeviceName(); + + scdr << data.GrossDeviceType(); + + scdr << data.TareDeviceID(); + + scdr << data.TareDeviceName(); + + scdr << data.TareDeviceType(); + + scdr << data.EnterpriseName(); + + scdr << data.BillNumber(); + + scdr << data.CarNumber(); + + scdr << data.Supplier(); + + scdr << data.GoodsType(); + + scdr << data.GrossWeight(); + + scdr << data.GrossTime(); + + scdr << data.GrossOperater(); + + scdr << data.Tare(); + + scdr << data.TareTime(); + + scdr << data.TareOperater(); + + scdr << data.Suttle(); + + scdr << data.duduction1(); + + scdr << data.duduction2(); + + scdr << data.duduction3(); + + scdr << data.INCoalYard(); + + scdr << data.OutCoalYard(); + + scdr << data.BatchNumber(); + + scdr << data.Warning(); + + scdr << data.Tips(); + + scdr << data.TicketType(); + + scdr << data.IsPrintTicker(); + + scdr << data.OrderNumber(); + + scdr << data.VehicleAndVesselNumber(); + + scdr << data.ReceiveCompany(); + + scdr << data.TransportCompany(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::WeightInfoError& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.CarNumber(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.Warning(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::WeightInfoError& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.CarNumber() + << eprosima::fastcdr::MemberId(1) << data.Warning() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::WeightInfoError& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.CarNumber(); + break; + + case 1: + dcdr >> data.Warning(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::WeightInfoError& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.CarNumber(); + + scdr << data.Warning(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::BarCommandUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.FrontBarSignalUp(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.FrontBarSignalDown(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.FrontBarEnable(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.BackBarSignalUp(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.BackBarSignalDown(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.BackBarEnable(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::BarCommandUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.FrontBarSignalUp() + << eprosima::fastcdr::MemberId(1) << data.FrontBarSignalDown() + << eprosima::fastcdr::MemberId(2) << data.FrontBarEnable() + << eprosima::fastcdr::MemberId(3) << data.BackBarSignalUp() + << eprosima::fastcdr::MemberId(4) << data.BackBarSignalDown() + << eprosima::fastcdr::MemberId(5) << data.BackBarEnable() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::BarCommandUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.FrontBarSignalUp(); + break; + + case 1: + dcdr >> data.FrontBarSignalDown(); + break; + + case 2: + dcdr >> data.FrontBarEnable(); + break; + + case 3: + dcdr >> data.BackBarSignalUp(); + break; + + case 4: + dcdr >> data.BackBarSignalDown(); + break; + + case 5: + dcdr >> data.BackBarEnable(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::BarCommandUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.FrontBarSignalUp(); + + scdr << data.FrontBarSignalDown(); + + scdr << data.FrontBarEnable(); + + scdr << data.BackBarSignalUp(); + + scdr << data.BackBarSignalDown(); + + scdr << data.BackBarEnable(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::LightsCommandUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.FrontLEDSignal(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.FrontLEDEnable(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.BackLEDSignal(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.BackLEDEnable(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LightsCommandUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.FrontLEDSignal() + << eprosima::fastcdr::MemberId(1) << data.FrontLEDEnable() + << eprosima::fastcdr::MemberId(2) << data.BackLEDSignal() + << eprosima::fastcdr::MemberId(3) << data.BackLEDEnable() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::LightsCommandUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.FrontLEDSignal(); + break; + + case 1: + dcdr >> data.FrontLEDEnable(); + break; + + case 2: + dcdr >> data.BackLEDSignal(); + break; + + case 3: + dcdr >> data.BackLEDEnable(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LightsCommandUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.FrontLEDSignal(); + + scdr << data.FrontLEDEnable(); + + scdr << data.BackLEDSignal(); + + scdr << data.BackLEDEnable(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::InfraredCommandUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.FrontResistanceUnLock(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.FrontResistanceEnable(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.BackResistanceUnLock(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.BackResistanceEnable(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::InfraredCommandUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.FrontResistanceUnLock() + << eprosima::fastcdr::MemberId(1) << data.FrontResistanceEnable() + << eprosima::fastcdr::MemberId(2) << data.BackResistanceUnLock() + << eprosima::fastcdr::MemberId(3) << data.BackResistanceEnable() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::InfraredCommandUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.FrontResistanceUnLock(); + break; + + case 1: + dcdr >> data.FrontResistanceEnable(); + break; + + case 2: + dcdr >> data.BackResistanceUnLock(); + break; + + case 3: + dcdr >> data.BackResistanceEnable(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::InfraredCommandUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.FrontResistanceUnLock(); + + scdr << data.FrontResistanceEnable(); + + scdr << data.BackResistanceUnLock(); + + scdr << data.BackResistanceEnable(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::BarUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.FrontBarState(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.BackBarState(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::BarUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.FrontBarState() + << eprosima::fastcdr::MemberId(1) << data.BackBarState() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::BarUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.FrontBarState(); + break; + + case 1: + dcdr >> data.BackBarState(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::BarUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.FrontBarState(); + + scdr << data.BackBarState(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::LightsUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.FrontLEDState(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.BackLEDState(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LightsUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.FrontLEDState() + << eprosima::fastcdr::MemberId(1) << data.BackLEDState() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::LightsUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.FrontLEDState(); + break; + + case 1: + dcdr >> data.BackLEDState(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LightsUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.FrontLEDState(); + + scdr << data.BackLEDState(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::InfraredUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.FrontResistanceSignal(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.BackResistanceSignal(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::InfraredUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.FrontResistanceSignal() + << eprosima::fastcdr::MemberId(1) << data.BackResistanceSignal() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::InfraredUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.FrontResistanceSignal(); + break; + + case 1: + dcdr >> data.BackResistanceSignal(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::InfraredUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.FrontResistanceSignal(); + + scdr << data.BackResistanceSignal(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::LicenseSnapUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.NewTag(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.License(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LicenseSnapUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.NewTag() + << eprosima::fastcdr::MemberId(1) << data.License() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::LicenseSnapUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.NewTag(); + break; + + case 1: + dcdr >> data.License(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::LicenseSnapUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.NewTag(); + + scdr << data.License(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::Voice& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.VoiceID(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.VoiceContent(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::Voice& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.VoiceID() + << eprosima::fastcdr::MemberId(1) << data.VoiceContent() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::Voice& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.VoiceID(); + break; + + case 1: + dcdr >> data.VoiceContent(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::Voice& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.VoiceID(); + + scdr << data.VoiceContent(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::SummaryUpdate& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.License(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.StableValue(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::SummaryUpdate& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.License() + << eprosima::fastcdr::MemberId(1) << data.StableValue() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::SummaryUpdate& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.License(); + break; + + case 1: + dcdr >> data.StableValue(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::SummaryUpdate& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.License(); + + scdr << data.StableValue(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::ReadCardReq& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.index(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.msg(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ReadCardReq& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.index() + << eprosima::fastcdr::MemberId(1) << data.msg() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::ReadCardReq& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.index(); + break; + + case 1: + dcdr >> data.msg(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ReadCardReq& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.index(); + + scdr << data.msg(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::ReadCardRsp& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.index(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.msg(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ReadCardRsp& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.index() + << eprosima::fastcdr::MemberId(1) << data.msg() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::ReadCardRsp& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.index(); + break; + + case 1: + dcdr >> data.msg(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::ReadCardRsp& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.index(); + + scdr << data.msg(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::PrintReq& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.index(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.msg(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::PrintReq& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.index() + << eprosima::fastcdr::MemberId(1) << data.msg() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::PrintReq& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.index(); + break; + + case 1: + dcdr >> data.msg(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::PrintReq& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.index(); + + scdr << data.msg(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const WeighingSystem::PrintRsp& data, + size_t& current_alignment) +{ + using namespace WeighingSystem; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.index(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.msg(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::PrintRsp& data) +{ + using namespace WeighingSystem; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.index() + << eprosima::fastcdr::MemberId(1) << data.msg() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + WeighingSystem::PrintRsp& data) +{ + using namespace WeighingSystem; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.index(); + break; + + case 1: + dcdr >> data.msg(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const WeighingSystem::PrintRsp& data) +{ + using namespace WeighingSystem; + + static_cast(scdr); + static_cast(data); + scdr << data.index(); + + scdr << data.msg(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const Queue::QueueTrigger& data, + size_t& current_alignment) +{ + using namespace Queue; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.message_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.card_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.device_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.trigger_time(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.vehicle_number_snapshot(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.supplier_identity_id_snapshot(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.goods_id_snapshot(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.ship_net_weight_snapshot(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.card_flow_no_snapshot(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.card_type_snapshot(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.electronic_tag_snapshot(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueTrigger& data) +{ + using namespace Queue; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.message_id() + << eprosima::fastcdr::MemberId(1) << data.card_number() + << eprosima::fastcdr::MemberId(2) << data.device_id() + << eprosima::fastcdr::MemberId(3) << data.trigger_time() + << eprosima::fastcdr::MemberId(4) << data.vehicle_number_snapshot() + << eprosima::fastcdr::MemberId(5) << data.supplier_identity_id_snapshot() + << eprosima::fastcdr::MemberId(6) << data.goods_id_snapshot() + << eprosima::fastcdr::MemberId(7) << data.ship_net_weight_snapshot() + << eprosima::fastcdr::MemberId(8) << data.card_flow_no_snapshot() + << eprosima::fastcdr::MemberId(9) << data.card_type_snapshot() + << eprosima::fastcdr::MemberId(10) << data.electronic_tag_snapshot() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + Queue::QueueTrigger& data) +{ + using namespace Queue; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.message_id(); + break; + + case 1: + dcdr >> data.card_number(); + break; + + case 2: + dcdr >> data.device_id(); + break; + + case 3: + dcdr >> data.trigger_time(); + break; + + case 4: + dcdr >> data.vehicle_number_snapshot(); + break; + + case 5: + dcdr >> data.supplier_identity_id_snapshot(); + break; + + case 6: + dcdr >> data.goods_id_snapshot(); + break; + + case 7: + dcdr >> data.ship_net_weight_snapshot(); + break; + + case 8: + dcdr >> data.card_flow_no_snapshot(); + break; + + case 9: + dcdr >> data.card_type_snapshot(); + break; + + case 10: + dcdr >> data.electronic_tag_snapshot(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueTrigger& data) +{ + using namespace Queue; + + static_cast(scdr); + static_cast(data); + scdr << data.message_id(); + + scdr << data.card_number(); + + scdr << data.device_id(); + + scdr << data.trigger_time(); + + scdr << data.vehicle_number_snapshot(); + + scdr << data.supplier_identity_id_snapshot(); + + scdr << data.goods_id_snapshot(); + + scdr << data.ship_net_weight_snapshot(); + + scdr << data.card_flow_no_snapshot(); + + scdr << data.card_type_snapshot(); + + scdr << data.electronic_tag_snapshot(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const Queue::QueueSuccess& data, + size_t& current_alignment) +{ + using namespace Queue; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.message_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.card_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.device_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.result_code(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.queue_record_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.queue_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.sample_machine(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.queue_time(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.ticket_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.sample_code(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.vehicle_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(11), + data.vehicle_self_no(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(12), + data.vehicle_type_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), + data.supplier_identity_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(14), + data.supplier_identity_name(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(15), + data.supplier_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(16), + data.supplier_name(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(17), + data.goods_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(18), + data.goods_name(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(19), + data.unit_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(20), + data.transport_company_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(21), + data.sample_type(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(22), + data.unloading_point_name(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(23), + data.ship_gross_weight(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(24), + data.ship_tare_weight(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(25), + data.ship_net_weight(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(26), + data.sample_machine_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(27), + data.vehicle_lane(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(28), + data.vehicle_lane_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(29), + data.strategy_desc(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(30), + data.committed_at(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(31), + data.display_text(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(32), + data.print_content(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(33), + data.print_required(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(34), + data.print_count(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(35), + data.voice_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(36), + data.voice_text(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(37), + data.is_reprint(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(38), + data.physical_card_state(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(39), + data.card_write_status(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueSuccess& data) +{ + using namespace Queue; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.message_id() + << eprosima::fastcdr::MemberId(1) << data.card_number() + << eprosima::fastcdr::MemberId(2) << data.device_id() + << eprosima::fastcdr::MemberId(3) << data.result_code() + << eprosima::fastcdr::MemberId(4) << data.queue_record_id() + << eprosima::fastcdr::MemberId(5) << data.queue_number() + << eprosima::fastcdr::MemberId(6) << data.sample_machine() + << eprosima::fastcdr::MemberId(7) << data.queue_time() + << eprosima::fastcdr::MemberId(8) << data.ticket_number() + << eprosima::fastcdr::MemberId(9) << data.sample_code() + << eprosima::fastcdr::MemberId(10) << data.vehicle_number() + << eprosima::fastcdr::MemberId(11) << data.vehicle_self_no() + << eprosima::fastcdr::MemberId(12) << data.vehicle_type_id() + << eprosima::fastcdr::MemberId(13) << data.supplier_identity_id() + << eprosima::fastcdr::MemberId(14) << data.supplier_identity_name() + << eprosima::fastcdr::MemberId(15) << data.supplier_id() + << eprosima::fastcdr::MemberId(16) << data.supplier_name() + << eprosima::fastcdr::MemberId(17) << data.goods_id() + << eprosima::fastcdr::MemberId(18) << data.goods_name() + << eprosima::fastcdr::MemberId(19) << data.unit_id() + << eprosima::fastcdr::MemberId(20) << data.transport_company_id() + << eprosima::fastcdr::MemberId(21) << data.sample_type() + << eprosima::fastcdr::MemberId(22) << data.unloading_point_name() + << eprosima::fastcdr::MemberId(23) << data.ship_gross_weight() + << eprosima::fastcdr::MemberId(24) << data.ship_tare_weight() + << eprosima::fastcdr::MemberId(25) << data.ship_net_weight() + << eprosima::fastcdr::MemberId(26) << data.sample_machine_id() + << eprosima::fastcdr::MemberId(27) << data.vehicle_lane() + << eprosima::fastcdr::MemberId(28) << data.vehicle_lane_id() + << eprosima::fastcdr::MemberId(29) << data.strategy_desc() + << eprosima::fastcdr::MemberId(30) << data.committed_at() + << eprosima::fastcdr::MemberId(31) << data.display_text() + << eprosima::fastcdr::MemberId(32) << data.print_content() + << eprosima::fastcdr::MemberId(33) << data.print_required() + << eprosima::fastcdr::MemberId(34) << data.print_count() + << eprosima::fastcdr::MemberId(35) << data.voice_id() + << eprosima::fastcdr::MemberId(36) << data.voice_text() + << eprosima::fastcdr::MemberId(37) << data.is_reprint() + << eprosima::fastcdr::MemberId(38) << data.physical_card_state() + << eprosima::fastcdr::MemberId(39) << data.card_write_status() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + Queue::QueueSuccess& data) +{ + using namespace Queue; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.message_id(); + break; + + case 1: + dcdr >> data.card_number(); + break; + + case 2: + dcdr >> data.device_id(); + break; + + case 3: + dcdr >> data.result_code(); + break; + + case 4: + dcdr >> data.queue_record_id(); + break; + + case 5: + dcdr >> data.queue_number(); + break; + + case 6: + dcdr >> data.sample_machine(); + break; + + case 7: + dcdr >> data.queue_time(); + break; + + case 8: + dcdr >> data.ticket_number(); + break; + + case 9: + dcdr >> data.sample_code(); + break; + + case 10: + dcdr >> data.vehicle_number(); + break; + + case 11: + dcdr >> data.vehicle_self_no(); + break; + + case 12: + dcdr >> data.vehicle_type_id(); + break; + + case 13: + dcdr >> data.supplier_identity_id(); + break; + + case 14: + dcdr >> data.supplier_identity_name(); + break; + + case 15: + dcdr >> data.supplier_id(); + break; + + case 16: + dcdr >> data.supplier_name(); + break; + + case 17: + dcdr >> data.goods_id(); + break; + + case 18: + dcdr >> data.goods_name(); + break; + + case 19: + dcdr >> data.unit_id(); + break; + + case 20: + dcdr >> data.transport_company_id(); + break; + + case 21: + dcdr >> data.sample_type(); + break; + + case 22: + dcdr >> data.unloading_point_name(); + break; + + case 23: + dcdr >> data.ship_gross_weight(); + break; + + case 24: + dcdr >> data.ship_tare_weight(); + break; + + case 25: + dcdr >> data.ship_net_weight(); + break; + + case 26: + dcdr >> data.sample_machine_id(); + break; + + case 27: + dcdr >> data.vehicle_lane(); + break; + + case 28: + dcdr >> data.vehicle_lane_id(); + break; + + case 29: + dcdr >> data.strategy_desc(); + break; + + case 30: + dcdr >> data.committed_at(); + break; + + case 31: + dcdr >> data.display_text(); + break; + + case 32: + dcdr >> data.print_content(); + break; + + case 33: + dcdr >> data.print_required(); + break; + + case 34: + dcdr >> data.print_count(); + break; + + case 35: + dcdr >> data.voice_id(); + break; + + case 36: + dcdr >> data.voice_text(); + break; + + case 37: + dcdr >> data.is_reprint(); + break; + + case 38: + dcdr >> data.physical_card_state(); + break; + + case 39: + dcdr >> data.card_write_status(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueSuccess& data) +{ + using namespace Queue; + + static_cast(scdr); + static_cast(data); + scdr << data.message_id(); + + scdr << data.card_number(); + + scdr << data.device_id(); + + scdr << data.result_code(); + + scdr << data.queue_record_id(); + + scdr << data.queue_number(); + + scdr << data.sample_machine(); + + scdr << data.queue_time(); + + scdr << data.ticket_number(); + + scdr << data.sample_code(); + + scdr << data.vehicle_number(); + + scdr << data.vehicle_self_no(); + + scdr << data.vehicle_type_id(); + + scdr << data.supplier_identity_id(); + + scdr << data.supplier_identity_name(); + + scdr << data.supplier_id(); + + scdr << data.supplier_name(); + + scdr << data.goods_id(); + + scdr << data.goods_name(); + + scdr << data.unit_id(); + + scdr << data.transport_company_id(); + + scdr << data.sample_type(); + + scdr << data.unloading_point_name(); + + scdr << data.ship_gross_weight(); + + scdr << data.ship_tare_weight(); + + scdr << data.ship_net_weight(); + + scdr << data.sample_machine_id(); + + scdr << data.vehicle_lane(); + + scdr << data.vehicle_lane_id(); + + scdr << data.strategy_desc(); + + scdr << data.committed_at(); + + scdr << data.display_text(); + + scdr << data.print_content(); + + scdr << data.print_required(); + + scdr << data.print_count(); + + scdr << data.voice_id(); + + scdr << data.voice_text(); + + scdr << data.is_reprint(); + + scdr << data.physical_card_state(); + + scdr << data.card_write_status(); + +} + + +template<> +eProsima_user_DllExport size_t calculate_serialized_size( + eprosima::fastcdr::CdrSizeCalculator& calculator, + const Queue::QueueFailure& data, + size_t& current_alignment) +{ + using namespace Queue; + + static_cast(data); + + eprosima::fastcdr::EncodingAlgorithmFlag previous_encoding = calculator.get_encoding(); + size_t calculated_size {calculator.begin_calculate_type_serialized_size( + eprosima::fastcdr::CdrVersion::XCDRv2 == calculator.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + current_alignment)}; + + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(0), + data.message_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(1), + data.card_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(2), + data.device_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(3), + data.error_code(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(4), + data.failed_step(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(5), + data.message(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(6), + data.vehicle_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(7), + data.queue_record_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(8), + data.queue_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(9), + data.sample_machine(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(10), + data.ticket_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(11), + data.existing_queue_record_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(12), + data.existing_queue_number(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(13), + data.existing_sample_machine(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(14), + data.cache_state(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(15), + data.database_state(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(16), + data.physical_card_state(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(17), + data.retryable(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(18), + data.retry_after_ms(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(19), + data.voice_id(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(20), + data.voice_text(), current_alignment); + + calculated_size += calculator.calculate_member_serialized_size(eprosima::fastcdr::MemberId(21), + data.card_write_status(), current_alignment); + + + calculated_size += calculator.end_calculate_type_serialized_size(previous_encoding, current_alignment); + + return calculated_size; +} + +template<> +eProsima_user_DllExport void serialize( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueFailure& data) +{ + using namespace Queue; + + eprosima::fastcdr::Cdr::state current_state(scdr); + scdr.begin_serialize_type(current_state, + eprosima::fastcdr::CdrVersion::XCDRv2 == scdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR); + + scdr + << eprosima::fastcdr::MemberId(0) << data.message_id() + << eprosima::fastcdr::MemberId(1) << data.card_number() + << eprosima::fastcdr::MemberId(2) << data.device_id() + << eprosima::fastcdr::MemberId(3) << data.error_code() + << eprosima::fastcdr::MemberId(4) << data.failed_step() + << eprosima::fastcdr::MemberId(5) << data.message() + << eprosima::fastcdr::MemberId(6) << data.vehicle_number() + << eprosima::fastcdr::MemberId(7) << data.queue_record_id() + << eprosima::fastcdr::MemberId(8) << data.queue_number() + << eprosima::fastcdr::MemberId(9) << data.sample_machine() + << eprosima::fastcdr::MemberId(10) << data.ticket_number() + << eprosima::fastcdr::MemberId(11) << data.existing_queue_record_id() + << eprosima::fastcdr::MemberId(12) << data.existing_queue_number() + << eprosima::fastcdr::MemberId(13) << data.existing_sample_machine() + << eprosima::fastcdr::MemberId(14) << data.cache_state() + << eprosima::fastcdr::MemberId(15) << data.database_state() + << eprosima::fastcdr::MemberId(16) << data.physical_card_state() + << eprosima::fastcdr::MemberId(17) << data.retryable() + << eprosima::fastcdr::MemberId(18) << data.retry_after_ms() + << eprosima::fastcdr::MemberId(19) << data.voice_id() + << eprosima::fastcdr::MemberId(20) << data.voice_text() + << eprosima::fastcdr::MemberId(21) << data.card_write_status() +; + scdr.end_serialize_type(current_state); +} + +template<> +eProsima_user_DllExport void deserialize( + eprosima::fastcdr::Cdr& cdr, + Queue::QueueFailure& data) +{ + using namespace Queue; + + cdr.deserialize_type(eprosima::fastcdr::CdrVersion::XCDRv2 == cdr.get_cdr_version() ? + eprosima::fastcdr::EncodingAlgorithmFlag::DELIMIT_CDR2 : + eprosima::fastcdr::EncodingAlgorithmFlag::PLAIN_CDR, + [&data](eprosima::fastcdr::Cdr& dcdr, const eprosima::fastcdr::MemberId& mid) -> bool + { + bool ret_value = true; + switch (mid.id) + { + case 0: + dcdr >> data.message_id(); + break; + + case 1: + dcdr >> data.card_number(); + break; + + case 2: + dcdr >> data.device_id(); + break; + + case 3: + dcdr >> data.error_code(); + break; + + case 4: + dcdr >> data.failed_step(); + break; + + case 5: + dcdr >> data.message(); + break; + + case 6: + dcdr >> data.vehicle_number(); + break; + + case 7: + dcdr >> data.queue_record_id(); + break; + + case 8: + dcdr >> data.queue_number(); + break; + + case 9: + dcdr >> data.sample_machine(); + break; + + case 10: + dcdr >> data.ticket_number(); + break; + + case 11: + dcdr >> data.existing_queue_record_id(); + break; + + case 12: + dcdr >> data.existing_queue_number(); + break; + + case 13: + dcdr >> data.existing_sample_machine(); + break; + + case 14: + dcdr >> data.cache_state(); + break; + + case 15: + dcdr >> data.database_state(); + break; + + case 16: + dcdr >> data.physical_card_state(); + break; + + case 17: + dcdr >> data.retryable(); + break; + + case 18: + dcdr >> data.retry_after_ms(); + break; + + case 19: + dcdr >> data.voice_id(); + break; + + case 20: + dcdr >> data.voice_text(); + break; + + case 21: + dcdr >> data.card_write_status(); + break; + + default: + ret_value = false; + break; + } + return ret_value; + }); +} + +void serialize_key( + eprosima::fastcdr::Cdr& scdr, + const Queue::QueueFailure& data) +{ + using namespace Queue; + + static_cast(scdr); + static_cast(data); + scdr << data.message_id(); + + scdr << data.card_number(); + + scdr << data.device_id(); + + scdr << data.error_code(); + + scdr << data.failed_step(); + + scdr << data.message(); + + scdr << data.vehicle_number(); + + scdr << data.queue_record_id(); + + scdr << data.queue_number(); + + scdr << data.sample_machine(); + + scdr << data.ticket_number(); + + scdr << data.existing_queue_record_id(); + + scdr << data.existing_queue_number(); + + scdr << data.existing_sample_machine(); + + scdr << data.cache_state(); + + scdr << data.database_state(); + + scdr << data.physical_card_state(); + + scdr << data.retryable(); + + scdr << data.retry_after_ms(); + + scdr << data.voice_id(); + + scdr << data.voice_text(); + + scdr << data.card_write_status(); + +} + + + +} // namespace fastcdr +} // namespace eprosima + +#endif // FAST_DDS_GENERATED__QUEUE_WEIGHINGDDSTYPECDRAUX_IPP +