| 33 | } |
| 34 | |
| 35 | void release_service_command::deserialize(const std::vector<byte_t>& _buffer, error_e& _error) { |
| 36 | |
| 37 | size_t its_size(COMMAND_HEADER_SIZE + sizeof(service::service_) + sizeof(service::instance_)); |
| 38 | |
| 39 | if (its_size > _buffer.size()) { |
| 40 | |
| 41 | _error = error_e::ERROR_NOT_ENOUGH_BYTES; |
| 42 | return; |
| 43 | } |
| 44 | |
| 45 | // deserialize header |
| 46 | command::deserialize(_buffer, _error); |
| 47 | if (_error != error_e::ERROR_OK) |
| 48 | return; |
| 49 | |
| 50 | // deserialize payload |
| 51 | size_t its_offset(COMMAND_POSITION_PAYLOAD); |
| 52 | std::memcpy(&service_.service_, &_buffer[its_offset], sizeof(service_.service_)); |
| 53 | its_offset += sizeof(service_.service_); |
| 54 | std::memcpy(&service_.instance_, &_buffer[its_offset], sizeof(service_.instance_)); |
| 55 | } |
| 56 | |
| 57 | service_t release_service_command::get_service() const { |
| 58 |
nothing calls this directly
no test coverage detected