Commit Graph

9 Commits

Author SHA1 Message Date
gaaclarke 89e395853c Refactor to passing functions by const ref (#13975)
Moved our code to passing functions by const ref
2019-11-22 12:20:02 -08:00
stuartmorgan 709fc6e00c Adds PluginRegistry to the C++ client wrapper API (#12287)
Makes the plugin registration structure consistent with macOS. This will
be used in generated plugin registrant files rather than a specific
implemenation class, so this helps unblock the creation of generated
registrants on Windows and Linux.
2019-09-17 11:41:22 -07:00
Francisco Magdaleno ef26c460ab Finish plumbing message responses on method channels (#11877) 2019-09-04 16:17:10 -07:00
Chris Bracken 92c63e848a Ensure trailing newline before EOF in C++ sources (#11489)
In generated text fixture location lookup code:
When the second argument to write_file() is a list, it is written one
item per line to the path specified by the first argument. This ensures
that we emit a trailing newline at EOF to comply with -Wnewline-eof.

Elsewhere:
Lack of a newline at EOF was undefined behaviour prior to C++11. The
Fuchsia tree sets -Wnewline-eof in its buildroot, so we plan to do the
same. This cleans up remaining first-party C++ sources that don't
include a trailing newline.
2019-08-27 00:13:00 -07:00
Francisco Magdaleno 6aad13910c [glfw] Enables replies on binary messenger in glfw embedder (#9948) 2019-07-31 14:27:46 -07:00
stuartmorgan 62ab9c7b81 Provide access to GLFW window in plugins (#8806)
Plugins may need to be able to access functions affecting the GLFW
window (e.g., a plugin to resize the window). This restructures the API
to create a distinction at both the C and C++ level between the window
controller, which provides access to high-level behaviors driving the
Flutter application, and the window, which provides access to functions
to affect the UI state of the window (i.e., wrapped GLFWwindow
functions).

Also provides a PluginRegistrar extension for plugins that need access
to GLFW-specific functionality.
2019-05-06 15:37:02 -04:00
stuartmorgan 4805d72a49 Implement StandardMethodCodec for C++ shells (#8598)
Adds StandardMethodCodec support to the C++ client wrapper. This makes it
substantially easier to add Windows and Linux support for existing plugins, as
StandardMethodCodec is the default plugin protocol.

Fixes flutter/flutter#30670

Does not include extensibility for the codec, which will be added later.
2019-04-16 19:49:09 -07:00
stuartmorgan b819b62bed Variant type for C++ client wrapper (#8592)
Adds a type that can hold any of the types corresponding to the Dart types
that are supported by the standard message channel codec. This provides
the foundation for adding standard message codec support for the C++
desktop shells (flutter/flutter#30670).
2019-04-16 16:33:07 -07:00
stuartmorgan d452dd5c36 Initial import of GLFW Linux shell from FDE (#8159)
Changes include:
- File structure
- Header guards
- Include paths
- Namespaces
- Integration with the engine's GN build
- Conversion from jsoncpp to rapidjson
- Style and clang-format adjustment to match engine repository
2019-03-20 17:15:52 -04:00