1*8f0ba417SAndroid Build Coastguard Worker /* 2*8f0ba417SAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project 3*8f0ba417SAndroid Build Coastguard Worker * 4*8f0ba417SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*8f0ba417SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*8f0ba417SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*8f0ba417SAndroid Build Coastguard Worker * 8*8f0ba417SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*8f0ba417SAndroid Build Coastguard Worker * 10*8f0ba417SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*8f0ba417SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*8f0ba417SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*8f0ba417SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*8f0ba417SAndroid Build Coastguard Worker * limitations under the License. 15*8f0ba417SAndroid Build Coastguard Worker */ 16*8f0ba417SAndroid Build Coastguard Worker 17*8f0ba417SAndroid Build Coastguard Worker #pragma once 18*8f0ba417SAndroid Build Coastguard Worker 19*8f0ba417SAndroid Build Coastguard Worker #include <string> 20*8f0ba417SAndroid Build Coastguard Worker 21*8f0ba417SAndroid Build Coastguard Worker namespace android { 22*8f0ba417SAndroid Build Coastguard Worker namespace base { 23*8f0ba417SAndroid Build Coastguard Worker 24*8f0ba417SAndroid Build Coastguard Worker // Parses |address| into |host| and |port|. 25*8f0ba417SAndroid Build Coastguard Worker // 26*8f0ba417SAndroid Build Coastguard Worker // If |address| doesn't contain a port number, the default value is taken from 27*8f0ba417SAndroid Build Coastguard Worker // |port|. If |canonical_address| is non-null it will be set to "host:port" or 28*8f0ba417SAndroid Build Coastguard Worker // "[host]:port" as appropriate. 29*8f0ba417SAndroid Build Coastguard Worker // 30*8f0ba417SAndroid Build Coastguard Worker // On failure, returns false and fills |error|. 31*8f0ba417SAndroid Build Coastguard Worker bool ParseNetAddress(const std::string& address, std::string* host, int* port, 32*8f0ba417SAndroid Build Coastguard Worker std::string* canonical_address, std::string* error); 33*8f0ba417SAndroid Build Coastguard Worker 34*8f0ba417SAndroid Build Coastguard Worker } // namespace base 35*8f0ba417SAndroid Build Coastguard Worker } // namespace android 36