More -Weffc++ changes.
authorbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Sat, 22 Mar 2014 00:23:10 +0000 (00:23 +0000)
committerbruceperens <bruceperens@01035d8c-6547-0410-b346-abe4f91aad63>
Sat, 22 Mar 2014 00:23:10 +0000 (00:23 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@1471 01035d8c-6547-0410-b346-abe4f91aad63

22 files changed:
freedv-server/CMakeLists.txt
freedv-server/parameters/cxx-flags.txt
freedv-server/source/driver_manager.cpp
freedv-server/source/drivers.h
freedv-server/source/fifo.cpp
freedv-server/source/framer.cpp
freedv-server/source/framer_noop.cpp
freedv-server/source/interfaces.cpp
freedv-server/source/io_device.cpp
freedv-server/source/keying.cpp
freedv-server/source/keying_sink.cpp
freedv-server/source/modem.cpp
freedv-server/source/modem_noop.cpp
freedv-server/source/platform/linux/audio_in_alsa.cpp
freedv-server/source/platform/linux/audio_out_alsa.cpp
freedv-server/source/ptt_constant.cpp
freedv-server/source/ptt_input.cpp
freedv-server/source/run.cpp
freedv-server/source/text_constant.cpp
freedv-server/source/text_input.cpp
freedv-server/source/tone.cpp
freedv-server/source/user_interface.cpp

index 9a2f3fb579591e2d9b6b17bc84ee5668feb2f73b..aef14a5ddbc8f1e1d78481c6483749e4242e81be 100644 (file)
@@ -163,7 +163,10 @@ set(Test.headers
 )
 
 load_parameters(cxx-flags)
-set_source_files_properties(${Compile.sources} ${Test.sources} PROPERTIES COMPILE_FLAGS ${Param.cxx-flags})
+load_parameters(cxx-flags-gtest)
+set_source_files_properties(${Compile.sources} PROPERTIES COMPILE_FLAGS ${Param.cxx-flags})
+# Googletest would have -Weffc++ warnings.
+set_source_files_properties(${Test.sources} PROPERTIES COMPILE_FLAGS ${Param.cxx-flags-gtest})
 
 
 add_executable(freedv-server ${Compile.sources})
index 7bc2a5ff72445dac90b6f87c9a5441b2a1d32816..bd72f6bf82509739cbb7dde3c5136a8c04005b9e 100644 (file)
@@ -1 +1 @@
--std=c++11 -g -pedantic -Wall -Wextra -Wshadow -DDEBUG
+-std=c++11 -g -pedantic -Wall -Wextra -Wshadow -Weffc++ -DDEBUG
index e2d5809a69255d325d65ea04d44493202b5a825a..2f8e4b24cff36f12789e4d9a47126d139f3bb615 100644 (file)
@@ -108,6 +108,15 @@ namespace FreeDV {
   // Global instance of the driver manager used to register
   // drivers and to create driver instances.
   DriverManager::DriverManager()
+  : audio_input_drivers(0),
+    audio_output_drivers(0),
+    codecs(0),
+    framers(0),
+    keying_output_drivers(0),
+    modems(0),
+    ptt_input_drivers(0),
+    text_input_drivers(0),
+    user_interface_drivers(0)
   {
   }
 
index 93ead3ec82edbebf3fae139dd8cf94a1fbb643cb..9d6fd5c06bbaa5ea536bff153dbc37e5eca5e207 100644 (file)
@@ -100,6 +100,9 @@ private:
     void       get_overrun() const;
     uint8_t *  reorder(std::size_t length);
 
+    // Copy constructor and operator =() disabled.
+    FIFO(const FIFO &);
+    FIFO & operator=(const FIFO &);
 public:
     /// Create the FIFO object.
     /// \param length The size of the fifo, in bytes.
@@ -619,6 +622,10 @@ class Interfaces;
 /// UserInterfaces may provide their own drivers for microphone,
 /// loudspeaker, TextInput, and both forms of PTT.
 class UserInterface : public ::FreeDV::IODevice {
+private:
+    // Copy constructor and operator =() disabled.
+    UserInterface(const UserInterface &);
+    UserInterface & operator=(const UserInterface &);
 protected:
     /// The external Interfaces object.
     ///
@@ -641,6 +648,10 @@ public:
 /// Structure used to pass all of the drivers. Can be modified while the
 /// program is running.
 class Interfaces {
+private:
+    // Copy constructor and operator=() disabled.
+    Interfaces(const Interfaces &);
+    Interfaces & operator=(const Interfaces &);
 public:
     Interfaces() : codec(0),
         framer(0), keying_output(0), loudspeaker(0),
@@ -869,6 +880,9 @@ private:
     DriverList *       text_input_drivers;
     DriverList *       user_interface_drivers;
 
+    // Copy constructor and operator=() disabled.
+    DriverManager(const DriverManager &);
+    DriverManager & operator=(const DriverManager &);
 public:
 
     /// Initialize the driver manager.
index 690aa319a2ff57298fced7976e325ea4d59ce238..b136ecfec315850074b407864e33a968d250c18d 100644 (file)
@@ -10,7 +10,7 @@
 
 namespace FreeDV {
   FIFO::FIFO(std::size_t size)
-  : buffer(new uint8_t[size]), buffer_end(buffer + size)
+  : buffer(new uint8_t[size]), buffer_end(buffer + size), in(buffer), out(buffer)
   {
     reset();
   }
index 5215a5e266376d2c941e551a2beae6f45fcf8a6b..33b4ba642d10e6960763cdc941f42d5af9d1e425 100644 (file)
@@ -7,8 +7,8 @@
 #include "drivers.h"
 
 namespace FreeDV {
-  Framer::Framer(const char * name, const char * parameters)
-  : Base(name, parameters)
+  Framer::Framer(const char * _name, const char * _parameters)
+  : Base(_name, _parameters)
   {
   }
 
index f0f269a190febd4581671c9cd28d295ae86d1637..4f94a78a38222f8a75c78d1ce9aeb569de2b74b0 100644 (file)
@@ -58,8 +58,8 @@ namespace FreeDV {
                         std::size_t output_length);
   };
 
-  FramerNoOp::FramerNoOp(const char * parameters)
-  : Framer("no-op", parameters)
+  FramerNoOp::FramerNoOp(const char * _parameters)
+  : Framer("no-op", _parameters)
   {
   }
 
index abade1437299e7222bc0adecf460c869f5957b19..f93f063225177556acf3bb3e159aa67c8d6bd4c6 100644 (file)
@@ -56,9 +56,9 @@ namespace FreeDV {
   }
 
   std::ostream &
-  Interfaces::print(std::ostream & stream, const char * program_name) const
+  Interfaces::print(std::ostream & stream, const char * _program_name) const
   {
-    if ( program_name ) {
+    if ( _program_name ) {
       stream << program_name << " \\" << std::endl;
     }
     stream << "--codec=\"" << *codec << "\" \\" << std::endl;
index ba214c9e38d83b03ca4a2f940de3bfa9ad60b46d..b90ced5af85a8524fd2dee8c90777a4da7378c1a 100644 (file)
@@ -7,8 +7,8 @@
 #include "drivers.h"
 
 namespace FreeDV {
-  IODevice::IODevice(const char * name, const char * parameters)
-  : Base(name, parameters)
+  IODevice::IODevice(const char * _name, const char * _parameters)
+  : Base(_name, _parameters)
   {
   }
 
index 638e35a7ac3f89406d6e584f48124227e8565b9b..42298bbcc709a39c13b58ac48921f68a6f09080f 100644 (file)
@@ -7,8 +7,8 @@
 #include "drivers.h"
 
 namespace FreeDV {
-  KeyingOutput::KeyingOutput(const char * name, const char * parameters)
-  : IODevice(name, parameters)
+  KeyingOutput::KeyingOutput(const char * _name, const char * _parameters)
+  : IODevice(_name, _parameters)
   {
   }
 
index 5403bd3f14f00458e39856ab6e47c0ccd0fea26e..75436ecd6de8278202020f8458f1e54cef98ac57 100644 (file)
@@ -36,8 +36,8 @@ namespace FreeDV {
     std::size_t                ready();
   };
 
-  KeyingSink::KeyingSink(const char * parameters)
-  : KeyingOutput("sink", parameters)
+  KeyingSink::KeyingSink(const char * _parameters)
+  : KeyingOutput("sink", _parameters)
   {
   }
 
index ad99c85a012170dd016c02a8054b13d7ce80a353..2270069a7daccad5f5aff180c2366ddcd8d9bd7a 100644 (file)
@@ -7,8 +7,8 @@
 #include "drivers.h"
 
 namespace FreeDV {
-  Modem::Modem(const char * name, const char * parameters)
-  : Base(name, parameters)
+  Modem::Modem(const char * _name, const char * _parameters)
+  : Base(_name, _parameters)
   {
   }
 
index 9e77f943dc6781016d9850989c4d4caeb5bfbbbc..f1580a6eccf0cf329f4c14aace97fa94ab4aa40c 100644 (file)
@@ -61,8 +61,8 @@ namespace FreeDV {
                        min_frame_duration() const;
   };
 
-  ModemNoOp::ModemNoOp(const char * parameters)
-  : Modem("no-op", parameters)
+  ModemNoOp::ModemNoOp(const char * _parameters)
+  : Modem("no-op", _parameters)
   {
   }
 
index 28c34c2d6ef839dc968c035f1a69e8ab1392ef68..ba3177d7f9689ab2a5335cc454463410f9e6ade6 100644 (file)
@@ -24,10 +24,14 @@ namespace FreeDV {
   private:
     static const int   overlong_delay = AudioFrameSamples * 4;
 
-    char * const       parameters;
     snd_pcm_t *                handle;
+    char * const       parameters;
     bool               started;
 
+    // Copy constructor and operator=() disabled.
+    AudioInALSA(const AudioInALSA &);
+    AudioInALSA & operator=(const AudioInALSA &);
+
     NORETURN void
     do_throw(const int error, const char * message = 0)
     {
@@ -65,7 +69,7 @@ namespace FreeDV {
   };
 
   AudioInALSA::AudioInALSA(const char * p)
-  : AudioInput("alsa", p), parameters(strdup(p)), started(false)
+  : AudioInput("alsa", p), handle(0), parameters(strdup(p)), started(false)
   {
     handle = ALSASetup(
      p,
index e6b1ec465ba37ce8842fd5d1a4aa26e504f341b9..2a8c3eb15fbd6ccd9af7ea7767ee8c468a1b15e2 100644 (file)
@@ -23,10 +23,14 @@ namespace FreeDV {
   ///
   class AudioOutALSA : public AudioOutput {
   private:
-    char * const       parameters;
     snd_pcm_t *                handle;
+    char * const       parameters;
     bool               started;
 
+    // Copy constructor and operator=() disabled.
+    AudioOutALSA(const AudioOutALSA &);
+    AudioOutALSA & operator=(const AudioOutALSA &);
+
     NORETURN void
     do_throw(const int error, const char * message = 0)
     {
@@ -64,8 +68,7 @@ namespace FreeDV {
   };
 
   AudioOutALSA::AudioOutALSA(const char * p)
-  : AudioOutput("alsa", p), parameters(strdup(p)),
-    started(false)
+  : AudioOutput("alsa", p), handle(0), parameters(strdup(p)), started(false)
   {
     handle = ALSASetup(
      p,
index 48447b98488f977fce7c56e0d5c12756a50337c5..cf6191402ab78ea7b428dd744f529442213f872e 100644 (file)
@@ -15,8 +15,8 @@ namespace FreeDV {
   private:
     /// This is true if ready has not yet been sent.
     ///
-    bool               ready_one_shot;
     bool               pressed;
+    bool               ready_one_shot;
   public:
     /// Instantiate push-to-talk source with constant input, for testing.
     ///
@@ -40,8 +40,8 @@ namespace FreeDV {
     bool       state();
   };
 
-  PTTConstant::PTTConstant(const char * parameters)
-  : PTTInput("constant", parameters), ready_one_shot(true)
+  PTTConstant::PTTConstant(const char * _parameters)
+  : PTTInput("constant", _parameters), pressed(false), ready_one_shot(true)
   {
     if ( *parameters == 't' )
       pressed = true;
index aed9a6c46f24f45e8ad9efac651683bf85566ddd..082103d46bc19c0caeae6ee7d3337989acdb37be 100644 (file)
@@ -7,8 +7,8 @@
 #include "drivers.h"
 
 namespace FreeDV {
-  PTTInput::PTTInput(const char * name, const char * parameters)
-  : IODevice(name, parameters)
+  PTTInput::PTTInput(const char * _name, const char * _parameters)
+  : IODevice(_name, _parameters)
   {
   }
 
index 622af8b894e595deb9fca6945b7850ff162285c9..0604325cad64c6051a65b6c559b63962bdaae4e4 100644 (file)
@@ -40,6 +40,10 @@ namespace FreeDV {
     bool               started;
     PollType           poll_fds[100];
  
+    // Disable copy constructor and operator=().
+    Run(const Run &);
+    Run &              operator=(const Run &);
+
     bool               add_poll_device(IODevice * device);
     NORETURN void      do_throw(int error, const char * message);
     void               key_down();
index 87eca3857a4bf9b174b76c010d094047a24593a9..f73d55f2103d20a2aa277ccc9ada442154994f31 100644 (file)
@@ -36,8 +36,8 @@ namespace FreeDV {
     std::size_t                ready();
   };
 
-  TextConstant::TextConstant(const char * parameters)
-  : TextInput("constant", parameters), index(0), length(strlen(parameters))
+  TextConstant::TextConstant(const char * _parameters)
+  : TextInput("constant", _parameters), index(0), length(strlen(_parameters))
   {
   }
 
index 4db971297c0026b634313241caa02ac066ebb9c2..80c960125504e3b91b38a95b52da92028d2c010d 100644 (file)
@@ -7,8 +7,8 @@
 #include "drivers.h"
 
 namespace FreeDV {
-  TextInput::TextInput(const char * name, const char * parameters)
-  : IODevice(name, parameters)
+  TextInput::TextInput(const char * _name, const char * _parameters)
+  : IODevice(_name, _parameters)
   {
   }
 
index f9da517f93026c566a2423e407323c3e3b19b3f1..68f4b81c35822a1413d46fa430cf2c6f73e486a7 100644 (file)
@@ -48,8 +48,8 @@ namespace FreeDV {
     virtual std::size_t        read16(std::int16_t * array, std::size_t length);
   };
 
-  Tone::Tone(const char * parameters)
-  : AudioInput("tone", parameters), clock(0)
+  Tone::Tone(const char * _parameters)
+  : AudioInput("tone", _parameters), clock(0)
   {
     unsigned int       index = 0;
     unsigned int       input = 0;
@@ -57,7 +57,7 @@ namespace FreeDV {
 
     while ( !p.eof() ) {
       float frequency = 0.0;
-      float amplitude = 1.0;
+      float _amplitude = 1.0;
 
       if ( index >= ((sizeof(tones) / sizeof(*tones)) - 1) ) {
         std::cerr << "Too many tones, number " << index
@@ -68,7 +68,7 @@ namespace FreeDV {
         char c;
        p >> c;
         if ( !p.fail() && c == ',' ) {
-          p >> amplitude;
+          p >> _amplitude;
           if ( !p.fail() ) {
            c = '\0';
             p >> c;
@@ -80,7 +80,7 @@ namespace FreeDV {
           break;
         }
       }
-      if ( frequency == 0.0 || amplitude == 0.0 ) {
+      if ( frequency == 0.0 || _amplitude == 0.0 ) {
         input++;
         continue;
       }
@@ -90,13 +90,13 @@ namespace FreeDV {
          << frequency << '.' << std::endl;
        break;
       }
-      if ( amplitude < 0.0 || amplitude > 1.0 ) {
+      if ( _amplitude < 0.0 || _amplitude > 1.0 ) {
         std::cerr << "tone: amplitude must be in range of 0.0..1.0, is "
-         << frequency << '.' << std::endl;
+         << _amplitude << '.' << std::endl;
        break;
       }
       tones[index].frequency = frequency;
-      tones[index].amplitude = amplitude;
+      tones[index].amplitude = _amplitude;
       index++;
       input++;
     }
index b91f0a27b8a657c9ef4a887fcc60eb4dadb3d3e8..b2ad501a6c4ee21d51197ca07c0166c230181647 100644 (file)
@@ -7,8 +7,8 @@
 #include "drivers.h"
 
 namespace FreeDV {
-  UserInterface::UserInterface(const char * name, const char * parameters, Interfaces *)
-  : IODevice(name, parameters)
+  UserInterface::UserInterface(const char * _name, const char * _parameters, Interfaces * _interfaces)
+  : IODevice(_name, _parameters), interfaces(_interfaces)
   {
   }