aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/include/uhd/convert.hpp4
-rw-r--r--host/include/uhd/device.hpp1
-rw-r--r--host/include/uhd/property_tree.hpp11
-rw-r--r--host/include/uhd/property_tree.ipp6
-rw-r--r--host/include/uhd/transport/buffer_pool.hpp4
-rw-r--r--host/include/uhd/transport/tcp_zero_copy.hpp4
-rw-r--r--host/include/uhd/transport/udp_simple.hpp4
-rw-r--r--host/include/uhd/transport/usb_control.hpp4
-rw-r--r--host/include/uhd/usrp/gps_ctrl.hpp4
-rw-r--r--host/include/uhd/usrp/multi_usrp.hpp4
-rw-r--r--host/include/uhd/utils/gain_group.hpp4
-rw-r--r--host/include/uhd/utils/msg_task.hpp2
-rw-r--r--host/lib/convert/convert_impl.cpp4
-rw-r--r--host/lib/device.cpp4
-rw-r--r--host/lib/property_tree.cpp6
-rw-r--r--host/lib/transport/buffer_pool.cpp6
-rw-r--r--host/lib/transport/libusb1_base.cpp26
-rw-r--r--host/lib/transport/libusb1_base.hpp14
-rw-r--r--host/lib/transport/libusb1_control.cpp6
-rw-r--r--host/lib/transport/tcp_zero_copy.cpp6
-rw-r--r--host/lib/transport/udp_simple.cpp6
-rw-r--r--host/lib/usrp/b100/clock_ctrl.cpp6
-rw-r--r--host/lib/usrp/b100/clock_ctrl.hpp7
-rw-r--r--host/lib/usrp/b100/codec_ctrl.cpp6
-rw-r--r--host/lib/usrp/b100/codec_ctrl.hpp6
-rw-r--r--host/lib/usrp/common/ad9361_ctrl.cpp15
-rw-r--r--host/lib/usrp/common/ad9361_ctrl.hpp17
-rw-r--r--host/lib/usrp/common/recv_packet_demuxer.cpp6
-rw-r--r--host/lib/usrp/common/recv_packet_demuxer.hpp4
-rw-r--r--host/lib/usrp/cores/gpio_core_200.cpp10
-rw-r--r--host/lib/usrp/cores/gpio_core_200.hpp6
-rw-r--r--host/lib/usrp/cores/i2c_core_100.cpp6
-rw-r--r--host/lib/usrp/cores/i2c_core_100.hpp4
-rw-r--r--host/lib/usrp/cores/i2c_core_100_wb32.cpp6
-rw-r--r--host/lib/usrp/cores/i2c_core_100_wb32.hpp4
-rw-r--r--host/lib/usrp/cores/i2c_core_200.cpp6
-rw-r--r--host/lib/usrp/cores/i2c_core_200.hpp4
-rw-r--r--host/lib/usrp/cores/radio_ctrl_core_3000.cpp6
-rw-r--r--host/lib/usrp/cores/radio_ctrl_core_3000.hpp4
-rw-r--r--host/lib/usrp/cores/rx_dsp_core_200.cpp6
-rw-r--r--host/lib/usrp/cores/rx_dsp_core_200.hpp4
-rw-r--r--host/lib/usrp/cores/rx_dsp_core_3000.cpp4
-rw-r--r--host/lib/usrp/cores/rx_dsp_core_3000.hpp2
-rw-r--r--host/lib/usrp/cores/rx_frontend_core_200.cpp5
-rw-r--r--host/lib/usrp/cores/rx_frontend_core_200.hpp4
-rw-r--r--host/lib/usrp/cores/rx_vita_core_3000.cpp6
-rw-r--r--host/lib/usrp/cores/rx_vita_core_3000.hpp4
-rw-r--r--host/lib/usrp/cores/spi_core_100.cpp6
-rw-r--r--host/lib/usrp/cores/spi_core_100.hpp4
-rw-r--r--host/lib/usrp/cores/spi_core_3000.cpp6
-rw-r--r--host/lib/usrp/cores/spi_core_3000.hpp4
-rw-r--r--host/lib/usrp/cores/time64_core_200.cpp6
-rw-r--r--host/lib/usrp/cores/time64_core_200.hpp4
-rw-r--r--host/lib/usrp/cores/time_core_3000.cpp6
-rw-r--r--host/lib/usrp/cores/time_core_3000.hpp4
-rw-r--r--host/lib/usrp/cores/tx_dsp_core_200.cpp6
-rw-r--r--host/lib/usrp/cores/tx_dsp_core_200.hpp4
-rw-r--r--host/lib/usrp/cores/tx_dsp_core_3000.cpp6
-rw-r--r--host/lib/usrp/cores/tx_dsp_core_3000.hpp4
-rw-r--r--host/lib/usrp/cores/tx_frontend_core_200.cpp5
-rw-r--r--host/lib/usrp/cores/tx_frontend_core_200.hpp4
-rw-r--r--host/lib/usrp/cores/tx_vita_core_3000.cpp6
-rw-r--r--host/lib/usrp/cores/tx_vita_core_3000.hpp4
-rw-r--r--host/lib/usrp/cores/user_settings_core_200.cpp6
-rw-r--r--host/lib/usrp/cores/user_settings_core_200.hpp4
-rw-r--r--host/lib/usrp/dboard/db_sbx_common.hpp6
-rw-r--r--host/lib/usrp/dboard/db_wbx_common.hpp4
-rw-r--r--host/lib/usrp/gps_ctrl.cpp4
-rw-r--r--host/lib/usrp/multi_usrp.cpp4
-rw-r--r--host/lib/usrp/usrp1/codec_ctrl.cpp6
-rw-r--r--host/lib/usrp/usrp1/codec_ctrl.hpp4
-rw-r--r--host/lib/usrp/usrp1/soft_time_ctrl.cpp6
-rw-r--r--host/lib/usrp/usrp1/soft_time_ctrl.hpp4
-rw-r--r--host/lib/usrp/usrp2/clock_ctrl.cpp6
-rw-r--r--host/lib/usrp/usrp2/clock_ctrl.hpp4
-rw-r--r--host/lib/usrp/usrp2/codec_ctrl.cpp6
-rw-r--r--host/lib/usrp/usrp2/codec_ctrl.hpp4
-rw-r--r--host/lib/usrp/x300/x300_adc_ctrl.cpp6
-rw-r--r--host/lib/usrp/x300/x300_adc_ctrl.hpp4
-rw-r--r--host/lib/usrp/x300/x300_clock_ctrl.cpp4
-rw-r--r--host/lib/usrp/x300/x300_clock_ctrl.hpp2
-rw-r--r--host/lib/usrp/x300/x300_dac_ctrl.cpp6
-rw-r--r--host/lib/usrp/x300/x300_dac_ctrl.hpp4
-rw-r--r--host/lib/utils/gain_group.cpp6
-rw-r--r--host/lib/utils/tasks.cpp6
85 files changed, 392 insertions, 81 deletions
diff --git a/host/include/uhd/convert.hpp b/host/include/uhd/convert.hpp
index c6b005867..6ac93fb66 100644
--- a/host/include/uhd/convert.hpp
+++ b/host/include/uhd/convert.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -34,6 +34,8 @@ namespace uhd{ namespace convert{
typedef uhd::ref_vector<void *> output_type;
typedef uhd::ref_vector<const void *> input_type;
+ virtual ~converter(void) = 0;
+
//! Set the scale factor (used in floating point conversions)
virtual void set_scalar(const double) = 0;
diff --git a/host/include/uhd/device.hpp b/host/include/uhd/device.hpp
index 5b4a2fe07..1e88a4138 100644
--- a/host/include/uhd/device.hpp
+++ b/host/include/uhd/device.hpp
@@ -48,6 +48,7 @@ public:
USRP,
CLOCK
};
+ virtual ~device(void) = 0;
/*!
* Register a device into the discovery and factory system.
diff --git a/host/include/uhd/property_tree.hpp b/host/include/uhd/property_tree.hpp
index f889ba235..b4531698d 100644
--- a/host/include/uhd/property_tree.hpp
+++ b/host/include/uhd/property_tree.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -36,6 +36,8 @@ public:
typedef boost::function<T(void)> publisher_type;
typedef boost::function<T(const T &)> coercer_type;
+ virtual ~property<T>(void) = 0;
+
/*!
* Register a coercer into the property.
* A coercer is a special subscriber that coerces the value.
@@ -97,6 +99,11 @@ public:
virtual bool empty(void) const = 0;
};
+template <typename T>
+property<T>::~property(void){
+ /* NOP */
+}
+
/*!
* FS Path: A glorified string with path manipulations.
* Inspired by boost filesystem path, but without the dependency.
@@ -121,6 +128,8 @@ class UHD_API property_tree : boost::noncopyable{
public:
typedef boost::shared_ptr<property_tree> sptr;
+ virtual ~property_tree(void) = 0;
+
//! Create a new + empty property tree
static sptr make(void);
diff --git a/host/include/uhd/property_tree.ipp b/host/include/uhd/property_tree.ipp
index 85720dc6b..93962c963 100644
--- a/host/include/uhd/property_tree.ipp
+++ b/host/include/uhd/property_tree.ipp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -30,6 +30,10 @@ namespace uhd{ namespace /*anon*/{
template <typename T> class property_impl : public property<T>{
public:
+ ~property_impl<T>(void){
+ /* NOP */
+ }
+
property<T> &coerce(const typename property<T>::coercer_type &coercer){
_coercer = coercer;
return *this;
diff --git a/host/include/uhd/transport/buffer_pool.hpp b/host/include/uhd/transport/buffer_pool.hpp
index 84a338097..cd2f7d1f5 100644
--- a/host/include/uhd/transport/buffer_pool.hpp
+++ b/host/include/uhd/transport/buffer_pool.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -33,6 +33,8 @@ namespace uhd{ namespace transport{
typedef boost::shared_ptr<buffer_pool> sptr;
typedef void * ptr_type;
+ virtual ~buffer_pool(void) = 0;
+
/*!
* Make a new buffer pool.
* \param num_buffs the number of buffers to allocate
diff --git a/host/include/uhd/transport/tcp_zero_copy.hpp b/host/include/uhd/transport/tcp_zero_copy.hpp
index a9878a396..52e94fab9 100644
--- a/host/include/uhd/transport/tcp_zero_copy.hpp
+++ b/host/include/uhd/transport/tcp_zero_copy.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -32,6 +32,8 @@ namespace uhd{ namespace transport{
*/
struct UHD_API tcp_zero_copy : public virtual zero_copy_if
{
+ virtual ~tcp_zero_copy(void) = 0;
+
/*!
* Make a new zero copy TCP transport:
* This transport is for sending and receiving
diff --git a/host/include/uhd/transport/udp_simple.hpp b/host/include/uhd/transport/udp_simple.hpp
index ead3ad4b7..c159a95e3 100644
--- a/host/include/uhd/transport/udp_simple.hpp
+++ b/host/include/uhd/transport/udp_simple.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010 Ettus Research LLC
+// Copyright 2010,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -30,6 +30,8 @@ class UHD_API udp_simple : boost::noncopyable{
public:
typedef boost::shared_ptr<udp_simple> sptr;
+ virtual ~udp_simple(void) = 0;
+
//! The maximum number of bytes per udp packet.
static const size_t mtu = 1500 - 20 - 8; //default ipv4 mtu - ipv4 header - udp header
diff --git a/host/include/uhd/transport/usb_control.hpp b/host/include/uhd/transport/usb_control.hpp
index 92b10f339..624e537ef 100644
--- a/host/include/uhd/transport/usb_control.hpp
+++ b/host/include/uhd/transport/usb_control.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -26,6 +26,8 @@ class UHD_API usb_control : boost::noncopyable {
public:
typedef boost::shared_ptr<usb_control> sptr;
+ virtual ~usb_control(void) = 0;
+
/*!
* Create a new usb control transport:
* This transport is for sending and receiving control information from
diff --git a/host/include/uhd/usrp/gps_ctrl.hpp b/host/include/uhd/usrp/gps_ctrl.hpp
index bbccac8bb..6fda04f21 100644
--- a/host/include/uhd/usrp/gps_ctrl.hpp
+++ b/host/include/uhd/usrp/gps_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2011 Ettus Research LLC
+// Copyright 2010-2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -31,6 +31,8 @@ class UHD_API gps_ctrl : boost::noncopyable{
public:
typedef boost::shared_ptr<gps_ctrl> sptr;
+ virtual ~gps_ctrl(void) = 0;
+
/*!
* Make a GPS config for internal GPSDOs or generic NMEA GPS devices
*/
diff --git a/host/include/uhd/usrp/multi_usrp.hpp b/host/include/uhd/usrp/multi_usrp.hpp
index 883e4da3d..4c52b4506 100644
--- a/host/include/uhd/usrp/multi_usrp.hpp
+++ b/host/include/uhd/usrp/multi_usrp.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -95,6 +95,8 @@ class UHD_API multi_usrp : boost::noncopyable{
public:
typedef boost::shared_ptr<multi_usrp> sptr;
+ virtual ~multi_usrp(void) = 0;
+
//! A wildcard motherboard index
static const size_t ALL_MBOARDS = size_t(~0);
diff --git a/host/include/uhd/utils/gain_group.hpp b/host/include/uhd/utils/gain_group.hpp
index 7ef7bdcf5..56acce049 100644
--- a/host/include/uhd/utils/gain_group.hpp
+++ b/host/include/uhd/utils/gain_group.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2011 Ettus Research LLC
+// Copyright 2010-2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -41,6 +41,8 @@ class UHD_API gain_group : boost::noncopyable{
public:
typedef boost::shared_ptr<gain_group> sptr;
+ virtual ~gain_group(void) = 0;
+
/*!
* Get the gain range for the gain element specified by name.
* For an empty name, get the overall gain range for this group.
diff --git a/host/include/uhd/utils/msg_task.hpp b/host/include/uhd/utils/msg_task.hpp
index 21c47a240..d46fdd69e 100644
--- a/host/include/uhd/utils/msg_task.hpp
+++ b/host/include/uhd/utils/msg_task.hpp
@@ -51,6 +51,8 @@ namespace uhd{
return std::vector<boost::uint8_t>();
}
+ virtual ~msg_task(void) = 0;
+
/*!
* Create a new task object with function callback.
* The task function callback will be run in a loop.
diff --git a/host/lib/convert/convert_impl.cpp b/host/lib/convert/convert_impl.cpp
index caab3929e..329e94a4d 100644
--- a/host/lib/convert/convert_impl.cpp
+++ b/host/lib/convert/convert_impl.cpp
@@ -27,6 +27,10 @@
using namespace uhd;
+convert::converter::~converter(void){
+ /* NOP */
+}
+
bool convert::operator==(const convert::id_type &lhs, const convert::id_type &rhs){
return true
and (lhs.input_format == rhs.input_format)
diff --git a/host/lib/device.cpp b/host/lib/device.cpp
index bd7bf5637..453781510 100644
--- a/host/lib/device.cpp
+++ b/host/lib/device.cpp
@@ -71,6 +71,10 @@ void device::register_device(
get_dev_fcn_regs().push_back(dev_fcn_reg_t(find, make, filter));
}
+device::~device(void){
+ /* NOP */
+}
+
/***********************************************************************
* Discover
**********************************************************************/
diff --git a/host/lib/property_tree.cpp b/host/lib/property_tree.cpp
index 50e82a6ba..0f4cbc025 100644
--- a/host/lib/property_tree.cpp
+++ b/host/lib/property_tree.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -173,6 +173,10 @@ private:
const fs_path _root;
};
+property_tree::~property_tree(void){
+ /* NOP */
+}
+
/***********************************************************************
* Property tree factory
**********************************************************************/
diff --git a/host/lib/transport/buffer_pool.cpp b/host/lib/transport/buffer_pool.cpp
index 0fcebecb1..47e30ee44 100644
--- a/host/lib/transport/buffer_pool.cpp
+++ b/host/lib/transport/buffer_pool.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -36,6 +36,10 @@ static size_t pad_to_boundary(const size_t bytes, const size_t alignment){
return bytes + (alignment - bytes)%alignment;
}
+buffer_pool::~buffer_pool(void){
+ /* NOP */
+}
+
/***********************************************************************
* Buffer pool implementation
**********************************************************************/
diff --git a/host/lib/transport/libusb1_base.cpp b/host/lib/transport/libusb1_base.cpp
index 23117f128..ee4e20adb 100644
--- a/host/lib/transport/libusb1_base.cpp
+++ b/host/lib/transport/libusb1_base.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -35,6 +35,10 @@ using namespace uhd::transport;
/***********************************************************************
* libusb session
**********************************************************************/
+libusb::session::~session(void) {
+ /* NOP */
+}
+
class libusb_session_impl : public libusb::session{
public:
libusb_session_impl(void){
@@ -95,6 +99,10 @@ libusb::session::sptr libusb::session::get_global_session(void){
/***********************************************************************
* libusb device
**********************************************************************/
+libusb::device::~device(void) {
+ /* NOP */
+}
+
class libusb_device_impl : public libusb::device{
public:
libusb_device_impl(libusb_device *dev){
@@ -118,6 +126,10 @@ private:
/***********************************************************************
* libusb device list
**********************************************************************/
+libusb::device_list::~device_list(void){
+ /* NOP */
+}
+
class libusb_device_list_impl : public libusb::device_list{
public:
libusb_device_list_impl(void){
@@ -156,6 +168,10 @@ libusb::device_list::sptr libusb::device_list::make(void){
/***********************************************************************
* libusb device descriptor
**********************************************************************/
+libusb::device_descriptor::~device_descriptor(void){
+ /* NOP */
+}
+
class libusb_device_descriptor_impl : public libusb::device_descriptor{
public:
libusb_device_descriptor_impl(libusb::device::sptr dev){
@@ -207,6 +223,10 @@ libusb::device_descriptor::sptr libusb::device_descriptor::make(device::sptr dev
/***********************************************************************
* libusb device handle
**********************************************************************/
+libusb::device_handle::~device_handle(void){
+ /* NOP */
+}
+
class libusb_device_handle_impl : public libusb::device_handle{
public:
libusb_device_handle_impl(libusb::device::sptr dev){
@@ -271,6 +291,10 @@ libusb::device_handle::sptr libusb::device_handle::get_cached_handle(device::spt
/***********************************************************************
* libusb special handle
**********************************************************************/
+libusb::special_handle::~special_handle(void){
+ /* NOP */
+}
+
class libusb_special_handle_impl : public libusb::special_handle{
public:
libusb_special_handle_impl(libusb::device::sptr dev){
diff --git a/host/lib/transport/libusb1_base.hpp b/host/lib/transport/libusb1_base.hpp
index 7dab07fda..b00946614 100644
--- a/host/lib/transport/libusb1_base.hpp
+++ b/host/lib/transport/libusb1_base.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -44,6 +44,8 @@ namespace libusb {
public:
typedef boost::shared_ptr<session> sptr;
+ virtual ~session(void) = 0;
+
/*!
* Level 0: no messages ever printed by the library (default)
* Level 1: error messages are printed to stderr
@@ -67,6 +69,8 @@ namespace libusb {
public:
typedef boost::shared_ptr<device> sptr;
+ virtual ~device(void) = 0;
+
//! get the underlying device pointer
virtual libusb_device *get(void) const = 0;
};
@@ -79,6 +83,8 @@ namespace libusb {
public:
typedef boost::shared_ptr<device_list> sptr;
+ virtual ~device_list(void) = 0;
+
//! make a new device list
static sptr make(void);
@@ -96,6 +102,8 @@ namespace libusb {
public:
typedef boost::shared_ptr<device_descriptor> sptr;
+ virtual ~device_descriptor(void) = 0;
+
//! make a new descriptor from a device reference
static sptr make(device::sptr);
@@ -112,6 +120,8 @@ namespace libusb {
public:
typedef boost::shared_ptr<device_handle> sptr;
+ virtual ~device_handle(void) = 0;
+
//! get a cached handle or make a new one given the device
static sptr get_cached_handle(device::sptr);
@@ -135,6 +145,8 @@ namespace libusb {
public:
typedef boost::shared_ptr<special_handle> sptr;
+ virtual ~special_handle(void) = 0;
+
//! make a new special handle from device
static sptr make(device::sptr);
diff --git a/host/lib/transport/libusb1_control.cpp b/host/lib/transport/libusb1_control.cpp
index c1b8fe6df..00c113163 100644
--- a/host/lib/transport/libusb1_control.cpp
+++ b/host/lib/transport/libusb1_control.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010 Ettus Research LLC
+// Copyright 2010,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -21,6 +21,10 @@
using namespace uhd::transport;
+usb_control::~usb_control(void){
+ /* NOP */
+}
+
/***********************************************************************
* libusb-1.0 implementation of USB control transport
**********************************************************************/
diff --git a/host/lib/transport/tcp_zero_copy.cpp b/host/lib/transport/tcp_zero_copy.cpp
index 402bda1e8..f2ae51695 100644
--- a/host/lib/transport/tcp_zero_copy.cpp
+++ b/host/lib/transport/tcp_zero_copy.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -116,6 +116,10 @@ private:
simple_claimer _claimer;
};
+tcp_zero_copy::~tcp_zero_copy(void){
+ /* NOP */
+}
+
/***********************************************************************
* Zero Copy TCP implementation with ASIO:
* This is the portable zero copy implementation for systems
diff --git a/host/lib/transport/udp_simple.cpp b/host/lib/transport/udp_simple.cpp
index d6c55eae7..347373c71 100644
--- a/host/lib/transport/udp_simple.cpp
+++ b/host/lib/transport/udp_simple.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2011 Ettus Research LLC
+// Copyright 2010-2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -72,6 +72,10 @@ private:
asio::ip::udp::endpoint _recv_endpoint;
};
+udp_simple::~udp_simple(void){
+ /* NOP */
+}
+
/***********************************************************************
* UDP public make functions
**********************************************************************/
diff --git a/host/lib/usrp/b100/clock_ctrl.cpp b/host/lib/usrp/b100/clock_ctrl.cpp
index cbe6c40a0..febc8ba4b 100644
--- a/host/lib/usrp/b100/clock_ctrl.cpp
+++ b/host/lib/usrp/b100/clock_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -167,6 +167,10 @@ static clock_settings_type get_clock_settings(double rate){
) % (rate/1e6)));
}
+b100_clock_ctrl::~b100_clock_ctrl(void) {
+ /* NOP */
+}
+
/***********************************************************************
* Clock Control Implementation
**********************************************************************/
diff --git a/host/lib/usrp/b100/clock_ctrl.hpp b/host/lib/usrp/b100/clock_ctrl.hpp
index 387892bf7..2ec4583d3 100644
--- a/host/lib/usrp/b100/clock_ctrl.hpp
+++ b/host/lib/usrp/b100/clock_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -24,14 +24,15 @@
#include <vector>
/*!
- * The usrp-e clock control:
- * - Setup system clocks.
+ * The B100 clock control:
* - Disable/enable clock lines.
*/
class b100_clock_ctrl : boost::noncopyable{
public:
typedef boost::shared_ptr<b100_clock_ctrl> sptr;
+ virtual ~b100_clock_ctrl(void) = 0;
+
/*!
* Make a new clock control object.
* \param iface the controller iface object
diff --git a/host/lib/usrp/b100/codec_ctrl.cpp b/host/lib/usrp/b100/codec_ctrl.cpp
index 278713ce1..04fbebded 100644
--- a/host/lib/usrp/b100/codec_ctrl.cpp
+++ b/host/lib/usrp/b100/codec_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -33,6 +33,10 @@ using namespace uhd;
const gain_range_t b100_codec_ctrl::tx_pga_gain_range(-20, 0, double(0.1));
const gain_range_t b100_codec_ctrl::rx_pga_gain_range(0, 20, 1);
+b100_codec_ctrl::~b100_codec_ctrl(void){
+ /* NOP */
+}
+
/***********************************************************************
* Codec Control Implementation
**********************************************************************/
diff --git a/host/lib/usrp/b100/codec_ctrl.hpp b/host/lib/usrp/b100/codec_ctrl.hpp
index 1f7bdef09..78e4ea827 100644
--- a/host/lib/usrp/b100/codec_ctrl.hpp
+++ b/host/lib/usrp/b100/codec_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@
#include <boost/utility.hpp>
/*!
- * The usrp-e codec control:
+ * The B100 codec control:
* - Init/power down codec.
* - Read aux adc, write aux dac.
*/
@@ -35,6 +35,8 @@ public:
static const uhd::gain_range_t tx_pga_gain_range;
static const uhd::gain_range_t rx_pga_gain_range;
+ virtual ~b100_codec_ctrl(void) = 0;
+
/*!
* Make a new codec control object.
* \param iface the usrp_e iface object
diff --git a/host/lib/usrp/common/ad9361_ctrl.cpp b/host/lib/usrp/common/ad9361_ctrl.cpp
index dea18ff06..555eace85 100644
--- a/host/lib/usrp/common/ad9361_ctrl.cpp
+++ b/host/lib/usrp/common/ad9361_ctrl.cpp
@@ -1,5 +1,18 @@
//
-// Copyright 2014 Ettus Research LLC
+// Copyright 2012-2014 Ettus Research LLC
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
#include "ad9361_ctrl.hpp"
diff --git a/host/lib/usrp/common/ad9361_ctrl.hpp b/host/lib/usrp/common/ad9361_ctrl.hpp
index f1659f30e..93d697349 100644
--- a/host/lib/usrp/common/ad9361_ctrl.hpp
+++ b/host/lib/usrp/common/ad9361_ctrl.hpp
@@ -1,5 +1,18 @@
//
-// Copyright 2014 Ettus Research LLC
+// Copyright 2012-2014 Ettus Research LLC
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
#ifndef INCLUDED_AD9361_CTRL_HPP
@@ -22,6 +35,8 @@ class ad9361_ctrl : public boost::noncopyable
public:
typedef boost::shared_ptr<ad9361_ctrl> sptr;
+ virtual ~ad9361_ctrl(void) {};
+
//! make a new codec control object
static sptr make_spi(
ad9361_params::sptr client_settings, uhd::spi_iface::sptr spi_iface, boost::uint32_t slave_num);
diff --git a/host/lib/usrp/common/recv_packet_demuxer.cpp b/host/lib/usrp/common/recv_packet_demuxer.cpp
index fe606213c..db0f71280 100644
--- a/host/lib/usrp/common/recv_packet_demuxer.cpp
+++ b/host/lib/usrp/common/recv_packet_demuxer.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -47,6 +47,10 @@ static UHD_INLINE boost::uint32_t extract_sid(managed_recv_buffer::sptr &buff){
return uhd::wtohx(buff->cast<const boost::uint32_t *>()[1]);
}
+recv_packet_demuxer::~recv_packet_demuxer(void){
+ /* NOP */
+}
+
class recv_packet_demuxer_impl : public uhd::usrp::recv_packet_demuxer{
public:
recv_packet_demuxer_impl(
diff --git a/host/lib/usrp/common/recv_packet_demuxer.hpp b/host/lib/usrp/common/recv_packet_demuxer.hpp
index fde756d27..a03f25f47 100644
--- a/host/lib/usrp/common/recv_packet_demuxer.hpp
+++ b/host/lib/usrp/common/recv_packet_demuxer.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,8 @@ namespace uhd{ namespace usrp{
public:
typedef boost::shared_ptr<recv_packet_demuxer> sptr;
+ virtual ~recv_packet_demuxer(void) = 0;
+
//! Make a new demuxer from a transport and parameters
static sptr make(transport::zero_copy_if::sptr transport, const size_t size, const boost::uint32_t sid_base);
diff --git a/host/lib/usrp/cores/gpio_core_200.cpp b/host/lib/usrp/cores/gpio_core_200.cpp
index e55f1f51e..4f1c25a0b 100644
--- a/host/lib/usrp/cores/gpio_core_200.cpp
+++ b/host/lib/usrp/cores/gpio_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -27,6 +27,10 @@
using namespace uhd;
using namespace usrp;
+gpio_core_200::~gpio_core_200(void){
+ /* NOP */
+}
+
class gpio_core_200_impl : public gpio_core_200{
public:
gpio_core_200_impl(wb_iface::sptr iface, const size_t base, const size_t rb_addr):
@@ -105,6 +109,10 @@ gpio_core_200::sptr gpio_core_200::make(wb_iface::sptr iface, const size_t base,
return sptr(new gpio_core_200_impl(iface, base, rb_addr));
}
+gpio_core_200_32wo::~gpio_core_200_32wo(void){
+ /* NOP */
+}
+
class gpio_core_200_32wo_impl : public gpio_core_200_32wo{
public:
gpio_core_200_32wo_impl(wb_iface::sptr iface, const size_t base):
diff --git a/host/lib/usrp/cores/gpio_core_200.hpp b/host/lib/usrp/cores/gpio_core_200.hpp
index 15fe5f2dd..164437f40 100644
--- a/host/lib/usrp/cores/gpio_core_200.hpp
+++ b/host/lib/usrp/cores/gpio_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -32,6 +32,8 @@ public:
typedef uhd::usrp::dboard_iface::unit_t unit_t;
typedef uhd::usrp::dboard_iface::atr_reg_t atr_reg_t;
+ virtual ~gpio_core_200(void) = 0;
+
//! makes a new GPIO core from iface and slave base
static sptr make(uhd::wb_iface::sptr iface, const size_t base, const size_t rb_addr);
@@ -56,6 +58,8 @@ public:
typedef uhd::usrp::dboard_iface::atr_reg_t atr_reg_t;
+ virtual ~gpio_core_200_32wo(void) = 0;
+
static sptr make(uhd::wb_iface::sptr iface, const size_t);
virtual void set_atr_reg(const atr_reg_t atr, const boost::uint32_t value) = 0;
diff --git a/host/lib/usrp/cores/i2c_core_100.cpp b/host/lib/usrp/cores/i2c_core_100.cpp
index 9e8a226f2..796447e0c 100644
--- a/host/lib/usrp/cores/i2c_core_100.cpp
+++ b/host/lib/usrp/cores/i2c_core_100.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -53,6 +53,10 @@
using namespace uhd;
+i2c_core_100::~i2c_core_100(void){
+ /* NOP */
+}
+
class i2c_core_100_impl : public i2c_core_100{
public:
i2c_core_100_impl(wb_iface::sptr iface, const size_t base):
diff --git a/host/lib/usrp/cores/i2c_core_100.hpp b/host/lib/usrp/cores/i2c_core_100.hpp
index 4e7a2874b..40079e79a 100644
--- a/host/lib/usrp/cores/i2c_core_100.hpp
+++ b/host/lib/usrp/cores/i2c_core_100.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -28,6 +28,8 @@ class i2c_core_100 : boost::noncopyable, public uhd::i2c_iface{
public:
typedef boost::shared_ptr<i2c_core_100> sptr;
+ virtual ~i2c_core_100(void) = 0;
+
//! makes a new i2c core from iface and slave base
static sptr make(uhd::wb_iface::sptr iface, const size_t base);
};
diff --git a/host/lib/usrp/cores/i2c_core_100_wb32.cpp b/host/lib/usrp/cores/i2c_core_100_wb32.cpp
index df6e6ff72..a85cdea42 100644
--- a/host/lib/usrp/cores/i2c_core_100_wb32.cpp
+++ b/host/lib/usrp/cores/i2c_core_100_wb32.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2013 Ettus Research LLC
+// Copyright 2011-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -53,6 +53,10 @@
using namespace uhd;
+i2c_core_100_wb32::~i2c_core_100_wb32(void){
+ /* NOP */
+}
+
class i2c_core_100_wb32_wb32_impl : public i2c_core_100_wb32{
public:
i2c_core_100_wb32_wb32_impl(wb_iface::sptr iface, const size_t base):
diff --git a/host/lib/usrp/cores/i2c_core_100_wb32.hpp b/host/lib/usrp/cores/i2c_core_100_wb32.hpp
index b5912ba9a..04fe21c68 100644
--- a/host/lib/usrp/cores/i2c_core_100_wb32.hpp
+++ b/host/lib/usrp/cores/i2c_core_100_wb32.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2013 Ettus Research LLC
+// Copyright 2011-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -28,6 +28,8 @@ class i2c_core_100_wb32 : boost::noncopyable, public uhd::i2c_iface{
public:
typedef boost::shared_ptr<i2c_core_100_wb32> sptr;
+ virtual ~i2c_core_100_wb32(void) = 0;
+
//! makes a new i2c core from iface and slave base
static sptr make(uhd::wb_iface::sptr iface, const size_t base);
diff --git a/host/lib/usrp/cores/i2c_core_200.cpp b/host/lib/usrp/cores/i2c_core_200.cpp
index 6010ac5a2..2f0f6f815 100644
--- a/host/lib/usrp/cores/i2c_core_200.cpp
+++ b/host/lib/usrp/cores/i2c_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -56,6 +56,10 @@
using namespace uhd;
+i2c_core_200::~i2c_core_200(void){
+ /* NOP */
+}
+
class i2c_core_200_impl : public i2c_core_200{
public:
i2c_core_200_impl(wb_iface::sptr iface, const size_t base, const size_t readback):
diff --git a/host/lib/usrp/cores/i2c_core_200.hpp b/host/lib/usrp/cores/i2c_core_200.hpp
index 1b20455d3..6bb06efa6 100644
--- a/host/lib/usrp/cores/i2c_core_200.hpp
+++ b/host/lib/usrp/cores/i2c_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -28,6 +28,8 @@ class i2c_core_200 : boost::noncopyable, public uhd::i2c_iface{
public:
typedef boost::shared_ptr<i2c_core_200> sptr;
+ virtual ~i2c_core_200(void) = 0;
+
//! makes a new i2c core from iface and slave base
static sptr make(uhd::wb_iface::sptr iface, const size_t base, const size_t readback);
};
diff --git a/host/lib/usrp/cores/radio_ctrl_core_3000.cpp b/host/lib/usrp/cores/radio_ctrl_core_3000.cpp
index 2005bcf33..55e5cba7a 100644
--- a/host/lib/usrp/cores/radio_ctrl_core_3000.cpp
+++ b/host/lib/usrp/cores/radio_ctrl_core_3000.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2012-2013 Ettus Research LLC
+// Copyright 2012-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -37,6 +37,10 @@ static const double ACK_TIMEOUT = 2.0; //supposed to be worst case practical tim
static const double MASSIVE_TIMEOUT = 10.0; //for when we wait on a timed command
static const size_t SR_READBACK = 32;
+radio_ctrl_core_3000::~radio_ctrl_core_3000(void){
+ /* NOP */
+}
+
class radio_ctrl_core_3000_impl: public radio_ctrl_core_3000
{
public:
diff --git a/host/lib/usrp/cores/radio_ctrl_core_3000.hpp b/host/lib/usrp/cores/radio_ctrl_core_3000.hpp
index 51a307c10..1c25ceb2c 100644
--- a/host/lib/usrp/cores/radio_ctrl_core_3000.hpp
+++ b/host/lib/usrp/cores/radio_ctrl_core_3000.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2012-2013 Ettus Research LLC
+// Copyright 2012-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -34,6 +34,8 @@ class radio_ctrl_core_3000 : public uhd::wb_iface
public:
typedef boost::shared_ptr<radio_ctrl_core_3000> sptr;
+ virtual ~radio_ctrl_core_3000(void) = 0;
+
//! Make a new control object
static sptr make(
const bool big_endian,
diff --git a/host/lib/usrp/cores/rx_dsp_core_200.cpp b/host/lib/usrp/cores/rx_dsp_core_200.cpp
index 2e5ca8e7a..2eafd6c59 100644
--- a/host/lib/usrp/cores/rx_dsp_core_200.cpp
+++ b/host/lib/usrp/cores/rx_dsp_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -52,6 +52,10 @@ template <class T> T ceil_log2(T num){
using namespace uhd;
+rx_dsp_core_200::~rx_dsp_core_200(void){
+ /* NOP */
+}
+
class rx_dsp_core_200_impl : public rx_dsp_core_200{
public:
rx_dsp_core_200_impl(
diff --git a/host/lib/usrp/cores/rx_dsp_core_200.hpp b/host/lib/usrp/cores/rx_dsp_core_200.hpp
index 3937df9e8..1dc51fa24 100644
--- a/host/lib/usrp/cores/rx_dsp_core_200.hpp
+++ b/host/lib/usrp/cores/rx_dsp_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -31,6 +31,8 @@ class rx_dsp_core_200 : boost::noncopyable{
public:
typedef boost::shared_ptr<rx_dsp_core_200> sptr;
+ virtual ~rx_dsp_core_200(void) = 0;
+
static sptr make(
uhd::wb_iface::sptr iface,
const size_t dsp_base, const size_t ctrl_base,
diff --git a/host/lib/usrp/cores/rx_dsp_core_3000.cpp b/host/lib/usrp/cores/rx_dsp_core_3000.cpp
index 07399d462..fc7c58da8 100644
--- a/host/lib/usrp/cores/rx_dsp_core_3000.cpp
+++ b/host/lib/usrp/cores/rx_dsp_core_3000.cpp
@@ -46,6 +46,10 @@ template <class T> T ceil_log2(T num){
using namespace uhd;
+rx_dsp_core_3000::~rx_dsp_core_3000(void){
+ /* NOP */
+}
+
class rx_dsp_core_3000_impl : public rx_dsp_core_3000{
public:
rx_dsp_core_3000_impl(
diff --git a/host/lib/usrp/cores/rx_dsp_core_3000.hpp b/host/lib/usrp/cores/rx_dsp_core_3000.hpp
index 8c6a2178d..89059e953 100644
--- a/host/lib/usrp/cores/rx_dsp_core_3000.hpp
+++ b/host/lib/usrp/cores/rx_dsp_core_3000.hpp
@@ -31,6 +31,8 @@ class rx_dsp_core_3000 : boost::noncopyable{
public:
typedef boost::shared_ptr<rx_dsp_core_3000> sptr;
+ virtual ~rx_dsp_core_3000(void) = 0;
+
static sptr make(
uhd::wb_iface::sptr iface,
const size_t dsp_base,
diff --git a/host/lib/usrp/cores/rx_frontend_core_200.cpp b/host/lib/usrp/cores/rx_frontend_core_200.cpp
index 864b5cc53..b73896b57 100644
--- a/host/lib/usrp/cores/rx_frontend_core_200.cpp
+++ b/host/lib/usrp/cores/rx_frontend_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -34,6 +34,9 @@ static boost::uint32_t fs_to_bits(const double num, const size_t bits){
return boost::int32_t(boost::math::round(num * (1 << (bits-1))));
}
+rx_frontend_core_200::~rx_frontend_core_200(void){
+ /* NOP */
+}
class rx_frontend_core_200_impl : public rx_frontend_core_200{
public:
diff --git a/host/lib/usrp/cores/rx_frontend_core_200.hpp b/host/lib/usrp/cores/rx_frontend_core_200.hpp
index 8327aef8b..9b18e2089 100644
--- a/host/lib/usrp/cores/rx_frontend_core_200.hpp
+++ b/host/lib/usrp/cores/rx_frontend_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,8 @@ class rx_frontend_core_200 : boost::noncopyable{
public:
typedef boost::shared_ptr<rx_frontend_core_200> sptr;
+ virtual ~rx_frontend_core_200(void) = 0;
+
static sptr make(uhd::wb_iface::sptr iface, const size_t base);
virtual void set_mux(const bool swap) = 0;
diff --git a/host/lib/usrp/cores/rx_vita_core_3000.cpp b/host/lib/usrp/cores/rx_vita_core_3000.cpp
index aad137ea3..f61da7cc3 100644
--- a/host/lib/usrp/cores/rx_vita_core_3000.cpp
+++ b/host/lib/usrp/cores/rx_vita_core_3000.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -33,6 +33,10 @@
using namespace uhd;
+rx_vita_core_3000::~rx_vita_core_3000(void){
+ /* NOP */
+}
+
struct rx_vita_core_3000_impl : rx_vita_core_3000
{
rx_vita_core_3000_impl(
diff --git a/host/lib/usrp/cores/rx_vita_core_3000.hpp b/host/lib/usrp/cores/rx_vita_core_3000.hpp
index 577510728..cd718a190 100644
--- a/host/lib/usrp/cores/rx_vita_core_3000.hpp
+++ b/host/lib/usrp/cores/rx_vita_core_3000.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -32,6 +32,8 @@ class rx_vita_core_3000 : boost::noncopyable
public:
typedef boost::shared_ptr<rx_vita_core_3000> sptr;
+ virtual ~rx_vita_core_3000(void) = 0;
+
static sptr make(
uhd::wb_iface::sptr iface,
const size_t base
diff --git a/host/lib/usrp/cores/spi_core_100.cpp b/host/lib/usrp/cores/spi_core_100.cpp
index d11a499a9..71d92bcb6 100644
--- a/host/lib/usrp/cores/spi_core_100.cpp
+++ b/host/lib/usrp/cores/spi_core_100.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -39,6 +39,10 @@
using namespace uhd;
+spi_core_100::~spi_core_100(void){
+ /* NOP */
+}
+
class spi_core_100_impl : public spi_core_100{
public:
spi_core_100_impl(wb_iface::sptr iface, const size_t base):
diff --git a/host/lib/usrp/cores/spi_core_100.hpp b/host/lib/usrp/cores/spi_core_100.hpp
index ce53c0b86..63bf94a67 100644
--- a/host/lib/usrp/cores/spi_core_100.hpp
+++ b/host/lib/usrp/cores/spi_core_100.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -28,6 +28,8 @@ class spi_core_100 : boost::noncopyable, public uhd::spi_iface{
public:
typedef boost::shared_ptr<spi_core_100> sptr;
+ virtual ~spi_core_100(void) = 0;
+
//! makes a new spi core from iface and slave base
static sptr make(uhd::wb_iface::sptr iface, const size_t base);
};
diff --git a/host/lib/usrp/cores/spi_core_3000.cpp b/host/lib/usrp/cores/spi_core_3000.cpp
index b7503064a..0656d910a 100644
--- a/host/lib/usrp/cores/spi_core_3000.cpp
+++ b/host/lib/usrp/cores/spi_core_3000.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -26,6 +26,10 @@
using namespace uhd;
+spi_core_3000::~spi_core_3000(void){
+ /* NOP */
+}
+
class spi_core_3000_impl : public spi_core_3000
{
public:
diff --git a/host/lib/usrp/cores/spi_core_3000.hpp b/host/lib/usrp/cores/spi_core_3000.hpp
index 923efed3d..6a439772e 100644
--- a/host/lib/usrp/cores/spi_core_3000.hpp
+++ b/host/lib/usrp/cores/spi_core_3000.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,8 @@ class spi_core_3000 : boost::noncopyable, public uhd::spi_iface
public:
typedef boost::shared_ptr<spi_core_3000> sptr;
+ virtual ~spi_core_3000(void) = 0;
+
//! makes a new spi core from iface and slave base
static sptr make(uhd::wb_iface::sptr iface, const size_t base, const size_t readback);
diff --git a/host/lib/usrp/cores/time64_core_200.cpp b/host/lib/usrp/cores/time64_core_200.cpp
index ad5e6477c..54b60b6ad 100644
--- a/host/lib/usrp/cores/time64_core_200.cpp
+++ b/host/lib/usrp/cores/time64_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -39,6 +39,10 @@
using namespace uhd;
+time64_core_200::~time64_core_200(void){
+ /* NOP */
+}
+
class time64_core_200_impl : public time64_core_200{
public:
time64_core_200_impl(
diff --git a/host/lib/usrp/cores/time64_core_200.hpp b/host/lib/usrp/cores/time64_core_200.hpp
index e211ce040..7e30f0abc 100644
--- a/host/lib/usrp/cores/time64_core_200.hpp
+++ b/host/lib/usrp/cores/time64_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -35,6 +35,8 @@ public:
size_t rb_hi_pps, rb_lo_pps;
};
+ virtual ~time64_core_200(void) = 0;
+
//! makes a new time64 core from iface and slave base
static sptr make(
uhd::wb_iface::sptr iface, const size_t base,
diff --git a/host/lib/usrp/cores/time_core_3000.cpp b/host/lib/usrp/cores/time_core_3000.cpp
index 45ff55271..aa5d5593d 100644
--- a/host/lib/usrp/cores/time_core_3000.cpp
+++ b/host/lib/usrp/cores/time_core_3000.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,10 @@
using namespace uhd;
+time_core_3000::~time_core_3000(void){
+ /* NOP */
+}
+
struct time_core_3000_impl : time_core_3000
{
time_core_3000_impl(
diff --git a/host/lib/usrp/cores/time_core_3000.hpp b/host/lib/usrp/cores/time_core_3000.hpp
index fad408810..7463386ba 100644
--- a/host/lib/usrp/cores/time_core_3000.hpp
+++ b/host/lib/usrp/cores/time_core_3000.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -35,6 +35,8 @@ public:
size_t rb_pps;
};
+ virtual ~time_core_3000(void) = 0;
+
//! makes a new time core from iface and slave base
static sptr make(
uhd::wb_iface::sptr iface, const size_t base,
diff --git a/host/lib/usrp/cores/tx_dsp_core_200.cpp b/host/lib/usrp/cores/tx_dsp_core_200.cpp
index f8aa87aa3..0e83a698b 100644
--- a/host/lib/usrp/cores/tx_dsp_core_200.cpp
+++ b/host/lib/usrp/cores/tx_dsp_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -51,6 +51,10 @@ template <class T> T ceil_log2(T num){
using namespace uhd;
+tx_dsp_core_200::~tx_dsp_core_200(void){
+ /* NOP */
+}
+
class tx_dsp_core_200_impl : public tx_dsp_core_200{
public:
tx_dsp_core_200_impl(
diff --git a/host/lib/usrp/cores/tx_dsp_core_200.hpp b/host/lib/usrp/cores/tx_dsp_core_200.hpp
index ce3d1dbdd..f0475c579 100644
--- a/host/lib/usrp/cores/tx_dsp_core_200.hpp
+++ b/host/lib/usrp/cores/tx_dsp_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,8 @@ class tx_dsp_core_200 : boost::noncopyable{
public:
typedef boost::shared_ptr<tx_dsp_core_200> sptr;
+ virtual ~tx_dsp_core_200(void) = 0;
+
static sptr make(
uhd::wb_iface::sptr iface,
const size_t dsp_base, const size_t ctrl_base,
diff --git a/host/lib/usrp/cores/tx_dsp_core_3000.cpp b/host/lib/usrp/cores/tx_dsp_core_3000.cpp
index 93c8702bc..9c2b98ffb 100644
--- a/host/lib/usrp/cores/tx_dsp_core_3000.cpp
+++ b/host/lib/usrp/cores/tx_dsp_core_3000.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2013 Ettus Research LLC
+// Copyright 2011-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -37,6 +37,10 @@ template <class T> T ceil_log2(T num){
using namespace uhd;
+tx_dsp_core_3000::~tx_dsp_core_3000(void){
+ /* NOP */
+}
+
class tx_dsp_core_3000_impl : public tx_dsp_core_3000{
public:
tx_dsp_core_3000_impl(
diff --git a/host/lib/usrp/cores/tx_dsp_core_3000.hpp b/host/lib/usrp/cores/tx_dsp_core_3000.hpp
index 6f725b836..a51cb2803 100644
--- a/host/lib/usrp/cores/tx_dsp_core_3000.hpp
+++ b/host/lib/usrp/cores/tx_dsp_core_3000.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2013 Ettus Research LLC
+// Copyright 2011-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,8 @@ class tx_dsp_core_3000 : boost::noncopyable{
public:
typedef boost::shared_ptr<tx_dsp_core_3000> sptr;
+ virtual ~tx_dsp_core_3000(void) = 0;
+
static sptr make(
uhd::wb_iface::sptr iface,
const size_t dsp_base
diff --git a/host/lib/usrp/cores/tx_frontend_core_200.cpp b/host/lib/usrp/cores/tx_frontend_core_200.cpp
index d701027e5..7000f46bd 100644
--- a/host/lib/usrp/cores/tx_frontend_core_200.cpp
+++ b/host/lib/usrp/cores/tx_frontend_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -33,6 +33,9 @@ static boost::uint32_t fs_to_bits(const double num, const size_t bits){
return boost::int32_t(boost::math::round(num * (1 << (bits-1))));
}
+tx_frontend_core_200::~tx_frontend_core_200(void){
+ /* NOP */
+}
class tx_frontend_core_200_impl : public tx_frontend_core_200{
public:
diff --git a/host/lib/usrp/cores/tx_frontend_core_200.hpp b/host/lib/usrp/cores/tx_frontend_core_200.hpp
index 7d09b39d2..0b89ea818 100644
--- a/host/lib/usrp/cores/tx_frontend_core_200.hpp
+++ b/host/lib/usrp/cores/tx_frontend_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,8 @@ class tx_frontend_core_200 : boost::noncopyable{
public:
typedef boost::shared_ptr<tx_frontend_core_200> sptr;
+ virtual ~tx_frontend_core_200(void) = 0;
+
static sptr make(uhd::wb_iface::sptr iface, const size_t base);
virtual void set_mux(const std::string &mode) = 0;
diff --git a/host/lib/usrp/cores/tx_vita_core_3000.cpp b/host/lib/usrp/cores/tx_vita_core_3000.cpp
index 38eb6afb5..71a2b7e21 100644
--- a/host/lib/usrp/cores/tx_vita_core_3000.cpp
+++ b/host/lib/usrp/cores/tx_vita_core_3000.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -24,6 +24,10 @@
using namespace uhd;
+tx_vita_core_3000::~tx_vita_core_3000(void){
+ /* NOP */
+}
+
struct tx_vita_core_3000_impl : tx_vita_core_3000
{
tx_vita_core_3000_impl(
diff --git a/host/lib/usrp/cores/tx_vita_core_3000.hpp b/host/lib/usrp/cores/tx_vita_core_3000.hpp
index d4677a3e3..4c0052d4f 100644
--- a/host/lib/usrp/cores/tx_vita_core_3000.hpp
+++ b/host/lib/usrp/cores/tx_vita_core_3000.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2013 Ettus Research LLC
+// Copyright 2013-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -32,6 +32,8 @@ class tx_vita_core_3000 : boost::noncopyable
public:
typedef boost::shared_ptr<tx_vita_core_3000> sptr;
+ virtual ~tx_vita_core_3000(void) = 0;
+
static sptr make(
uhd::wb_iface::sptr iface,
const size_t base
diff --git a/host/lib/usrp/cores/user_settings_core_200.cpp b/host/lib/usrp/cores/user_settings_core_200.cpp
index 391725edc..99f7e00e1 100644
--- a/host/lib/usrp/cores/user_settings_core_200.cpp
+++ b/host/lib/usrp/cores/user_settings_core_200.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2012 Ettus Research LLC
+// Copyright 2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -22,6 +22,10 @@ using namespace uhd;
#define REG_USER_ADDR _base + 0
#define REG_USER_DATA _base + 4
+user_settings_core_200::~user_settings_core_200(void){
+ /* NOP */
+}
+
class user_settings_core_200_impl : public user_settings_core_200{
public:
user_settings_core_200_impl(wb_iface::sptr iface, const size_t base):
diff --git a/host/lib/usrp/cores/user_settings_core_200.hpp b/host/lib/usrp/cores/user_settings_core_200.hpp
index f5fca2ce6..a8efeed38 100644
--- a/host/lib/usrp/cores/user_settings_core_200.hpp
+++ b/host/lib/usrp/cores/user_settings_core_200.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2012 Ettus Research LLC
+// Copyright 2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -28,6 +28,8 @@ public:
typedef boost::shared_ptr<user_settings_core_200> sptr;
typedef std::pair<boost::uint8_t, boost::uint32_t> user_reg_t;
+ virtual ~user_settings_core_200(void) = 0;
+
static sptr make(uhd::wb_iface::sptr iface, const size_t base);
virtual void set_reg(const user_reg_t &reg) = 0;
diff --git a/host/lib/usrp/dboard/db_sbx_common.hpp b/host/lib/usrp/dboard/db_sbx_common.hpp
index a4bbfde38..58f79a606 100644
--- a/host/lib/usrp/dboard/db_sbx_common.hpp
+++ b/host/lib/usrp/dboard/db_sbx_common.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2013 Ettus Research LLC
+// Copyright 2011-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -126,7 +126,7 @@ static const uhd::dict<std::string, gain_range_t> sbx_rx_gain_ranges = map_list_
class sbx_xcvr : public xcvr_dboard_base{
public:
sbx_xcvr(ctor_args_t args);
- ~sbx_xcvr(void);
+ virtual ~sbx_xcvr(void);
protected:
@@ -172,7 +172,7 @@ protected:
class sbx_versionx {
public:
sbx_versionx() {}
- ~sbx_versionx(void) {}
+ virtual ~sbx_versionx(void) {}
virtual double set_lo_freq(dboard_iface::unit_t unit, double target_freq) = 0;
};
diff --git a/host/lib/usrp/dboard/db_wbx_common.hpp b/host/lib/usrp/dboard/db_wbx_common.hpp
index 7609beb19..6a4224048 100644
--- a/host/lib/usrp/dboard/db_wbx_common.hpp
+++ b/host/lib/usrp/dboard/db_wbx_common.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011,2013 Ettus Research LLC
+// Copyright 2011,2013-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -126,7 +126,7 @@ protected:
class wbx_versionx {
public:
wbx_versionx():self_base(NULL) {}
- ~wbx_versionx(void) {}
+ virtual ~wbx_versionx(void) {}
virtual double set_tx_gain(double gain, const std::string &name) = 0;
virtual void set_tx_enabled(bool enb) = 0;
diff --git a/host/lib/usrp/gps_ctrl.cpp b/host/lib/usrp/gps_ctrl.cpp
index f4d5cd8e8..b9d5128bb 100644
--- a/host/lib/usrp/gps_ctrl.cpp
+++ b/host/lib/usrp/gps_ctrl.cpp
@@ -42,6 +42,10 @@ using namespace boost::this_thread;
* A control for GPSDO devices
*/
+gps_ctrl::~gps_ctrl(void){
+ /* NOP */
+}
+
class gps_ctrl_impl : public gps_ctrl{
private:
std::map<std::string, boost::tuple<std::string, boost::system_time, bool> > sensors;
diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp
index 388cf03fa..80f61935c 100644
--- a/host/lib/usrp/multi_usrp.cpp
+++ b/host/lib/usrp/multi_usrp.cpp
@@ -1243,6 +1243,10 @@ private:
}
};
+multi_usrp::~multi_usrp(void){
+ /* NOP */
+}
+
/***********************************************************************
* The Make Function
**********************************************************************/
diff --git a/host/lib/usrp/usrp1/codec_ctrl.cpp b/host/lib/usrp/usrp1/codec_ctrl.cpp
index 7383c9833..2e922a3e2 100644
--- a/host/lib/usrp/usrp1/codec_ctrl.cpp
+++ b/host/lib/usrp/usrp1/codec_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -36,6 +36,10 @@ using namespace uhd;
const gain_range_t usrp1_codec_ctrl::tx_pga_gain_range(-20, 0, double(0.1));
const gain_range_t usrp1_codec_ctrl::rx_pga_gain_range(0, 20, 1);
+usrp1_codec_ctrl::~usrp1_codec_ctrl(void){
+ /* NOP */
+}
+
/***********************************************************************
* Codec Control Implementation
**********************************************************************/
diff --git a/host/lib/usrp/usrp1/codec_ctrl.hpp b/host/lib/usrp/usrp1/codec_ctrl.hpp
index 70f4e0b61..ea9c8eb04 100644
--- a/host/lib/usrp/usrp1/codec_ctrl.hpp
+++ b/host/lib/usrp/usrp1/codec_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2011 Ettus Research LLC
+// Copyright 2010-2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -35,6 +35,8 @@ public:
static const uhd::gain_range_t tx_pga_gain_range;
static const uhd::gain_range_t rx_pga_gain_range;
+ virtual ~usrp1_codec_ctrl(void) = 0;
+
/*!
* Make a new clock control object.
* \param iface the spi iface object
diff --git a/host/lib/usrp/usrp1/soft_time_ctrl.cpp b/host/lib/usrp/usrp1/soft_time_ctrl.cpp
index 65bdc36d4..bb8b3a704 100644
--- a/host/lib/usrp/usrp1/soft_time_ctrl.cpp
+++ b/host/lib/usrp/usrp1/soft_time_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -29,6 +29,10 @@ namespace pt = boost::posix_time;
static const time_spec_t TWIDDLE(0.0011);
+soft_time_ctrl::~soft_time_ctrl(void){
+ /* NOP */
+}
+
/***********************************************************************
* Soft time control implementation
**********************************************************************/
diff --git a/host/lib/usrp/usrp1/soft_time_ctrl.hpp b/host/lib/usrp/usrp1/soft_time_ctrl.hpp
index f418ec35a..60df24744 100644
--- a/host/lib/usrp/usrp1/soft_time_ctrl.hpp
+++ b/host/lib/usrp/usrp1/soft_time_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011-2012 Ettus Research LLC
+// Copyright 2011-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -40,6 +40,8 @@ public:
typedef boost::shared_ptr<soft_time_ctrl> sptr;
typedef boost::function<void(bool)> cb_fcn_type;
+ virtual ~soft_time_ctrl(void) = 0;
+
/*!
* Make a new soft time control.
* \param stream_on_off a function to enable/disable rx
diff --git a/host/lib/usrp/usrp2/clock_ctrl.cpp b/host/lib/usrp/usrp2/clock_ctrl.cpp
index 0ae3b0bd8..ecb5a7101 100644
--- a/host/lib/usrp/usrp2/clock_ctrl.cpp
+++ b/host/lib/usrp/usrp2/clock_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -30,6 +30,10 @@ using namespace uhd;
static const bool enb_test_clk = false;
+usrp2_clock_ctrl::~usrp2_clock_ctrl(void){
+ /* NOP */
+}
+
/*!
* A usrp2 clock control specific to the ad9510 ic.
*/
diff --git a/host/lib/usrp/usrp2/clock_ctrl.hpp b/host/lib/usrp/usrp2/clock_ctrl.hpp
index 067e1e35d..80dcd0a2d 100644
--- a/host/lib/usrp/usrp2/clock_ctrl.hpp
+++ b/host/lib/usrp/usrp2/clock_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -27,6 +27,8 @@ class usrp2_clock_ctrl : boost::noncopyable{
public:
typedef boost::shared_ptr<usrp2_clock_ctrl> sptr;
+ virtual ~usrp2_clock_ctrl(void) = 0;
+
/*!
* Make a clock config for the ad9510 ic.
* \param iface a pointer to the usrp2 interface object
diff --git a/host/lib/usrp/usrp2/codec_ctrl.cpp b/host/lib/usrp/usrp2/codec_ctrl.cpp
index b53c4d9df..a565078cf 100644
--- a/host/lib/usrp/usrp2/codec_ctrl.cpp
+++ b/host/lib/usrp/usrp2/codec_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -27,6 +27,10 @@
using namespace uhd;
+usrp2_codec_ctrl::~usrp2_codec_ctrl(void){
+ /* NOP */
+}
+
/*!
* A usrp2 codec control specific to the ad9777 ic.
*/
diff --git a/host/lib/usrp/usrp2/codec_ctrl.hpp b/host/lib/usrp/usrp2/codec_ctrl.hpp
index b0d815be2..ddecc6026 100644
--- a/host/lib/usrp/usrp2/codec_ctrl.hpp
+++ b/host/lib/usrp/usrp2/codec_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2012 Ettus Research LLC
+// Copyright 2010-2012,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -26,6 +26,8 @@ class usrp2_codec_ctrl : boost::noncopyable{
public:
typedef boost::shared_ptr<usrp2_codec_ctrl> sptr;
+ virtual ~usrp2_codec_ctrl(void) = 0;
+
/*!
* Make a codec control for the DAC and ADC.
* \param iface a pointer to the usrp2 interface object
diff --git a/host/lib/usrp/x300/x300_adc_ctrl.cpp b/host/lib/usrp/x300/x300_adc_ctrl.cpp
index 75bfb048c..53d1662ae 100644
--- a/host/lib/usrp/x300/x300_adc_ctrl.cpp
+++ b/host/lib/usrp/x300/x300_adc_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -25,6 +25,10 @@
using namespace uhd;
+x300_adc_ctrl::~x300_adc_ctrl(void){
+ /* NOP */
+}
+
/*!
* A X300 codec control specific to the ads62p48 ic.
*/
diff --git a/host/lib/usrp/x300/x300_adc_ctrl.hpp b/host/lib/usrp/x300/x300_adc_ctrl.hpp
index fce40a434..c8ce19c94 100644
--- a/host/lib/usrp/x300/x300_adc_ctrl.hpp
+++ b/host/lib/usrp/x300/x300_adc_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -27,6 +27,8 @@ class x300_adc_ctrl : boost::noncopyable
public:
typedef boost::shared_ptr<x300_adc_ctrl> sptr;
+ virtual ~x300_adc_ctrl(void) = 0;
+
/*!
* Make a codec control for the ADC.
* \param iface a pointer to the interface object
diff --git a/host/lib/usrp/x300/x300_clock_ctrl.cpp b/host/lib/usrp/x300/x300_clock_ctrl.cpp
index da97dd2cf..d30c31127 100644
--- a/host/lib/usrp/x300/x300_clock_ctrl.cpp
+++ b/host/lib/usrp/x300/x300_clock_ctrl.cpp
@@ -28,6 +28,10 @@ static const double X300_REF_CLK_OUT_RATE = 10e6;
using namespace uhd;
+x300_clock_ctrl::~x300_clock_ctrl(void){
+ /* NOP */
+}
+
class x300_clock_ctrl_impl : public x300_clock_ctrl {
public:
diff --git a/host/lib/usrp/x300/x300_clock_ctrl.hpp b/host/lib/usrp/x300/x300_clock_ctrl.hpp
index e9904d25c..40b62b09a 100644
--- a/host/lib/usrp/x300/x300_clock_ctrl.hpp
+++ b/host/lib/usrp/x300/x300_clock_ctrl.hpp
@@ -42,6 +42,8 @@ public:
typedef boost::shared_ptr<x300_clock_ctrl> sptr;
+ virtual ~x300_clock_ctrl(void) = 0;
+
static sptr make(uhd::spi_iface::sptr spiface,
const size_t slaveno,
const size_t hw_rev,
diff --git a/host/lib/usrp/x300/x300_dac_ctrl.cpp b/host/lib/usrp/x300/x300_dac_ctrl.cpp
index 5eae9cc48..a9d9a7730 100644
--- a/host/lib/usrp/x300/x300_dac_ctrl.cpp
+++ b/host/lib/usrp/x300/x300_dac_ctrl.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -32,6 +32,10 @@ using namespace uhd;
#define read_ad9146_reg(addr) \
(_iface->read_spi(_slaveno, spi_config_t::EDGE_RISE, ((addr) << 8) | (1 << 15), 16) & 0xff)
+x300_dac_ctrl::~x300_dac_ctrl(void){
+ /* NOP */
+}
+
/*!
* A X300 codec control specific to the ad9146 ic.
*/
diff --git a/host/lib/usrp/x300/x300_dac_ctrl.hpp b/host/lib/usrp/x300/x300_dac_ctrl.hpp
index 0db7e1e35..78046cee5 100644
--- a/host/lib/usrp/x300/x300_dac_ctrl.hpp
+++ b/host/lib/usrp/x300/x300_dac_ctrl.hpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2013 Ettus Research LLC
+// Copyright 2010-2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -27,6 +27,8 @@ class x300_dac_ctrl : boost::noncopyable
public:
typedef boost::shared_ptr<x300_dac_ctrl> sptr;
+ virtual ~x300_dac_ctrl(void) = 0;
+
/*!
* Make a codec control for the DAC.
* \param iface a pointer to the interface object
diff --git a/host/lib/utils/gain_group.cpp b/host/lib/utils/gain_group.cpp
index d422b3d52..e907a6573 100644
--- a/host/lib/utils/gain_group.cpp
+++ b/host/lib/utils/gain_group.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2010-2011 Ettus Research LLC
+// Copyright 2010-2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -54,6 +54,10 @@ template <typename T> static T floor_step(T num, T step, T e = T(0.001)){
return step*int(num/step + e);
}
+gain_group::~gain_group(void){
+ /* NOP */
+}
+
/***********************************************************************
* gain group implementation
**********************************************************************/
diff --git a/host/lib/utils/tasks.cpp b/host/lib/utils/tasks.cpp
index 08c32a5fb..6dbca5fc9 100644
--- a/host/lib/utils/tasks.cpp
+++ b/host/lib/utils/tasks.cpp
@@ -1,5 +1,5 @@
//
-// Copyright 2011 Ettus Research LLC
+// Copyright 2011,2014 Ettus Research LLC
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -83,6 +83,10 @@ task::sptr task::make(const task_fcn_type &task_fcn){
return task::sptr(new task_impl(task_fcn));
}
+msg_task::~msg_task(void){
+ /* NOP */
+}
+
/*
* During shutdown pointers to queues for radio_ctrl_core might not be available anymore.
* msg_task_impl provides a dump_queue for such messages.