diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ipmiblob/ipmi_handler.cpp | 6 | ||||
-rw-r--r-- | src/ipmiblob/ipmi_handler.hpp | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/ipmiblob/ipmi_handler.cpp b/src/ipmiblob/ipmi_handler.cpp index 0735004..568b86c 100644 --- a/src/ipmiblob/ipmi_handler.cpp +++ b/src/ipmiblob/ipmi_handler.cpp @@ -26,6 +26,7 @@ #include <array> #include <cstdint> #include <cstring> +#include <memory> #include <sstream> #include <string> #include <vector> @@ -33,6 +34,11 @@ namespace ipmiblob { +std::unique_ptr<IpmiInterface> IpmiHandler::CreateIpmiHandler() +{ + return std::make_unique<IpmiHandler>(); +} + void IpmiHandler::open() { const int device = 0; diff --git a/src/ipmiblob/ipmi_handler.hpp b/src/ipmiblob/ipmi_handler.hpp index 4a1ed9f..34177ae 100644 --- a/src/ipmiblob/ipmi_handler.hpp +++ b/src/ipmiblob/ipmi_handler.hpp @@ -3,6 +3,7 @@ #include "internal/sys.hpp" #include "ipmi_interface.hpp" +#include <memory> #include <vector> namespace ipmiblob @@ -11,6 +12,11 @@ namespace ipmiblob class IpmiHandler : public IpmiInterface { public: + /* Create an IpmiHandler object with default inputs. It is ill-advised to + * share IpmiHandlers between objects. + */ + static std::unique_ptr<IpmiInterface> CreateIpmiHandler(); + explicit IpmiHandler(const internal::Sys* sys = &internal::sys_impl) : sys(sys){}; |