#ifndef COMPONENTS_SYNC_ENGINE_NET_SYNC_SERVER_CONNECTION_MANAGER_H_
#define COMPONENTS_SYNC_ENGINE_NET_SYNC_SERVER_CONNECTION_MANAGER_H_
#include <memory>
#include <string>
#include "base/compiler_specific.h"
#include "base/gtest_prod_util.h"
#include "base/memory/raw_ptr.h"
#include "components/sync/engine/net/server_connection_manager.h"
#include "url/gurl.h"
namespace syncer {
class CancelationSignal;
class HttpPostProviderFactory;
class SyncServerConnectionManager : public ServerConnectionManager {
public:
SyncServerConnectionManager(const GURL& sync_request_url,
std::unique_ptr<HttpPostProviderFactory> factory,
CancelationSignal* cancelation_signal);
SyncServerConnectionManager(const SyncServerConnectionManager&) = delete;
SyncServerConnectionManager& operator=(const SyncServerConnectionManager&) =
delete;
~SyncServerConnectionManager() override;
HttpResponse PostBuffer(const std::string& buffer_in,
const std::string& access_token,
bool allow_batching,
std::string* buffer_out) override;
private:
const GURL sync_request_url_;
std::unique_ptr<HttpPostProviderFactory> post_provider_factory_;
const raw_ptr<CancelationSignal> cancelation_signal_;
};
}
#endif