xref: /aosp_15_r20/external/openscreen/osp/public/service_publisher.cc (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
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 Sanglard bool 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 Sanglard void ServicePublisher::SetConfig(const Config& config) {
24*3f982cf4SFabien Sanglard   config_ = config;
25*3f982cf4SFabien Sanglard }
26*3f982cf4SFabien Sanglard 
ServicePublisher(Observer * observer)27*3f982cf4SFabien Sanglard ServicePublisher::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