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.

Change-Id: Ib71266e77808d15ae896891eea3e31c5b0394eb1
Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
diff --git a/.clang-tidy b/.clang-tidy
index cb6b8b3..f3b8ed7 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -215,6 +215,7 @@
 cppcoreguidelines-pro-type-union-access,
 cppcoreguidelines-pro-type-vararg,
 cppcoreguidelines-slicing,
+cppcoreguidelines-special-member-functions,
 modernize-avoid-bind,
 modernize-deprecated-headers,
 modernize-deprecated-ios-base-aliases,
diff --git a/bmc_epoch.hpp b/bmc_epoch.hpp
index e4047f0..40b86f1 100644
--- a/bmc_epoch.hpp
+++ b/bmc_epoch.hpp
@@ -34,6 +34,11 @@
 
     ~BmcEpoch() override;
 
+    BmcEpoch(const BmcEpoch&) = delete;
+    BmcEpoch(BmcEpoch&&) = delete;
+    BmcEpoch& operator=(const BmcEpoch&) = delete;
+    BmcEpoch& operator=(BmcEpoch&&) = delete;
+
     /** @brief Notified on time mode changed */
     void onModeChanged(Mode mode) override;
 
diff --git a/property_change_listener.hpp b/property_change_listener.hpp
index e6fdcde..f32acf9 100644
--- a/property_change_listener.hpp
+++ b/property_change_listener.hpp
@@ -10,8 +10,14 @@
 class PropertyChangeListner
 {
   public:
+    PropertyChangeListner() = default;
     virtual ~PropertyChangeListner() = default;
 
+    PropertyChangeListner(const PropertyChangeListner&) = delete;
+    PropertyChangeListner(PropertyChangeListner&&) = delete;
+    PropertyChangeListner& operator=(const PropertyChangeListner&) = delete;
+    PropertyChangeListner& operator=(PropertyChangeListner&&) = delete;
+
     /** @brief Notified on time mode is changed */
     virtual void onModeChanged(Mode mode) = 0;
 };
diff --git a/test/TestBmcEpoch.cpp b/test/TestBmcEpoch.cpp
index 38cbbaf..e0b81ea 100644
--- a/test/TestBmcEpoch.cpp
+++ b/test/TestBmcEpoch.cpp
@@ -34,6 +34,10 @@
         bus.detach_event();
         sd_event_unref(event);
     }
+    TestBmcEpoch(const TestBmcEpoch&) = delete;
+    TestBmcEpoch(TestBmcEpoch&&) = delete;
+    TestBmcEpoch& operator=(const TestBmcEpoch&) = delete;
+    TestBmcEpoch& operator=(TestBmcEpoch&&) = delete;
 };
 
 TEST_F(TestBmcEpoch, onModeChange)