blob: df9ca926ebd116ef27eb7078e2fbb4539507b267 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SYNC_TEST_FAKE_SERVER_FAKE_SERVER_NETWORK_RESOURCES_H_
#define COMPONENTS_SYNC_TEST_FAKE_SERVER_FAKE_SERVER_NETWORK_RESOURCES_H_
#include <memory>
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "base/single_thread_task_runner.h"
#include "components/sync/engine/net/network_resources.h"
#include "components/sync/engine/net/network_time_update_callback.h"
namespace network {
class SharedURLLoaderFactoryInfo;
} // namespace network
namespace fake_server {
class FakeServer;
class HttpPostProviderFactory;
class FakeServerNetworkResources : public syncer::NetworkResources {
public:
explicit FakeServerNetworkResources(
const base::WeakPtr<FakeServer>& fake_server);
~FakeServerNetworkResources() override;
// NetworkResources
std::unique_ptr<syncer::HttpPostProviderFactory> GetHttpPostProviderFactory(
std::unique_ptr<network::SharedURLLoaderFactoryInfo>
url_loader_factory_info,
const syncer::NetworkTimeUpdateCallback& network_time_update_callback,
syncer::CancelationSignal* cancelation_signal) override;
private:
base::WeakPtr<FakeServer> fake_server_;
scoped_refptr<base::SingleThreadTaskRunner> fake_server_task_runner_;
};
} // namespace fake_server
#endif // COMPONENTS_SYNC_TEST_FAKE_SERVER_FAKE_SERVER_NETWORK_RESOURCES_H_