Files
rk35xx-android14/external/openscreen/osp/impl/presentation/presentation_common.cc
T
hmz007 36ed224bac Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
Signed-off-by: hmz007 <hmz007@gmail.com>
Change-Id: Ib87fdbe7a0be7dc961af3500fe9ea4589a127f9f
2024-10-29 18:12:02 +08:00

47 lines
1.2 KiB
C++

// Copyright 2019 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/impl/presentation/presentation_common.h"
#include "absl/strings/ascii.h"
namespace openscreen {
namespace osp {
std::unique_ptr<ProtocolConnection> GetProtocolConnection(
uint64_t endpoint_id) {
return NetworkServiceManager::Get()
->GetProtocolConnectionServer()
->CreateProtocolConnection(endpoint_id);
}
MessageDemuxer* GetServerDemuxer() {
return NetworkServiceManager::Get()
->GetProtocolConnectionServer()
->message_demuxer();
}
MessageDemuxer* GetClientDemuxer() {
return NetworkServiceManager::Get()
->GetProtocolConnectionClient()
->message_demuxer();
}
PresentationID::PresentationID(std::string presentation_id)
: id_(Error::Code::kParseError) {
// The spec dictates that the presentation ID must be composed
// of at least 16 ASCII characters.
bool is_valid = presentation_id.length() >= 16;
for (const char& c : presentation_id) {
is_valid &= absl::ascii_isprint(c);
}
if (is_valid) {
id_ = std::move(presentation_id);
}
}
} // namespace osp
} // namespace openscreen