blob: fb8fab4a912284901c51df14858c7fdfefd431cc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
This is a very first prototype of an introspection framework for GObject.
The metadata format is described in metadata-format.txt, the XML IDL format
follows the DTD in gidl.dtd. Look at the files in tests/ for testcases,
and at examples/ for bigger examples.
The code in src/ currently produces four things:
- g-idl-compile, a metadata compiler. It converts one or more IDL files
into one or more metadata blobs. It can either emit the raw metadata
blob (--raw) or C code (--code).
- libirepository, the repository API.
- g-idl-generate, an IDL generator, using the repository API. It generates
IDL files from binary metadata which can be in a shared object, or a raw
metadata blob (--raw).
- a function to invoke functions, given the function info object. The
implementation is based on libffi (a recent snapshot of libffi can
be found at http://spindazzle.org/libffi-green.tar.gz). After the
autoconfiscation, configure expects to find a ffi.pc file. The
ffi.pc.in file in this directory may be helpful in construction
such a file.
There are a number of IDL test files in test/, and a script to do
roundtrip tests (IDL -> binary -> IDL).
The introspection framework needs a lot more work, see TODO.
|