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

Unified Diff: chrome/service/cloud_print/cloud_print_helpers.cc

Issue 11360151: Move common cloud print methods from service/cloud_print to common/cloud_print. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/service/cloud_print/cloud_print_helpers.cc
diff --git a/chrome/service/cloud_print/cloud_print_helpers.cc b/chrome/service/cloud_print/cloud_print_helpers.cc
index 485bac3eec7156d4e02cd8723a27db2cb30c55dc..035c43f821140d58367206fa19857acd8ad2df72 100644
--- a/chrome/service/cloud_print/cloud_print_helpers.cc
+++ b/chrome/service/cloud_print/cloud_print_helpers.cc
@@ -17,33 +17,6 @@
#include "chrome/service/cloud_print/cloud_print_token_store.h"
#include "chrome/service/service_process.h"
-namespace {
-
-typedef std::map<std::string, std::string> PrinterTags;
-
-void GetPrinterTags(const printing::PrinterBasicInfo& printer,
- PrinterTags* printer_tags) {
- *printer_tags = printer.options;
- chrome::VersionInfo version_info;
- DCHECK(version_info.is_valid());
- (*printer_tags)[kChromeVersionTagName] = version_info.CreateVersionString();
- using base::SysInfo;
- (*printer_tags)[kSystemNameTagName] = SysInfo::OperatingSystemName();
- (*printer_tags)[kSystemVersionTagName] = SysInfo::OperatingSystemVersion();
-}
-
-std::string HashPrinterTags(const PrinterTags& strings) {
- std::string values_list;
- PrinterTags::const_iterator it;
- for (it = strings.begin(); it != strings.end(); ++it) {
- values_list.append(it->first);
- values_list.append(it->second);
- }
- return base::MD5String(values_list);
-}
-
-} // namespace
-
std::string StringFromJobStatus(cloud_print::PrintJobStatus status) {
std::string ret;
switch (status) {
@@ -64,79 +37,13 @@ std::string StringFromJobStatus(cloud_print::PrintJobStatus status) {
return ret;
}
-GURL CloudPrintHelpers::GetUrlForPrinterRegistration(
- const GURL& cloud_print_server_url) {
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "register"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- return cloud_print_server_url.ReplaceComponents(replacements);
-}
-
-GURL CloudPrintHelpers::GetUrlForPrinterUpdate(
- const GURL& cloud_print_server_url,
- const std::string& printer_id) {
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "update"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- std::string query = StringPrintf("printerid=%s", printer_id.c_str());
- replacements.SetQueryStr(query);
- return cloud_print_server_url.ReplaceComponents(replacements);
-}
-
-GURL CloudPrintHelpers::GetUrlForPrinterDelete(
- const GURL& cloud_print_server_url,
- const std::string& printer_id,
- const std::string& reason) {
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "delete"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- std::string query = StringPrintf("printerid=%s&reason=%s",
- printer_id.c_str(), reason.c_str());
- replacements.SetQueryStr(query);
- return cloud_print_server_url.ReplaceComponents(replacements);
-}
-
-GURL CloudPrintHelpers::GetUrlForPrinterList(const GURL& cloud_print_server_url,
- const std::string& proxy_id) {
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "list"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- std::string query = StringPrintf("proxy=%s", proxy_id.c_str());
- replacements.SetQueryStr(query);
- return cloud_print_server_url.ReplaceComponents(replacements);
-}
-
-GURL CloudPrintHelpers::GetUrlForJobFetch(const GURL& cloud_print_server_url,
- const std::string& printer_id,
- const std::string& reason) {
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "fetch"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- std::string query = StringPrintf("printerid=%s&deb=%s",
- printer_id.c_str(),
- reason.c_str());
- replacements.SetQueryStr(query);
- return cloud_print_server_url.ReplaceComponents(replacements);
-}
-
GURL CloudPrintHelpers::GetUrlForJobStatusUpdate(
const GURL& cloud_print_server_url,
const std::string& job_id,
cloud_print::PrintJobStatus status) {
- std::string status_string = StringFromJobStatus(status);
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "control"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- std::string query = StringPrintf("jobid=%s&status=%s",
- job_id.c_str(), status_string.c_str());
- replacements.SetQueryStr(query);
- return cloud_print_server_url.ReplaceComponents(replacements);
+ return cloud_print::GetUrlForJobStatusUpdate(cloud_print_server_url,
+ job_id,
+ StringFromJobStatus(status));
}
GURL CloudPrintHelpers::GetUrlForJobStatusUpdate(
@@ -161,84 +68,20 @@ GURL CloudPrintHelpers::GetUrlForJobStatusUpdate(
return cloud_print_server_url.ReplaceComponents(replacements);
}
-GURL CloudPrintHelpers::GetUrlForUserMessage(const GURL& cloud_print_server_url,
- const std::string& message_id) {
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "message"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- std::string query = StringPrintf("code=%s", message_id.c_str());
- replacements.SetQueryStr(query);
- return cloud_print_server_url.ReplaceComponents(replacements);
-}
-
-GURL CloudPrintHelpers::GetUrlForGetAuthCode(const GURL& cloud_print_server_url,
- const std::string& oauth_client_id,
- const std::string& proxy_id) {
- // We use the internal API "createrobot" instead of "getauthcode". This API
- // will add the robot as owner to all the existing printers for this user.
- std::string path(
- cloud_print::AppendPathToUrl(cloud_print_server_url, "createrobot"));
- GURL::Replacements replacements;
- replacements.SetPathStr(path);
- std::string query = StringPrintf("oauth_client_id=%s&proxy=%s",
- oauth_client_id.c_str(),
- proxy_id.c_str());
- replacements.SetQueryStr(query);
- return cloud_print_server_url.ReplaceComponents(replacements);
-}
-
std::string CloudPrintHelpers::GetHashOfPrinterTags(
const printing::PrinterBasicInfo& printer) {
- PrinterTags printer_tags;
- GetPrinterTags(printer, &printer_tags);
- std::string values_list;
- for (PrinterTags::const_iterator it = printer_tags.begin();
- it != printer_tags.end(); ++it) {
- values_list.append(it->first);
- values_list.append(it->second);
- }
- return base::MD5String(values_list);
+ return cloud_print::GetHashOfPrinterTags(printer.options);
}
std::string CloudPrintHelpers::GetPostDataForPrinterTags(
const printing::PrinterBasicInfo& printer,
const std::string& mime_boundary) {
- PrinterTags printer_tags;
- GetPrinterTags(printer, &printer_tags);
- std::string post_data;
- for (PrinterTags::const_iterator it = printer_tags.begin();
- it != printer_tags.end(); ++it) {
- // TODO(gene) Escape '=' char from name. Warning for now.
- if (it->first.find('=') != std::string::npos) {
- LOG(WARNING) <<
- "CP_PROXY: Printer option name contains '=' character";
- NOTREACHED();
- }
- // All our tags have a special prefix to identify them as such.
- std::string msg(kProxyTagPrefix);
- msg += it->first;
- msg += "=";
- msg += it->second;
- cloud_print::AddMultipartValueForUpload(kPrinterTagValue, msg,
- mime_boundary, std::string(), &post_data);
- }
- std::string tags_hash_msg(kTagsHashTagName);
- tags_hash_msg += "=";
- tags_hash_msg += HashPrinterTags(printer_tags);
- cloud_print::AddMultipartValueForUpload(kPrinterTagValue, tags_hash_msg,
- mime_boundary, std::string(),
- &post_data);
- return post_data;
+ return cloud_print::GetPostDataForPrinterTags(
+ printer.options, mime_boundary, kProxyTagPrefix, kTagsHashTagName);
}
bool CloudPrintHelpers::IsDryRunJob(const std::vector<std::string>& tags) {
- std::vector<std::string>::const_iterator it;
- for (it = tags.begin(); it != tags.end(); ++it) {
- if (*it == kTagDryRunFlag)
- return true;
- }
- return false;
+ return cloud_print::IsDryRunJob(tags, kTagDryRunFlag);
msw 2012/11/17 00:22:30 Do you expect other dry run flags to be specified?
Chen Yu 2012/11/26 12:07:06 Done.
}
std::string CloudPrintHelpers::GetCloudPrintAuthHeaderFromStore() {
@@ -249,13 +92,6 @@ std::string CloudPrintHelpers::GetCloudPrintAuthHeaderFromStore() {
LOG(ERROR) << "CP_PROXY: Missing OAuth token for request";
return std::string();
}
- return GetCloudPrintAuthHeader(token_store->token());
+ return cloud_print::GetCloudPrintAuthHeader(token_store->token());
}
-std::string CloudPrintHelpers::GetCloudPrintAuthHeader(
- const std::string& auth_token) {
- std::string header;
- header = "Authorization: OAuth ";
- header += auth_token;
- return header;
-}

Powered by Google App Engine
This is Rietveld 408576698