int IGTLinkImageMessage::Pack() { PackBody(); igtl::MessageBase::m_IsBodyUnpacked = 0; // pack header igtl_header* h = (igtl_header*) igtl::MessageBase::m_Header; //igtl_uint64 crc = crc64(0, 0, 0LL); // initial crc //SKIPPING CRC h->version = IGTL_HEADER_VERSION; igtl_uint64 ts = igtl::MessageBase::m_TimeStampSec & 0xFFFFFFFF; ts = (ts << 32) | (igtl::MessageBase::m_TimeStampSecFraction & 0xFFFFFFFF); h->timestamp = ts; h->body_size = GetBodyPackSize(); //h->crc = crc64((unsigned char*)igtl::MessageBase::m_Body, GetBodyPackSize(), crc); //SKIPPING CRC h->crc = 0; strncpy(h->name, igtl::MessageBase::m_DefaultBodyType.c_str(), 12); // TODO: this does not allow creating pack with MessageBase class... strncpy(h->device_name, igtl::MessageBase::m_DeviceName.c_str(), 20); igtl_header_convert_byte_order(h); igtl::MessageBase::m_IsHeaderUnpacked = 0; return 1; }
void MsgBusPackPBType::PackData(char *data, size_t len) { if( (len != 0) && (len < Size())) throw; char *p = data; body_len = Size() - MsgBusPackHead::Size(); PackHead(p); p += MsgBusPackHead::Size(); PackBody(p); }
void MsgBusGetClientRsp::PackData(char *data, size_t len) { if( (len != 0) && (len < Size())) throw; char *p = data; body_len = Size() - MsgBusPackHeadRsp::Size(); PackRspHead(p); p += MsgBusPackHeadRsp::Size(); PackBody(p); }
void MsgBusConfirmAliveReq::PackData(char *data, size_t len) { if( (len != 0) && (len < Size())) throw; char *p = data; body_len = Size() - MsgBusPackHeadReq::Size(); PackReqHead(p); p += MsgBusPackHeadReq::Size(); PackBody(p); }