# Todo

- Remove the JSON support, or figure out why we need it
    - Figure out if the serializer plugin support is still useful inside of Qt
- Separate GRPC and protobuf support (protobuf is useful for other things)
    - Including examples and tests
- Update tests for the updated metatype system (or replace/remove those tests)
- ~~Replace the parsemessages.go file, presumably with a program compiled to be shipped with the SDK and runs on the 'host' platform~~
- Update the cmake files to be in line with other Qt modules
    - Including directory hierarchy (e.g. move tests to tests/auto)
- (Janitorial) Update documentation to use QDoc-style instead of doxygen-style
    - Needs to be cleaned and proofreaded.
- ~~Tests should be QTest instead of GTest (wouldn't impact users so not very important)~~
- Look into the memory usage of compiling generated files.
    - Preferably it should be lowered, so complexity or size of the generated file should decrease
- Rework types registration the way it's done for QML and resources.
- Rework gRPC and protobuf WrapComponent.cmake scripts. Add support of the
  ```-<system|qt>-protobuf``` and ```-<system|qt>-grpc``` options(Needed for Windows at least).
- Rework qt6_protobuf_generate
    - Collect PROTO_INCLUDES from the LINK_LIBRARIES property of TARGET
    - Compile static/shared library instead of object library - can improve compiling performance.
    - *Optional*: Collect proto files from the source files of the ${TARGET}
    - Add option to collect output source files
- Fix the installation of generated header files for the ProtobufQtTypes and ProtobufWellKnownTypes
  modules.
- Check if it makes sense to continue support of the multi-file generation.
- Complete porting of QtGrpcQuick qml module.
