| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | #include "include/appflowy_backend/app_flowy_backend_plugin.h"// This must be included before many other Windows headers.#include <windows.h>// For getPlatformVersion; remove unless needed for your plugin implementation.#include <VersionHelpers.h>#include <flutter/method_channel.h>#include <flutter/plugin_registrar_windows.h>#include <flutter/standard_method_codec.h>#include <map>#include <memory>#include <sstream>namespace {class AppFlowyBackendPlugin : public flutter::Plugin { public:  static void RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar);  AppFlowyBackendPlugin();  virtual ~AppFlowyBackendPlugin(); private:  // Called when a method is called on this plugin's channel from Dart.  void HandleMethodCall(      const flutter::MethodCall<flutter::EncodableValue> &method_call,      std::unique_ptr<flutter::MethodResult<flutter::EncodableValue>> result);};// staticvoid AppFlowyBackendPlugin::RegisterWithRegistrar(    flutter::PluginRegistrarWindows *registrar) {  auto channel =      std::make_unique<flutter::MethodChannel<flutter::EncodableValue>>(          registrar->messenger(), "appflowy_backend",          &flutter::StandardMethodCodec::GetInstance());  auto plugin = std::make_unique<AppFlowyBackendPlugin>();  channel->SetMethodCallHandler(      [plugin_pointer = plugin.get()](const auto &call, auto result) {        plugin_pointer->HandleMethodCall(call, std::move(result));      });  registrar->AddPlugin(std::move(plugin));}AppFlowyBackendPlugin::AppFlowyBackendPlugin() {}AppFlowyBackendPlugin::~AppFlowyBackendPlugin() {}void AppFlowyBackendPlugin::HandleMethodCall(    const flutter::MethodCall<flutter::EncodableValue> &method_call,    std::unique_ptr<flutter::MethodResult<flutter::EncodableValue>> result) {  if (method_call.method_name().compare("getPlatformVersion") == 0) {    std::ostringstream version_stream;    version_stream << "Windows ";    if (IsWindows10OrGreater()) {      version_stream << "10+";    } else if (IsWindows8OrGreater()) {      version_stream << "8";    } else if (IsWindows7OrGreater()) {      version_stream << "7";    }    result->Success(flutter::EncodableValue(version_stream.str()));  } else {    result->NotImplemented();  }}}  // namespacevoid AppFlowyBackendPluginRegisterWithRegistrar(    FlutterDesktopPluginRegistrarRef registrar) {  AppFlowyBackendPlugin::RegisterWithRegistrar(      flutter::PluginRegistrarManager::GetInstance()          ->GetRegistrar<flutter::PluginRegistrarWindows>(registrar));}
 |