2022-12-30 18:44:55 +00:00
|
|
|
#ifndef WEBFUSE_PROVIDER_I_HPP
|
|
|
|
#define WEBFUSE_PROVIDER_I_HPP
|
|
|
|
|
|
|
|
#include "webfuse/filesystem/filesystem_i.hpp"
|
2022-12-30 22:06:47 +00:00
|
|
|
#include <functional>
|
2022-12-30 18:44:55 +00:00
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace webfuse
|
|
|
|
{
|
|
|
|
|
|
|
|
class provider
|
|
|
|
{
|
|
|
|
provider(provider const &) = delete;
|
|
|
|
provider& operator=(provider const &) = delete;
|
|
|
|
public:
|
|
|
|
provider(filesystem_i & fs);
|
|
|
|
~provider();
|
|
|
|
provider(provider && other);
|
|
|
|
provider& operator=(provider && other);
|
2022-12-30 22:06:47 +00:00
|
|
|
void set_connection_listener(std::function<void(bool)> listener);
|
2022-12-30 18:44:55 +00:00
|
|
|
void connect(std::string const & url);
|
|
|
|
void service();
|
2022-12-31 19:41:45 +00:00
|
|
|
void interrupt();
|
2022-12-30 18:44:55 +00:00
|
|
|
private:
|
|
|
|
class detail;
|
|
|
|
detail * d;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|