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/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()};