[Kde-bindings] Resolve typedefs in kalyptus

Richard Dale rdale at foton.es
Sat Jun 28 15:51:54 UTC 2008


On Saturday 28 June 2008 16:17:24 Richard Dale wrote:
> On Saturday 28 June 2008 16:03:54 Arno Rehn wrote:
> > On Saturday 28 June 2008 16:46:26 Richard Dale wrote:
> > > On Saturday 28 June 2008 13:23:05 Arno Rehn wrote:
> > > > Hi,
> > > >
> > > > in the last days I've worked on a patch that makes
> > > > kalyptusDataDict::resolveType also resolve typedefs. It works quite
> > > > well as far as I have tested it and now even resolves things like
> > > > Collection::Id in the context of the Akonadi namespace. However I
> > > > haven't tested it with all APIs that are availible since I don't have
> > > > all of these packages. I'll attach the patch, so you can test it
> > > > yourself. If all goes right, is this ok to commit?
> > >
> > > Yes, I think so. The only problem I can think of is that if we resolve
> > > all the C++ types to remove typedefs, when we introspect the C++ api
> > > with rbqtapi it won't look quite like the C++ api api anymore. But then
> > > I think rbqtapi and related tools need redoing so they introspect the
> > > smoke lib and give you a Ruby or C# or PHP view of what's in there,
> > > rather than a C++ view. On the other hand, if you want to look up stuff
> > > in the Qt Assistant docs, you need to know the name of the typedef to
> > > do that.
> >
> > I don't think that knowing the typedef is that important for looking up
> > stuff in the Assistant. What's important is the method name - if you have
> > that, the Assistant provides you with all the relevant information. And
> > if a method takes an QList<QObject*> instead of a QObjectList, I think
> > everyone can guess that it could be the same.. ;-)
>
> Yes, I think you're right. If we know it is a QList<QObject*> instead of a
> QObjectList, it allows us to easily transform that C++ view into a C# view
> as List<QObject> in the smoke lib introspector , whereas QObjectList is
> harder to do something like that automatically.
And another thing - I think the slot/signal type signatures will still 
have 'QObjectList' and the type, whereas method calls with be QList<QObject*> 
and so I think we will need to change the marshaller handlers lookup table to 
include both.

-- Richard



More information about the Kde-bindings mailing list