Meta-Programming in KDE - The Technology behind KConfig XT and Friends

KDE Contributor and Developer Conference

2004 KDE Community World Summit

Speaker: Cornelius Schumacher

Language: English

Talk is scheduled for: Saturday, 21st of August 2004, 15:30 - 16:30


Check the Schedule for an overview of all talks during this conference.


Meta-programming means creating program code from meta descriptions rather than directly coding in a classic programming language. It is used to overcome limitations of a programming language, to automize creation of repetitive code or to avoid the need to maintain the same information at different locations in different formats.

KDE uses the technique of meta-programming at various places. It is one central concept behind the latest generation of the KDE configuration framework, KConfig XT, where the C++ code for accessing configuration options is automatically generated from meta descriptions provided in XML format. That significantly simplifies application code making use of configuration options and provides new opportunities to take profit of the fact that configuration options are accessible in a standardized and well-defined way.

This talk will give an overview of the various flavors of meta-programming used in KDE, focus in detail on how this concept is used in KConfig XT and give some ideas where it could be applied in the future.

About Cornelius Schumacher

Cornelius Schumacher

Cornelius Schumacher is a KDE contributor since 1999. He maintains KOrganizer and (co-)authored several other KDE applications and libraries like Kontact, KBugBuster, libkabc and KConfig XT. Cornelius Schumacher works as a software developer for the SUSE LINUX AG at Nürnberg.


Suggestions and inquiries direct please to KDE aKademy Team.