// Copyright 2020 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_SENDER_CAST_PLATFORM_CLIENT_H_ #define CAST_SENDER_CAST_PLATFORM_CLIENT_H_ #include <functional> #include <map> #include <memory> #include <optional> #include <string> #include <vector> #include "cast/common/channel/cast_message_handler.h" #include "cast/sender/channel/message_util.h" #include "util/alarm.h" #include "util/json/json_value.h" namespace openscreen::cast { struct ReceiverInfo; class VirtualConnectionRouter; // This class handles Cast messages that generally relate to the "platform", in // other words not a specific app currently running (e.g. app availability, // receiver status). These messages follow a request/response format, so each // request requires a corresponding response callback. These requests will also // timeout if there is no response after a certain amount of time (currently 5 // seconds). The timeout callbacks will be called on the thread managed by // |task_runner|. class CastPlatformClient final : public CastMessageHandler { … }; } // namespace openscreen::cast #endif // CAST_SENDER_CAST_PLATFORM_CLIENT_H_