Index: chrome/browser/chrome_to_mobile/common/cloud_print_request.cc |
diff --git a/chrome/browser/chrome_to_mobile/common/cloud_print_request.cc b/chrome/browser/chrome_to_mobile/common/cloud_print_request.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8bf961ff2887d16f271872187a6ed2fca5f3bd66 |
--- /dev/null |
+++ b/chrome/browser/chrome_to_mobile/common/cloud_print_request.cc |
@@ -0,0 +1,91 @@ |
+// Copyright 2012 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. |
+ |
+#include "chrome/browser/chrome_to_mobile/common/cloud_print_request.h" |
+ |
+#include "chrome/browser/chrome_to_mobile/common/cloud_print_request_factory.h" |
+#include "chrome/browser/chrome_to_mobile/common/cloud_print_request_impl.h" |
+ |
+namespace chrome_to_mobile { |
+ |
+static CloudPrintRequestFactory* g_factory = NULL; |
+ |
+CloudPrintRequest::CloudPrintRequest() { |
+} |
+ |
+CloudPrintRequest::~CloudPrintRequest() { |
+} |
+ |
+CloudPrintRequest::Delegate::Delegate() { |
+} |
+ |
+CloudPrintRequest::Delegate::~Delegate() { |
+} |
+ |
+CloudPrintRequest::Settings::Settings( |
+ const std::string& cloud_print_client_id, |
+ net::URLRequestContextGetter* request_context_getter, |
+ OAuth2TokenService* oauth2_token_service) |
+ : cloud_print_client_id(cloud_print_client_id), |
+ request_context_getter(request_context_getter), |
+ oauth2_token_service(oauth2_token_service) { |
+}; |
+ |
+CloudPrintRequest::Settings::Settings() { |
+}; |
+ |
+// static |
+void CloudPrintRequest::SetFactory(CloudPrintRequestFactory* factory) { |
+ g_factory = factory; |
+} |
+ |
+// static |
+CloudPrintRequestFactory* CloudPrintRequest::GetFactory() { |
+ return g_factory; |
+} |
+ |
+// static |
+CloudPrintRequest* CloudPrintRequest::CreateAndStart( |
+ const GURL& request_url, |
+ const std::string& additional_header, |
+ const net::URLFetcher::RequestType& request_type, |
+ const std::string& post_data_mime_type, |
+ const std::string& post_data, |
+ const Settings& settings, |
+ Delegate* delegate) { |
+ CloudPrintRequestFactory* factory = CloudPrintRequest::GetFactory(); |
+ if (!factory) { |
+ CloudPrintRequestImpl* request = new CloudPrintRequestImpl( |
+ request_url, std::string(), request_type, post_data_mime_type, |
+ post_data, settings, delegate); |
+ request->Start(); |
+ return request; |
+ } |
+ return factory->CreateAndStart( |
+ request_url, additional_header, request_type, post_data_mime_type, |
+ post_data, settings, delegate); |
+} |
+ |
+// static |
+CloudPrintRequest* CloudPrintRequest::CreateAndStartPostRequest( |
+ const GURL& request_url, |
+ const std::string& post_data_mime_type, |
+ const std::string& post_data, |
+ const CloudPrintRequest::Settings& settings, |
+ CloudPrintRequest::Delegate* delegate) { |
+ return CreateAndStart(request_url, std::string(), net::URLFetcher::POST, |
+ post_data_mime_type, post_data, settings, delegate); |
+} |
+ |
+// static |
+CloudPrintRequest* CloudPrintRequest::CreateAndStartGetRequest( |
+ const GURL& request_url, |
+ const CloudPrintRequest::Settings& settings, |
+ CloudPrintRequest::Delegate* delegate) { |
+ return CreateAndStart(request_url, std::string(), net::URLFetcher::GET, |
+ std::string(), std::string(), settings, delegate); |
+} |
+ |
+} // namespace chrome_to_mobile |
+ |