close https://github.com/livekit/client-sdk-flutter/issues/734 - [x] Windows - [x] Linux 
51 lines
1.6 KiB
C++
51 lines
1.6 KiB
C++
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef FLUTTER_SHELL_PLATFORM_COMMON_CLIENT_WRAPPER_BINARY_MESSENGER_IMPL_H_
|
|
#define FLUTTER_SHELL_PLATFORM_COMMON_CLIENT_WRAPPER_BINARY_MESSENGER_IMPL_H_
|
|
|
|
#include <flutter_linux/flutter_linux.h>
|
|
|
|
#include <map>
|
|
#include <string>
|
|
|
|
#include "include/flutter/binary_messenger.h"
|
|
|
|
namespace flutter {
|
|
|
|
// Wrapper around a FlutterDesktopMessengerRef that implements the
|
|
// BinaryMessenger API.
|
|
class BinaryMessengerImpl : public BinaryMessenger {
|
|
public:
|
|
explicit BinaryMessengerImpl(FlBinaryMessenger* core_messenger);
|
|
|
|
virtual ~BinaryMessengerImpl();
|
|
|
|
// Prevent copying.
|
|
BinaryMessengerImpl(BinaryMessengerImpl const&) = delete;
|
|
BinaryMessengerImpl& operator=(BinaryMessengerImpl const&) = delete;
|
|
|
|
// |flutter::BinaryMessenger|
|
|
void Send(const std::string& channel,
|
|
const uint8_t* message,
|
|
size_t message_size,
|
|
BinaryReply reply) const override;
|
|
|
|
// |flutter::BinaryMessenger|
|
|
void SetMessageHandler(const std::string& channel,
|
|
BinaryMessageHandler handler) override;
|
|
|
|
private:
|
|
// Handle for interacting with the C API.
|
|
FlBinaryMessenger* messenger_;
|
|
|
|
// A map from channel names to the BinaryMessageHandler that should be called
|
|
// for incoming messages on that channel.
|
|
std::map<std::string, BinaryMessageHandler> handlers_;
|
|
};
|
|
|
|
} // namespace flutter
|
|
|
|
#endif // FLUTTER_SHELL_PLATFORM_COMMON_CLIENT_WRAPPER_BINARY_MESSENGER_IMPL_H_
|