Skip to content

Investigate moving core codecs into library for C++ shells #30669

@stuartmorgan-g

Description

@stuartmorgan-g

The current structure of the C++ plugin code (used by Linux and Windows shells) is that all of the encoding/decoding is the client wrapper, which means that each plugin needs a copy of it. E.g., if a plugin uses the JSON codec, it has to not only build json_*_codec.cc, but statically link a copy of jsoncpp.

The wrapper library will probably continue to provide the generic templated codec code, for implementing custom codecs, but if possible implementations of the core codecs should be available in the shared library for ease of use. This would mean making a type hierarchy (as is needed for Standard*Codec already) that can be passed through an ABI-friendly API, so that objects can be constructed outside the library, passed in, and then converted to binary (which would need to be owned by the library and provide a deleter function).

Metadata

Metadata

Labels

a: desktopRunning on desktopengineflutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyplatform-windowsBuilding on or for Windows specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions