| // 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_WINDOWS_FLUTTER_WINDOW_STATE_H_ |
| #define FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_WINDOW_STATE_H_ |
| |
| #include "flutter/shell/platform/common/cpp/client_wrapper/include/flutter/plugin_registrar.h" |
| #include "flutter/shell/platform/common/cpp/incoming_message_dispatcher.h" |
| #include "flutter/shell/platform/embedder/embedder.h" |
| |
| // Structs backing the opaque references used in the C API. |
| // |
| // DO NOT ADD ANY NEW CODE HERE. These are legacy, and are being phased out |
| // in favor of objects that own and manage the relevant functionality. |
| |
| namespace flutter { |
| struct FlutterWindowsEngine; |
| struct FlutterWindowsView; |
| } // namespace flutter |
| |
| // Wrapper to distinguish the view controller ref from the view ref given out |
| // in the C API. |
| struct FlutterDesktopViewControllerState { |
| // The view that backs this state object. |
| std::unique_ptr<flutter::FlutterWindowsView> view; |
| }; |
| |
| // Wrapper to distinguish the plugin registrar ref from the engine ref given out |
| // in the C API. |
| struct FlutterDesktopPluginRegistrar { |
| // The engine that owns this state object. |
| flutter::FlutterWindowsEngine* engine = nullptr; |
| }; |
| |
| // Wrapper to distinguish the messenger ref from the engine ref given out |
| // in the C API. |
| struct FlutterDesktopMessenger { |
| // The engine that owns this state object. |
| flutter::FlutterWindowsEngine* engine = nullptr; |
| }; |
| |
| #endif // FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_WINDOW_STATE_H_ |