| Index: remoting/protocol/port_range.h
|
| diff --git a/remoting/protocol/port_range.h b/remoting/protocol/port_range.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1ec5b20f2d226731a024b330e1242f3d13982099
|
| --- /dev/null
|
| +++ b/remoting/protocol/port_range.h
|
| @@ -0,0 +1,39 @@
|
| +// Copyright 2015 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 REMOTING_PROTOCOL_PORT_RANGE_H_
|
| +#define REMOTING_PROTOCOL_PORT_RANGE_H_
|
| +
|
| +#include <ostream>
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +
|
| +namespace remoting {
|
| +
|
| +// Wrapper for a value of UdpPortRange policy.
|
| +struct PortRange {
|
| + // Both |min_port| and |max_port| are inclusive.
|
| + uint16 min_port;
|
| + uint16 max_port;
|
| +
|
| + // Returns true if |port_range| passed to Parse was an empty string
|
| + // (or if |this| has been initialized by the default constructor below).
|
| + inline bool is_null() const { return (min_port == 0) && (max_port == 0); }
|
| +
|
| + // Parse string in the form "<min_port>-<max_port>". E.g. "12400-12409".
|
| + // Returns true if string was parsed successfuly.
|
| + //
|
| + // Returns false and doesn't modify |result| if parsing fails (i.e. when
|
| + // |port_range| doesn't represent a valid port range).
|
| + static bool Parse(const std::string& port_range, PortRange* result);
|
| +
|
| + PortRange() : min_port(0), max_port(0) {}
|
| +};
|
| +
|
| +std::ostream& operator<<(std::ostream& os, const PortRange& port_range);
|
| +
|
| +} // namespace remoting
|
| +
|
| +#endif // REMOTING_PROTOCOL_PORT_RANGE_H_
|
|
|