Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(806)

Side by Side Diff: chrome/service/cloud_print/cloud_print_helpers.cc

Issue 55143012: Renamed chrome/service/cloud_print/cloud_print_helpers* -> cloud_print_service_helpers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 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
5 #include "chrome/service/cloud_print/cloud_print_helpers.h"
6
7 #include "base/strings/stringprintf.h"
8 #include "chrome/common/cloud_print/cloud_print_constants.h"
9 #include "chrome/common/cloud_print/cloud_print_helpers.h"
10 #include "chrome/service/cloud_print/cloud_print_token_store.h"
11 #include "chrome/service/service_process.h"
12
13 namespace {
14
15 std::string StringFromJobStatus(cloud_print::PrintJobStatus status) {
16 std::string ret;
17 switch (status) {
18 case cloud_print::PRINT_JOB_STATUS_IN_PROGRESS:
19 ret = "IN_PROGRESS";
20 break;
21 case cloud_print::PRINT_JOB_STATUS_ERROR:
22 ret = "ERROR";
23 break;
24 case cloud_print::PRINT_JOB_STATUS_COMPLETED:
25 ret = "DONE";
26 break;
27 default:
28 ret = "UNKNOWN";
29 NOTREACHED();
30 break;
31 }
32 return ret;
33 }
34
35 } // namespace
36
37 namespace cloud_print {
38
39 GURL GetUrlForJobStatusUpdate(const GURL& cloud_print_server_url,
40 const std::string& job_id,
41 PrintJobStatus status,
42 int connector_code) {
43 return GetUrlForJobStatusUpdate(cloud_print_server_url,
44 job_id,
45 StringFromJobStatus(status),
46 connector_code);
47 }
48
49 GURL GetUrlForJobStatusUpdate(const GURL& cloud_print_server_url,
50 const std::string& job_id,
51 const PrintJobDetails& details) {
52 std::string status_string = StringFromJobStatus(details.status);
53 std::string path(AppendPathToUrl(cloud_print_server_url, "control"));
54 GURL::Replacements replacements;
55 replacements.SetPathStr(path);
56 std::string query =
57 base::StringPrintf("jobid=%s&status=%s&code=%d&message=%s"
58 "&numpages=%d&pagesprinted=%d",
59 job_id.c_str(),
60 status_string.c_str(),
61 details.platform_status_flags,
62 details.status_message.c_str(),
63 details.total_pages,
64 details.pages_printed);
65 replacements.SetQueryStr(query);
66 return cloud_print_server_url.ReplaceComponents(replacements);
67 }
68
69 std::string GetHashOfPrinterInfo(
70 const printing::PrinterBasicInfo& printer_info) {
71 return GetHashOfPrinterTags(printer_info.options);
72 }
73
74 std::string GetPostDataForPrinterInfo(
75 const printing::PrinterBasicInfo& printer_info,
76 const std::string& mime_boundary) {
77 return GetPostDataForPrinterTags(
78 printer_info.options,
79 mime_boundary,
80 kCloudPrintServiceProxyTagPrefix,
81 kCloudPrintServiceTagsHashTagName);
82 }
83
84 bool IsDryRunJob(const std::vector<std::string>& tags) {
85 return std::find(tags.begin(), tags.end(),
86 std::string(kCloudPrintServiceTagDryRunFlag)) != tags.end();
87 }
88
89 std::string GetCloudPrintAuthHeaderFromStore() {
90 CloudPrintTokenStore* token_store = CloudPrintTokenStore::current();
91 if (!token_store || token_store->token().empty()) {
92 // Using LOG here for critical errors. GCP connector may run in the headless
93 // mode and error indication might be useful for user in that case.
94 LOG(ERROR) << "CP_PROXY: Missing OAuth token for request";
95 return std::string();
96 }
97 return GetCloudPrintAuthHeader(token_store->token());
98 }
99
100 } // namespace cloud_print
OLDNEW
« no previous file with comments | « chrome/service/cloud_print/cloud_print_helpers.h ('k') | chrome/service/cloud_print/cloud_print_helpers_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698