Enable cppcoreguidelines-special-member-functions checks

Part of enforcing cpp core guidelines involves explicitly including all
constructors required on a non-trivial class.  We were missing quite a
few.  In all cases, the copy/move/and operator= methods are simply
deleted.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: Ie8d6e8bf2bc311fa21a9ae48b0d61ee5c1940999
diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
index 642a302..7cb5cc7 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -588,6 +588,7 @@
     EventServiceManager& operator=(const EventServiceManager&) = delete;
     EventServiceManager(EventServiceManager&&) = delete;
     EventServiceManager& operator=(EventServiceManager&&) = delete;
+    ~EventServiceManager() = default;
 
     static EventServiceManager& getInstance()
     {
diff --git a/redfish-core/include/gzfile.hpp b/redfish-core/include/gzfile.hpp
index 118bdb4..2001756 100644
--- a/redfish-core/include/gzfile.hpp
+++ b/redfish-core/include/gzfile.hpp
@@ -207,4 +207,6 @@
     ~GzFileReader() = default;
     GzFileReader(const GzFileReader&) = delete;
     GzFileReader& operator=(const GzFileReader&) = delete;
+    GzFileReader(GzFileReader&&) = delete;
+    GzFileReader& operator=(GzFileReader&&) = delete;
 };
diff --git a/redfish-core/include/rf_async_resp.hpp b/redfish-core/include/rf_async_resp.hpp
index b6dacc7..5eb7a3f 100644
--- a/redfish-core/include/rf_async_resp.hpp
+++ b/redfish-core/include/rf_async_resp.hpp
@@ -17,6 +17,8 @@
 
     AsyncResp(const AsyncResp&) = delete;
     AsyncResp(AsyncResp&&) = delete;
+    AsyncResp& operator=(const AsyncResp&) = delete;
+    AsyncResp& operator=(AsyncResp&&) = delete;
 
     ~AsyncResp()
     {
diff --git a/redfish-core/lib/health.hpp b/redfish-core/lib/health.hpp
index 02edfdc..c2e40c7 100644
--- a/redfish-core/lib/health.hpp
+++ b/redfish-core/lib/health.hpp
@@ -40,6 +40,11 @@
         jsonStatus(status)
     {}
 
+    HealthPopulate(const HealthPopulate&) = delete;
+    HealthPopulate(HealthPopulate&&) = delete;
+    HealthPopulate& operator=(const HealthPopulate&) = delete;
+    HealthPopulate& operator=(const HealthPopulate&&) = delete;
+
     ~HealthPopulate()
     {
         nlohmann::json& health = jsonStatus["Health"];
diff --git a/redfish-core/lib/managers.hpp b/redfish-core/lib/managers.hpp
index ad5c5e3..201f2f4 100644
--- a/redfish-core/lib/managers.hpp
+++ b/redfish-core/lib/managers.hpp
@@ -1317,6 +1317,11 @@
         }
     }
 
+    GetPIDValues(const GetPIDValues&) = delete;
+    GetPIDValues(GetPIDValues&&) = delete;
+    GetPIDValues& operator=(const GetPIDValues&) = delete;
+    GetPIDValues& operator=(GetPIDValues&&) = delete;
+
     std::vector<std::string> supportedProfiles;
     std::string currentProfile;
     crow::openbmc_mapper::GetSubTreeType subtree;
@@ -1353,6 +1358,12 @@
         configuration.emplace_back("StepwiseControllers",
                                    std::move(stepwiseControllers));
     }
+
+    SetPIDValues(const SetPIDValues&) = delete;
+    SetPIDValues(SetPIDValues&&) = delete;
+    SetPIDValues& operator=(const SetPIDValues&) = delete;
+    SetPIDValues& operator=(SetPIDValues&&) = delete;
+
     void run()
     {
         if (asyncResp->res.result() != boost::beast::http::status::ok)
diff --git a/redfish-core/lib/metric_report_definition.hpp b/redfish-core/lib/metric_report_definition.hpp
index 1461fd8..745fad8 100644
--- a/redfish-core/lib/metric_report_definition.hpp
+++ b/redfish-core/lib/metric_report_definition.hpp
@@ -335,6 +335,11 @@
             args.interval, readingParams);
     }
 
+    AddReport(const AddReport&) = delete;
+    AddReport(AddReport&&) = delete;
+    AddReport& operator=(const AddReport&) = delete;
+    AddReport& operator=(AddReport&&) = delete;
+
     void insert(const boost::container::flat_map<std::string, std::string>& el)
     {
         uriToDbus.insert(el.begin(), el.end());
diff --git a/redfish-core/lib/sensors.hpp b/redfish-core/lib/sensors.hpp
index 99dfc81..52d1fc0 100644
--- a/redfish-core/lib/sensors.hpp
+++ b/redfish-core/lib/sensors.hpp
@@ -227,6 +227,11 @@
         }
     }
 
+    SensorsAsyncResp(const SensorsAsyncResp&) = delete;
+    SensorsAsyncResp(SensorsAsyncResp&&) = delete;
+    SensorsAsyncResp& operator=(const SensorsAsyncResp&) = delete;
+    SensorsAsyncResp& operator=(SensorsAsyncResp&&) = delete;
+
     void addMetadata(const nlohmann::json& sensorObject,
                      const std::string& valueKey, const std::string& dbusPath)
     {
diff --git a/redfish-core/lib/virtual_media.hpp b/redfish-core/lib/virtual_media.hpp
index a682486..00c3ecf 100644
--- a/redfish-core/lib/virtual_media.hpp
+++ b/redfish-core/lib/virtual_media.hpp
@@ -531,6 +531,8 @@
     Credentials() = delete;
     Credentials(const Credentials&) = delete;
     Credentials& operator=(const Credentials&) = delete;
+    Credentials(Credentials&&) = delete;
+    Credentials& operator=(Credentials&&) = delete;
 
   private:
     std::string userBuf;
@@ -606,6 +608,11 @@
         impl.close();
     }
 
+    Pipe(const Pipe&) = delete;
+    Pipe(Pipe&&) = delete;
+    Pipe& operator=(const Pipe&) = delete;
+    Pipe& operator=(Pipe&&) = delete;
+
     unix_fd fd()
     {
         return unix_fd{impl.native_source()};
diff --git a/redfish-core/ut/lock_test.cpp b/redfish-core/ut/lock_test.cpp
index 603422a..e89377d 100644
--- a/redfish-core/ut/lock_test.cpp
+++ b/redfish-core/ut/lock_test.cpp
@@ -58,6 +58,11 @@
     }
 
     ~LockTest() override = default;
+
+    LockTest(const LockTest&) = delete;
+    LockTest(LockTest&&) = delete;
+    LockTest& operator=(const LockTest&) = delete;
+    LockTest& operator=(const LockTest&&) = delete;
 };
 
 class MockLock : public crow::ibm_mc_lock::Lock