USRP Hardware Driver and USRP Manual Version: 4.1.0.1
UHD and USRP Manual
container.hpp
Go to the documentation of this file.
1//
2// Copyright 2020 Ettus Research, a National Instruments Brand
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#pragma once
8
9#include <uhd/config.hpp>
10#include <stdint.h>
11#include <memory>
12#include <vector>
13#include <string>
14
15namespace uhd { namespace usrp { namespace cal {
16
23{
24public:
25 virtual ~container() = default;
26
28 virtual std::string get_name() const = 0;
29
31 virtual std::string get_serial() const = 0;
32
34 virtual uint64_t get_timestamp() const = 0;
35
37 virtual std::vector<uint8_t> serialize() = 0;
38
40 virtual void deserialize(const std::vector<uint8_t>& data) = 0;
41
43 //
44 // \tparam container_type The class type of cal data which should be
45 // generated from \p data
46 // \param data The serialized data to be turned into the cal class
47 template <typename container_type>
48 static std::shared_ptr<container_type> make(const std::vector<uint8_t>& data)
49 {
50 auto cal_data = container_type::make();
51 cal_data->deserialize(data);
52 return cal_data;
53 }
54};
55
56}}} // namespace uhd::usrp::cal
Definition: container.hpp:23
virtual ~container()=default
static std::shared_ptr< container_type > make(const std::vector< uint8_t > &data)
Generic factory for cal data from serialized data.
Definition: container.hpp:48
virtual std::string get_name() const =0
Return the name of this calibration table.
virtual uint64_t get_timestamp() const =0
Timestamp of acquisition time.
virtual void deserialize(const std::vector< uint8_t > &data)=0
Populate this class from the serialized data.
virtual std::vector< uint8_t > serialize()=0
Return a serialized version of this container.
virtual std::string get_serial() const =0
Return the device serial of this calibration table.
#define UHD_API
Definition: config.h:70
Definition: build_info.hpp:12