From e8b1e157d9c354e41c17c9a0aa13ee11b59a610b Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Wed, 5 Feb 2020 14:25:26 +0100 Subject: [PATCH] module: Make make_config() pure virtual It is important to implement this method in derived classes. When we provided default implementation returning NULL, introducing new methods might leave this method not implemented without a compiler error. Signed-off-by: Simon Rozman --- CredWrite/Main.cpp | 4 +++- CredWrite/StdAfx.h | 1 + lib/EAPBase/include/Module.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CredWrite/Main.cpp b/CredWrite/Main.cpp index 50c8432..2ae6691 100644 --- a/CredWrite/Main.cpp +++ b/CredWrite/Main.cpp @@ -23,7 +23,9 @@ using namespace std; using namespace winstd; -eap::module g_module; +class module_dummy : public eap::module { + virtual eap::config_method* make_config() { return nullptr; } +} g_module; static int CredWrite() diff --git a/CredWrite/StdAfx.h b/CredWrite/StdAfx.h index d4b80f1..a5e8b01 100644 --- a/CredWrite/StdAfx.h +++ b/CredWrite/StdAfx.h @@ -20,6 +20,7 @@ #pragma once +#include "../lib/EAPBase/include/Config.h" #include "../lib/EAPBase/include/Credentials.h" #include "../lib/EAPBase/include/Module.h" diff --git a/lib/EAPBase/include/Module.h b/lib/EAPBase/include/Module.h index ec47fb0..4e2c007 100644 --- a/lib/EAPBase/include/Module.h +++ b/lib/EAPBase/include/Module.h @@ -111,7 +111,7 @@ namespace eap /// /// \returns New method configuration /// - virtual config_method* make_config(); + virtual config_method* make_config() = 0; /// @}