From 011186b8a5708e024d292442b2ead3ef651d588e Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Wed, 20 Nov 2019 18:07:35 -0500 Subject: [PATCH] mixer: delete copy constructors and operators --- src/lib/mixer/HelicopterMixer.hpp | 6 ++++++ src/lib/mixer/Mixer.hpp | 6 ++++++ src/lib/mixer/MixerGroup.hpp | 6 ++++++ src/lib/mixer/MultirotorMixer.hpp | 6 ++++++ src/lib/mixer/NullMixer.hpp | 6 ++++++ src/lib/mixer/SimpleMixer.hpp | 6 ++++++ 6 files changed, 36 insertions(+) diff --git a/src/lib/mixer/HelicopterMixer.hpp b/src/lib/mixer/HelicopterMixer.hpp index 70b6192251..e932708b0f 100644 --- a/src/lib/mixer/HelicopterMixer.hpp +++ b/src/lib/mixer/HelicopterMixer.hpp @@ -72,6 +72,12 @@ public: HelicopterMixer(ControlCallback control_cb, uintptr_t cb_handle, mixer_heli_s *mixer_info); virtual ~HelicopterMixer() = default; + // no copy, assignment, move, move assignment + HelicopterMixer(const HelicopterMixer &) = delete; + HelicopterMixer &operator=(const HelicopterMixer &) = delete; + HelicopterMixer(HelicopterMixer &&) = delete; + HelicopterMixer &operator=(HelicopterMixer &&) = delete; + /** * Factory method. * diff --git a/src/lib/mixer/Mixer.hpp b/src/lib/mixer/Mixer.hpp index 4e3c9c654c..5cf2f35a1f 100644 --- a/src/lib/mixer/Mixer.hpp +++ b/src/lib/mixer/Mixer.hpp @@ -77,6 +77,12 @@ public: Mixer(ControlCallback control_cb, uintptr_t cb_handle); virtual ~Mixer() = default; + // no copy, assignment, move, move assignment + Mixer(const Mixer &) = delete; + Mixer &operator=(const Mixer &) = delete; + Mixer(Mixer &&) = delete; + Mixer &operator=(Mixer &&) = delete; + /** * Perform the mixing function. * diff --git a/src/lib/mixer/MixerGroup.hpp b/src/lib/mixer/MixerGroup.hpp index 31510d2b5f..65eac5c790 100644 --- a/src/lib/mixer/MixerGroup.hpp +++ b/src/lib/mixer/MixerGroup.hpp @@ -43,6 +43,12 @@ public: MixerGroup(ControlCallback control_cb, uintptr_t cb_handle); virtual ~MixerGroup(); + // no copy, assignment, move, move assignment + MixerGroup(const MixerGroup &) = delete; + MixerGroup &operator=(const MixerGroup &) = delete; + MixerGroup(MixerGroup &&) = delete; + MixerGroup &operator=(MixerGroup &&) = delete; + unsigned mix(float *outputs, unsigned space) override; uint16_t get_saturation_status() override; void groups_required(uint32_t &groups) override; diff --git a/src/lib/mixer/MultirotorMixer.hpp b/src/lib/mixer/MultirotorMixer.hpp index 8e0a83814b..ac7a120506 100644 --- a/src/lib/mixer/MultirotorMixer.hpp +++ b/src/lib/mixer/MultirotorMixer.hpp @@ -96,6 +96,12 @@ public: MultirotorMixer(ControlCallback control_cb, uintptr_t cb_handle, Rotor *rotors, unsigned rotor_count); virtual ~MultirotorMixer(); + // no copy, assignment, move, move assignment + MultirotorMixer(const MultirotorMixer &) = delete; + MultirotorMixer &operator=(const MultirotorMixer &) = delete; + MultirotorMixer(MultirotorMixer &&) = delete; + MultirotorMixer &operator=(MultirotorMixer &&) = delete; + /** * Factory method. * diff --git a/src/lib/mixer/NullMixer.hpp b/src/lib/mixer/NullMixer.hpp index 6901d6f9b0..acd220774f 100644 --- a/src/lib/mixer/NullMixer.hpp +++ b/src/lib/mixer/NullMixer.hpp @@ -44,6 +44,12 @@ public: NullMixer(); virtual ~NullMixer() = default; + // no copy, assignment, move, move assignment + NullMixer(const NullMixer &) = delete; + NullMixer &operator=(const NullMixer &) = delete; + NullMixer(NullMixer &&) = delete; + NullMixer &operator=(NullMixer &&) = delete; + /** * Factory method. * diff --git a/src/lib/mixer/SimpleMixer.hpp b/src/lib/mixer/SimpleMixer.hpp index d2a971f3ae..b57ea150ce 100644 --- a/src/lib/mixer/SimpleMixer.hpp +++ b/src/lib/mixer/SimpleMixer.hpp @@ -67,6 +67,12 @@ public: SimpleMixer(ControlCallback control_cb, uintptr_t cb_handle, mixer_simple_s *mixinfo); virtual ~SimpleMixer(); + // no copy, assignment, move, move assignment + SimpleMixer(const SimpleMixer &) = delete; + SimpleMixer &operator=(const SimpleMixer &) = delete; + SimpleMixer(SimpleMixer &&) = delete; + SimpleMixer &operator=(SimpleMixer &&) = delete; + /** * Factory method with full external configuration. *