1a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// found in the LICENSE file. 4a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 5a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#ifndef CLOUD_PRINT_GCP20_PROTOTYPE_CLOUD_PRINT_URL_REQUEST_CONTEXT_GETTER_H_ 6a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#define CLOUD_PRINT_GCP20_PROTOTYPE_CLOUD_PRINT_URL_REQUEST_CONTEXT_GETTER_H_ 7a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 8a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "base/basictypes.h" 9a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "base/memory/scoped_ptr.h" 10a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "net/url_request/url_request_context_getter.h" 11a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 12a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Used to return a dummy context, which lives on the message loop 13a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// given in the constructor. 14a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)class CloudPrintURLRequestContextGetter : public net::URLRequestContextGetter { 15a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) public: 16a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) // |task_runner| must not be NULL. 17a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) explicit CloudPrintURLRequestContextGetter( 18a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) scoped_refptr<base::SingleThreadTaskRunner> task_runner); 19a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 20a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) // URLRequestContextGetter implementation. 21a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) virtual net::URLRequestContext* GetURLRequestContext() OVERRIDE; 22a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 23a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) virtual scoped_refptr<base::SingleThreadTaskRunner> 24a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) GetNetworkTaskRunner() const OVERRIDE; 25a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 26a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) private: 27a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) virtual ~CloudPrintURLRequestContextGetter(); 28a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 29a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; 30a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) scoped_ptr<net::URLRequestContext> context_; 31a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 32a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(CloudPrintURLRequestContextGetter); 33a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)}; 34a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 35a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#endif // CLOUD_PRINT_GCP20_PROTOTYPE_CLOUD_PRINT_URL_REQUEST_CONTEXT_GETTER_H_ 36a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 37