| Index: chrome/browser/sync/notifier/communicator/connection_settings.h
|
| ===================================================================
|
| --- chrome/browser/sync/notifier/communicator/connection_settings.h (revision 0)
|
| +++ chrome/browser/sync/notifier/communicator/connection_settings.h (revision 0)
|
| @@ -0,0 +1,78 @@
|
| +// Copyright (c) 2009 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.
|
| +
|
| +#ifndef CHROME_BROWSER_SYNC_NOTIFIER_COMMUNICATOR_CONNECTION_SETTINGS_H_
|
| +#define CHROME_BROWSER_SYNC_NOTIFIER_COMMUNICATOR_CONNECTION_SETTINGS_H_
|
| +#include <deque>
|
| +#include <string>
|
| +#include <vector>
|
| +
|
| +#include "talk/p2p/base/port.h"
|
| +
|
| +namespace buzz {
|
| + class XmppClientSettings;
|
| +}
|
| +
|
| +namespace notifier {
|
| +
|
| +class ConnectionSettings {
|
| + public:
|
| + ConnectionSettings() : protocol_(cricket::PROTO_TCP) {}
|
| +
|
| + cricket::ProtocolType protocol() { return protocol_; }
|
| + const talk_base::SocketAddress& server() const { return server_; }
|
| + const talk_base::ProxyInfo& proxy() const { return proxy_; }
|
| +
|
| + void set_protocol(cricket::ProtocolType protocol) { protocol_ = protocol; }
|
| + talk_base::SocketAddress* mutable_server() { return &server_; }
|
| + talk_base::ProxyInfo* mutable_proxy() { return &proxy_; }
|
| +
|
| + void FillXmppClientSettings(buzz::XmppClientSettings* xcs) const;
|
| +
|
| + private:
|
| + cricket::ProtocolType protocol_; // PROTO_TCP, PROTO_SSLTCP, etc.
|
| + talk_base::SocketAddress server_; // Server
|
| + talk_base::ProxyInfo proxy_; // Proxy info
|
| + // need copy constructor due to use in stl deque
|
| +};
|
| +
|
| +class ConnectionSettingsList {
|
| + public:
|
| + ConnectionSettingsList() {}
|
| +
|
| + void SetProxy(const talk_base::ProxyInfo& proxy) {
|
| + *(template_.mutable_proxy()) = proxy;
|
| + }
|
| +
|
| + const talk_base::ProxyInfo& proxy() const {
|
| + return template_.proxy();
|
| + }
|
| +
|
| + int GetCount() { return list_.size(); }
|
| + ConnectionSettings* GetSettings(size_t index) { return &list_[index]; }
|
| +
|
| + void ClearPermutations() {
|
| + list_.clear();
|
| + iplist_seen_.clear();
|
| + }
|
| +
|
| + void AddPermutations(const std::string& hostname,
|
| + const std::vector<uint32>& iplist,
|
| + int16 port,
|
| + bool special_port_magic,
|
| + bool proxy_only);
|
| + private:
|
| + void PermuteForAddress(const talk_base::SocketAddress& server,
|
| + bool special_port_magic,
|
| + bool proxy_only,
|
| + std::deque<ConnectionSettings>* list_temp);
|
| +
|
| + ConnectionSettings template_;
|
| + std::deque<ConnectionSettings> list_;
|
| + std::vector<uint32> iplist_seen_;
|
| + DISALLOW_COPY_AND_ASSIGN(ConnectionSettingsList);
|
| +};
|
| +} // namespace notifier
|
| +
|
| +#endif // CHROME_BROWSER_SYNC_NOTIFIER_COMMUNICATOR_CONNECTION_SETTINGS_H_
|
|
|
| Property changes on: chrome\browser\sync\notifier\communicator\connection_settings.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|