#include "osp/impl/service_publisher_impl.h"
#include <algorithm>
#include <utility>
#include "util/osp_logging.h"
namespace openscreen::osp {
namespace {
bool IsTransitionValid(ServicePublisher::State from,
ServicePublisher::State to) { … }
}
ServicePublisherImpl::Delegate::Delegate() = default;
ServicePublisherImpl::Delegate::~Delegate() = default;
void ServicePublisherImpl::Delegate::SetPublisherImpl(
ServicePublisherImpl* publisher) { … }
ServicePublisherImpl::ServicePublisherImpl(std::unique_ptr<Delegate> delegate)
: … { … }
ServicePublisherImpl::~ServicePublisherImpl() = default;
void ServicePublisherImpl::OnError(const Error& error) { … }
bool ServicePublisherImpl::Start() { … }
bool ServicePublisherImpl::StartAndSuspend() { … }
bool ServicePublisherImpl::Stop() { … }
bool ServicePublisherImpl::Suspend() { … }
bool ServicePublisherImpl::Resume() { … }
void ServicePublisherImpl::AddObserver(Observer& observer) { … }
void ServicePublisherImpl::RemoveObserver(Observer& observer) { … }
void ServicePublisherImpl::OnFatalError(const Error& error) { … }
void ServicePublisherImpl::OnRecoverableError(const Error& error) { … }
void ServicePublisherImpl::SetState(State state) { … }
void ServicePublisherImpl::MaybeNotifyObserver() { … }
}