You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.9 KiB
62 lines
1.9 KiB
// Copyright 2018 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "osp/public/protocol_connection_client.h"
|
|
|
|
namespace openscreen {
|
|
namespace osp {
|
|
|
|
ProtocolConnectionClient::ConnectRequest::ConnectRequest() = default;
|
|
|
|
ProtocolConnectionClient::ConnectRequest::ConnectRequest(
|
|
ProtocolConnectionClient* parent,
|
|
uint64_t request_id)
|
|
: parent_(parent), request_id_(request_id) {}
|
|
|
|
ProtocolConnectionClient::ConnectRequest::ConnectRequest(ConnectRequest&& other)
|
|
: parent_(other.parent_), request_id_(other.request_id_) {
|
|
other.request_id_ = 0;
|
|
}
|
|
|
|
ProtocolConnectionClient::ConnectRequest::~ConnectRequest() {
|
|
if (request_id_)
|
|
parent_->CancelConnectRequest(request_id_);
|
|
}
|
|
|
|
ProtocolConnectionClient::ConnectRequest&
|
|
ProtocolConnectionClient::ConnectRequest::operator=(ConnectRequest&& other) {
|
|
using std::swap;
|
|
swap(parent_, other.parent_);
|
|
swap(request_id_, other.request_id_);
|
|
return *this;
|
|
}
|
|
|
|
ProtocolConnectionClient::ProtocolConnectionClient(
|
|
MessageDemuxer* demuxer,
|
|
ProtocolConnectionServiceObserver* observer)
|
|
: demuxer_(demuxer),
|
|
endpoint_request_ids_(EndpointRequestIds::Role::kClient),
|
|
observer_(observer) {}
|
|
|
|
ProtocolConnectionClient::~ProtocolConnectionClient() = default;
|
|
|
|
std::ostream& operator<<(std::ostream& os,
|
|
ProtocolConnectionClient::State state) {
|
|
switch (state) {
|
|
case ProtocolConnectionClient::State::kStopped:
|
|
return os << "STOPPED";
|
|
case ProtocolConnectionClient::State::kStarting:
|
|
return os << "STARTING";
|
|
case ProtocolConnectionClient::State::kRunning:
|
|
return os << "RUNNING";
|
|
case ProtocolConnectionClient::State::kStopping:
|
|
return os << "STOPPING";
|
|
default:
|
|
return os << "UNKNOWN";
|
|
}
|
|
}
|
|
|
|
} // namespace osp
|
|
} // namespace openscreen
|