# Pastebin MoijssPi #pragma once #include namespace PartsStore { namespace Utilities { class inheritableLogger { public: inheritableLogger( iLogger* impl); // T( iLogger* , Args); inheritableLogger( void ); virtual ~inheritableLogger(); protected: /* * \brief logsDebug * \param message */ void logError(const char*); /* * \brief logsDebug * \param message */ void logDebug(const char*); /* * \brief logsSuccess * \param message */ void logSuccess(const char*); /* * \brief logsInfo * \param message */ void logInfo(const char*); /* * \brief logsInfo * \param message */ void logWarning(const char*); private: PartsStore::Utilities::iLogger* m_log; }; class loggerUser : public inheritableLogger { //Is there a template I could use that would eliminate the need for calling these? loggerUser(void) : inheritableLogger(){}; loggerUser(iLogger*) : inheritableLogger(iLogger*){}; } } /* namespace Utilities */ } /* namespace PartsStore */