gcm_desktop_utils.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // Copyright 2014 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef COMPONENTS_GCM_DRIVER_GCM_DESKTOP_UTILS_H_
  5. #define COMPONENTS_GCM_DRIVER_GCM_DESKTOP_UTILS_H_
  6. #include <memory>
  7. #include "base/memory/ref_counted.h"
  8. #include "base/task/sequenced_task_runner.h"
  9. #include "components/version_info/version_info.h"
  10. #include "mojo/public/cpp/bindings/pending_receiver.h"
  11. #include "services/network/public/mojom/proxy_resolving_socket.mojom-forward.h"
  12. class PrefService;
  13. namespace base {
  14. class FilePath;
  15. }
  16. namespace network {
  17. class NetworkConnectionTracker;
  18. class SharedURLLoaderFactory;
  19. }
  20. namespace gcm {
  21. class GCMDriver;
  22. class GCMClientFactory;
  23. std::unique_ptr<GCMDriver> CreateGCMDriverDesktop(
  24. std::unique_ptr<GCMClientFactory> gcm_client_factory,
  25. PrefService* prefs,
  26. const base::FilePath& store_path,
  27. bool remove_account_mappings_with_email_key,
  28. base::RepeatingCallback<void(
  29. mojo::PendingReceiver<network::mojom::ProxyResolvingSocketFactory>)>
  30. get_socket_factory_callback,
  31. scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
  32. network::NetworkConnectionTracker* network_connection_tracker,
  33. version_info::Channel channel,
  34. const std::string& product_category_for_subtypes,
  35. const scoped_refptr<base::SequencedTaskRunner>& ui_task_runner,
  36. const scoped_refptr<base::SequencedTaskRunner>& io_task_runner,
  37. const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner);
  38. } // namespace gcm
  39. #endif // COMPONENTS_GCM_DRIVER_GCM_DESKTOP_UTILS_H_