diff options
author | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-25 20:05:44 +0000 |
---|---|---|
committer | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-25 20:05:44 +0000 |
commit | 8e553f499860ac0b3bdea8326b7bc95a7650e250 (patch) | |
tree | 7c28ec6cbfae93e10038d97507a936a6e918aa2b /printing/backend/cups_helper.cc | |
parent | 992848f4eb2e39e73b0bc2932253e9396eaf0369 (diff) | |
download | chromium_src-8e553f499860ac0b3bdea8326b7bc95a7650e250.zip chromium_src-8e553f499860ac0b3bdea8326b7bc95a7650e250.tar.gz chromium_src-8e553f499860ac0b3bdea8326b7bc95a7650e250.tar.bz2 |
Move useful printing backend code from chrome/service/cloud_print to printing/backend.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3945003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63772 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/backend/cups_helper.cc')
-rw-r--r-- | printing/backend/cups_helper.cc | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/printing/backend/cups_helper.cc b/printing/backend/cups_helper.cc new file mode 100644 index 0000000..2c3b853 --- /dev/null +++ b/printing/backend/cups_helper.cc @@ -0,0 +1,44 @@ +// Copyright (c) 2010 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 "printing/backend/cups_helper.h" + +#include "base/logging.h" +#include "googleurl/src/gurl.h" + +namespace printing { + +// Default port for IPP print servers. +static const int kDefaultIPPServerPort = 631; + +// Helper wrapper around http_t structure, with connection and cleanup +// functionality. +HttpConnectionCUPS::HttpConnectionCUPS(const GURL& print_server_url) + : http_(NULL) { + // If we have an empty url, use default print server. + if (print_server_url.is_empty()) + return; + + int port = print_server_url.IntPort(); + if (port == url_parse::PORT_UNSPECIFIED) + port = kDefaultIPPServerPort; + + http_ = httpConnectEncrypt(print_server_url.host().c_str(), port, + HTTP_ENCRYPT_NEVER); + if (http_ == NULL) { + LOG(ERROR) << "CP_CUPS: Failed connecting to print server: " << + print_server_url; + } +} + +HttpConnectionCUPS::~HttpConnectionCUPS() { + if (http_ != NULL) + httpClose(http_); +} + +http_t* HttpConnectionCUPS::http() { + return http_; +} + +} // namespace printing |