Chromium Code Reviews| 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; |
| -} |