1*3f982cf4SFabien Sanglard // Copyright 2018 The Chromium Authors. All rights reserved. 2*3f982cf4SFabien Sanglard // Use of this source code is governed by a BSD-style license that can be 3*3f982cf4SFabien Sanglard // found in the LICENSE file. 4*3f982cf4SFabien Sanglard 5*3f982cf4SFabien Sanglard #include "osp/public/service_publisher.h" 6*3f982cf4SFabien Sanglard 7*3f982cf4SFabien Sanglard namespace openscreen { 8*3f982cf4SFabien Sanglard namespace osp { 9*3f982cf4SFabien Sanglard 10*3f982cf4SFabien Sanglard ServicePublisher::Metrics::Metrics() = default; 11*3f982cf4SFabien Sanglard ServicePublisher::Metrics::~Metrics() = default; 12*3f982cf4SFabien Sanglard 13*3f982cf4SFabien Sanglard ServicePublisher::Config::Config() = default; 14*3f982cf4SFabien Sanglard ServicePublisher::Config::~Config() = default; 15*3f982cf4SFabien Sanglard IsValid() const16*3f982cf4SFabien Sanglardbool ServicePublisher::Config::IsValid() const { 17*3f982cf4SFabien Sanglard return !friendly_name.empty() && !service_instance_name.empty() && 18*3f982cf4SFabien Sanglard connection_server_port > 0 && !network_interfaces.empty(); 19*3f982cf4SFabien Sanglard } 20*3f982cf4SFabien Sanglard 21*3f982cf4SFabien Sanglard ServicePublisher::~ServicePublisher() = default; 22*3f982cf4SFabien Sanglard SetConfig(const Config & config)23*3f982cf4SFabien Sanglardvoid ServicePublisher::SetConfig(const Config& config) { 24*3f982cf4SFabien Sanglard config_ = config; 25*3f982cf4SFabien Sanglard } 26*3f982cf4SFabien Sanglard ServicePublisher(Observer * observer)27*3f982cf4SFabien SanglardServicePublisher::ServicePublisher(Observer* observer) 28*3f982cf4SFabien Sanglard : state_(State::kStopped), observer_(observer) {} 29*3f982cf4SFabien Sanglard 30*3f982cf4SFabien Sanglard } // namespace osp 31*3f982cf4SFabien Sanglard } // namespace openscreen 32