1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef OSP_PUBLIC_SERVER_CONFIG_H_ 6 #define OSP_PUBLIC_SERVER_CONFIG_H_ 7 8 #include <cstdint> 9 #include <vector> 10 11 #include "platform/api/network_interface.h" 12 #include "platform/base/ip_address.h" 13 14 namespace openscreen { 15 namespace osp { 16 17 struct ServerConfig { 18 ServerConfig(); 19 ~ServerConfig(); 20 21 // The indexes of network interfaces that should be used by the Open Screen 22 // Library. The indexes derive from the values of 23 // openscreen::InterfaceInfo::index. 24 std::vector<NetworkInterfaceIndex> interface_indexes; 25 26 // The list of connection endpoints that are advertised for Open Screen 27 // protocol connections. These must be reachable via one interface in 28 // |interface_indexes|. 29 std::vector<IPEndpoint> connection_endpoints; 30 }; 31 32 } // namespace osp 33 } // namespace openscreen 34 35 #endif // OSP_PUBLIC_SERVER_CONFIG_H_ 36