chromium/third_party/openscreen/src/cast/common/public/cast_streaming_app_ids.h

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CAST_COMMON_PUBLIC_CAST_STREAMING_APP_IDS_H_
#define CAST_COMMON_PUBLIC_CAST_STREAMING_APP_IDS_H_

#include <string>
#include <vector>

namespace openscreen::cast {

// Returns true only if |app_id| matches the Cast application ID for the
// corresponding Chromium Cast Streaming receiver application.
//
// TODO(b/204583004): Use std::string_view instead of std::string following the
// move to C++17 so that these comparisons can be made constexpr.
bool IsCastStreamingAppId(const std::string& app_id);
bool IsCastStreamingAudioVideoAppId(const std::string& app_id);
bool IsCastStreamingAudioOnlyAppId(const std::string& app_id);

// Returns true only if |app_id| matches any Cast Streaming app ID.
bool IsCastStreamingReceiverAppId(const std::string& app_id);

// Returns all app IDs for Cast Streaming receivers.
std::vector<std::string> GetCastStreamingAppIds();

// Returns the app ID for for the default audio and video streaming receiver.
constexpr const char* GetCastStreamingAudioVideoAppId() {}

// Returns the app ID for the for the default audio-only streaming receiver.
constexpr const char* GetCastStreamingAudioOnlyAppId() {}

// Returns the app ID for for the Android audio and video streaming receiver.
constexpr const char* GetAndroidMirroringAudioVideoAppId() {}

// Returns the app ID for for the Android audio-only streaming receiver.
constexpr const char* GetAndroidMirroringAudioOnlyAppId() {}

// Returns the app ID for the audio and video streaming receiver used by Android
// apps.
constexpr const char* GetAndroidAppStreamingAudioVideoAppId() {}

// Returns the app ID for the audio and video streaming receiver used by iOS
// apps.
constexpr const char* GetIosAppStreamingAudioVideoAppId() {}

}  // namespace openscreen::cast

#endif  // CAST_COMMON_PUBLIC_CAST_STREAMING_APP_IDS_H_