1#pragma once
2
3#include <Poco/Logger.h>
4#include <Poco/Util/LayeredConfiguration.h>
5
6#include <Interpreters/Context.h>
7
8
9namespace DB
10{
11
12class IServer
13{
14public:
15 /// Returns the application's configuration.
16 virtual Poco::Util::LayeredConfiguration & config() const = 0;
17
18 /// Returns the application's logger.
19 virtual Poco::Logger & logger() const = 0;
20
21 /// Returns global application's context.
22 virtual Context & context() const = 0;
23
24 /// Returns true if shutdown signaled.
25 virtual bool isCancelled() const = 0;
26
27 virtual ~IServer() {}
28};
29
30}
31