| // 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 |