Re: [pygccxml-development] 2 Questions
Brought to you by:
mbaas,
roman_yakovenko
|
From: Allen B. <al...@vr...> - 2006-09-12 19:01:02
|
Allen Bierbaum wrote:
>Roman Yakovenko wrote:
>
>
>
>>On 9/12/06, Allen Bierbaum <al...@vr...> wrote:
>>
>>
>>
>>>I have two questions that I am surprised I haven't run into before. I
>>>hope that both have easy answers.
>>>
>>>1. Base class virtual ignored, but coming in inside derived class
>>>wrappers.
>>>
>>>I have a base class and derived class like:
>>>
>>>struct Base
>>>{
>>> virtual const int* getData() const = 0;
>>>};
>>>
>>>struct Child : public Base
>>>{ }
>>>
>>>struct GrandChild : public Child
>>>{
>>> virtual const int* getData() const;
>>>}
>>>
>>>In my py++ generation script I ignore the getData decl in the Base class
>>>(and the GrandChild). But py++ still ends up generating wrapper code
>>>for getData for the Child class. To make matters worse, since it is not
>>>a decl for getData in the Child class I can not ignore it there. It is
>>>almost like Py++ is seeing the virtual method and deciding that it needs
>>>to provide a wrapper for it in Child even though it is ignored in Base.
>>>Is this a bug in Py++ or is there some way that I can take care of this.
>>>
>>>
>>Do you know how hard I work to implement this? Basically this is because
>>wrapper classes could not be abstract. Also untill now I didn't have
>>use case
>>where user ignore some method. May be I will have to take a look on it.
>>
>>
>
>Can you give me a pointer to where the logic for this is so I can take a
>look at fixing it?
>
>
Ok, this didn't work out so well. I found a way to ignore these methods
but this made it so the wrapper didn't generate a function at all.
Which in turn makes the wrapper a pure class that can be instantiated
and thus the compile fails. It seems like what I would want here is for
the wrapper class to generate a method but then for the exposer for the
real class to not generate bindings for that method. Unfortunately I
don't see a way to do this right now. :(
-Allen
>
>
>>>2. The alternative option would be to just wrap the method correctly,
>>>but how can I wrap returning a memory buffer (array) of arbitrary
>>>length?
>>>
>>>Is there a way to wrap this method so it will return a const wrapper
>>>around this data buffer to make it look like a python list? If so what
>>>is the easiest way to do it and do I really need to wait for MB's method
>>>transformer code to do it right?
>>>
>>>
>>You don't have to wait, you can join and help :-). Take a look on
>>TnFOX Python
>>bindings, they deal with the same problem ( image classes ). It uses
>>indexing
>>suite v2 to solve the problem.
>>
>>
>>
>This will probably be the long term solution for me. Right now I just
>need to get my bindings compiling again so I can get some short term
>work done.
>
>Thanks,
>Allen
>
>
>-------------------------------------------------------------------------
>Using Tomcat but need to do more? Need to support web services, security?
>Get stuff done quickly with pre-integrated technology to make your job easier
>Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>_______________________________________________
>pygccxml-development mailing list
>pyg...@li...
>https://lists.sourceforge.net/lists/listinfo/pygccxml-development
>
>
>
|