The domain model resembles the structure of our system as objects. It is build by the parser and is the input into the generator.
It is important to understand the domain model as it is the main input for the template generation.
The IDL is converted into an in memory domain model (see qface/idl/domain.py)
- System - Module - Import - Interface - Property - Operation - Signal - Enum - Flag - Struct
The domain model is the base for the code generation. You traverse the domain tree and trigger your own code generation.
from qface.generator import FileSystem system = FileSystem.parse('./interfaces') for module in sytem.modules: print(module.name) for interfaces in module.interfaces: print(interfaces.name) for struct in module.structs: print(struct.name)