SoK/2022/StatusReport/Ayush Singh
Rust Wrapper of KConfig
KDE Projects are currently predominantly written in C++ and Python since the bindings for other projects are simply not present or are not idiomatic to use. I am working on Rust bindings for KConfig KDE Framework. The bindings can be found here. As a consequence of this project, I ended up contributing upstream to qmetaobject and became a collaborator in that project.
Mentor
- Jos van den Oever
Features Available
The bindings for the following parts are pretty much complete and have all the features:
Some work has already been done for KConfigXT like feature, but that is still in the early stages and not ready to be used yet.
Documentation
Published Crates
The following are the links to the crates that have been published:
Blog Posts
Commits
All the commits are made by me in the kconfig-rs repository, so I will not be listing them individually.
I also ended up contributing heavily to qmetaobject. Here is a list of pull requests that were merged in qmetaobject:
- Add isNull() wrapper for QVariant
- Refactor QVariant
- Implement QMetaType for QStringList
- Add Qt::GlobalColor enum wrapper
- Implement Add and AddAssign for QString
- Add generic iterator for QList
- Add methods and conversions for QString
- Added QVariantMap Type
- Implemented From for QStringList
- Added QStandardPaths::StandardLocation enum
Finally, I also got a pull request merged in KConfig: Make KConfig::mainConfigName() public