| Index: include/AdblockPlus/ITimer.h |
| diff --git a/include/AdblockPlus/LogSystem.h b/include/AdblockPlus/ITimer.h |
| similarity index 52% |
| copy from include/AdblockPlus/LogSystem.h |
| copy to include/AdblockPlus/ITimer.h |
| index 6a71d5cfa98daf9390825e913143bf9f5b54f436..291e56f1626418daa7dacd9ddfd0a53611137fe5 100644 |
| --- a/include/AdblockPlus/LogSystem.h |
| +++ b/include/AdblockPlus/ITimer.h |
| @@ -15,42 +15,38 @@ |
| * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| */ |
| -#ifndef ADBLOCK_PLUS_LOG_SYSTEM_H |
| -#define ADBLOCK_PLUS_LOG_SYSTEM_H |
| +#ifndef ADBLOCK_PLUS_TIMER_H |
| +#define ADBLOCK_PLUS_TIMER_H |
| -#include <string> |
| +#include <functional> |
| +#include <chrono> |
| #include <memory> |
| namespace AdblockPlus |
| { |
| /** |
| - * Logging interface. |
| + * Timer manager interface. |
| */ |
| - class LogSystem |
| + struct ITimer |
| { |
| - public: |
| /** |
| - * Log level. |
| - */ |
| - enum LogLevel {LOG_LEVEL_TRACE, LOG_LEVEL_LOG, LOG_LEVEL_INFO, LOG_LEVEL_WARN, LOG_LEVEL_ERROR}; |
| - |
| - virtual ~LogSystem() {} |
| + * Callback type invoked after elapsing of timer timeout. |
| + */ |
| + typedef std::function<void()> TimerCallback; |
| + virtual ~ITimer() {}; |
| /** |
| - * Writes a log message. |
| - * @param logLevel Log level. |
| - * @param message Log message. |
| - * @param source Source of the message, e.g. file name and line. |
| - * Ignored when empty. |
| + * Sets a timer. |
| + * @param timeout A timer callback will be called after that interval. |
| + * @param timeCallback The callback which is called after timeout. |
| */ |
| - virtual void operator()(LogLevel logLevel, const std::string& message, |
| - const std::string& source) = 0; |
| + virtual void SetTimer(const std::chrono::milliseconds& timeout, const TimerCallback& timerCallback) = 0; |
| }; |
| /** |
| - * Shared smart pointer to a `LogSystem` instance. |
| + * Unique smart pointer to an instance of `ITimer` implementation. |
| */ |
| - typedef std::shared_ptr<LogSystem> LogSystemPtr; |
| + typedef std::unique_ptr<ITimer> TimerPtr; |
| } |
| #endif |