Yes, that's the intent, my question is how to inspect the class definitions from Vala within Vala code, so that if I know I want to build a Weapon or a Component from the keyfile, I can get access to the GLib.Type object for it.
On Mon, Mar 21, 2016 at 9:47 PM, Gergely Polonkai <gerg...@polonkai.eu> wrote: > Hello, > > for the first sight your format looks verybsimilar to key-value files > already supported by GLib: > > https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html > http://valadoc.org/#!api=glib-2.0/GLib.KeyFile > > Are you sure it won't work for your problem? If it would, you may want to > subclass it. > > Best, > Gergely > On Mar 21, 2016 2:26 PM, "Alan Manuel Gloria" <almkg...@gmail.com> wrote: > >> Hi Vala world, >> >> I'm trying to make some kind of description loader. I have a base class >> like so: >> >> class Concept : Object { >> string name { get; construct; } >> string desc { get; construct; } >> } >> >> And one or more classes, e.g.: >> >> class Component : Concept { >> uint size { get; construct; } >> uint cost { get; construct; } >> } >> class Weapon : Component { >> uint damage { get; construct; } >> } >> >> My goal is to parse some text file like so: >> >> [Blaster I] >> type = Weapon >> desc = A simple blaster. >> size = 20 >> cost = 200 >> damage = 1 >> >> Then the parser class will provide a collection of Concept objects >> indexable by name and type. >> >> My question is, how do I best do this? Gtk.Buildable seems to approximate >> what I want, so I suppose I need to figure out how that works. >> >> My initial research seems to suggest that I need to use GLib.Type somehow, >> but my understanding is that the exact type does not get created until it >> is used. It seems to me that I'd need code like: >> >> var p = new MyTextFileParser(); >> p.register(typeof(Component)); >> p.register(typeof(Weapon)); >> // ... and so on ... >> >> Thanks in advance. >> >> Sincerely, >> AmkG >> _______________________________________________ >> vala-list mailing list >> vala-list@gnome.org >> https://mail.gnome.org/mailman/listinfo/vala-list >> > _______________________________________________ vala-list mailing list vala-list@gnome.org https://mail.gnome.org/mailman/listinfo/vala-list