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

Unified Diff: remoting/protocol/port_range.h

Issue 966433002: Malformed PortRange or ThirdPartyAuthConfig trigger OnPolicyError. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing a Windows-specific, pre-processor-related build break. Created 5 years, 10 months 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
« no previous file with comments | « remoting/protocol/network_settings_unittest.cc ('k') | remoting/protocol/port_range.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « remoting/protocol/network_settings_unittest.cc ('k') | remoting/protocol/port_range.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698