aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorNicholas Corgan <nick.corgan@ettus.com>2014-08-13 08:44:31 -0700
committerMartin Braun <martin.braun@ettus.com>2014-09-01 17:58:24 +0200
commit654c5b06c086ce8b13a5be07e680004c96da8501 (patch)
treebe8adaf06d3b1cebbd20e1b1856df61bfa06ce87 /host/include
parentd88ae533c48495dbb86ca5fe2e7ddd05ab3c8a4e (diff)
downloaduhd-654c5b06c086ce8b13a5be07e680004c96da8501.tar.gz
uhd-654c5b06c086ce8b13a5be07e680004c96da8501.tar.bz2
uhd-654c5b06c086ce8b13a5be07e680004c96da8501.zip
Added missing pure virtual destructors to base classes
Diffstat (limited to 'host/include')
-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
12 files changed, 42 insertions, 10 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.