You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Nadir Amra <am...@us.ibm.com> on 2006/04/19 06:33:40 UTC

Change prototypes for AXIS_OBJECT_CREATE_FUNCT

As I have been implementing the C bindings (getting close, AxisBench, 
CalculatorDoc, and SimpleTypeArray works like a charm), I think we should 
be able to change the typedef for

typedef void* (* AXIS_OBJECT_CREATE_FUNCT)(void**, bool bArray, int 
nSize);

and the corresponding code. 

With the new array inplementation and knowing that the C bindings do not 
need it I believe the prototype can change so that it is:

typedef void* (* AXIS_OBJECT_CREATE_FUNCT)();

It would simplify code (not only in generated code but in the java 
generator). 

Any objections?

Nadir K. Amra


Re: Change prototypes for AXIS_OBJECT_CREATE_FUNCT

Posted by Nadir Amra <am...@us.ibm.com>.
I also forgot to mention that there will also be a semantic change to the 
function body that is generated for 

typedef void* (* AXIS_OBJECT_DELETE_FUNCT)(void**, bool bArray, int nSize)

Basically, the function should be able to delete an array of objects, but 
should not delete the array itself since the creation of the array is done 
elsewhere. In the case of the C++ generated code the array objects do not 
even call this function to delete arrays, instead goes through a loop one 
at a time to delete - probably could simplify to call function to delete 
elements in array, but will leave for later). Similarily, the C bindings 
create the array itself and expects to delete the array.

I will go through this and run the test bucket to ensure both changes do 
not break anything.

Nadir K. Amra


Adrian Dick <ad...@uk.ibm.com> wrote on 04/19/2006 03:25:22 AM:

> Hi, Nadir,
> 
> I've just taken a look at the various places the engine uses this, and
> agree these parameters are now redundant.  Also, as you point out, 
removing
> these will greatly simplify the generated code, and in turn the WSDL2Ws
> code.
> 
> +1 from me.
> 
> Regards,
> Adrian
> _______________________________________
> Adrian Dick (adrian.dick@uk.ibm.com)
> 
> 
> Nadir Amra <am...@us.ibm.com> wrote on 19/04/2006 05:33:40:
> 
> > As I have been implementing the C bindings (getting close, AxisBench,
> > CalculatorDoc, and SimpleTypeArray works like a charm), I think we 
should
> 
> > be able to change the typedef for
> >
> > typedef void* (* AXIS_OBJECT_CREATE_FUNCT)(void**, bool bArray, int
> > nSize);
> >
> > and the corresponding code.
> >
> > With the new array inplementation and knowing that the C bindings do 
not
> > need it I believe the prototype can change so that it is:
> >
> > typedef void* (* AXIS_OBJECT_CREATE_FUNCT)();
> >
> > It would simplify code (not only in generated code but in the java
> > generator).
> >
> > Any objections?
> >
> > Nadir K. Amra
> >
> 


Re: Change prototypes for AXIS_OBJECT_CREATE_FUNCT

Posted by Adrian Dick <ad...@uk.ibm.com>.
Hi, Nadir,

I've just taken a look at the various places the engine uses this, and
agree these parameters are now redundant.  Also, as you point out, removing
these will greatly simplify the generated code, and in turn the WSDL2Ws
code.

+1 from me.

Regards,
Adrian
_______________________________________
Adrian Dick (adrian.dick@uk.ibm.com)


Nadir Amra <am...@us.ibm.com> wrote on 19/04/2006 05:33:40:

> As I have been implementing the C bindings (getting close, AxisBench,
> CalculatorDoc, and SimpleTypeArray works like a charm), I think we should

> be able to change the typedef for
>
> typedef void* (* AXIS_OBJECT_CREATE_FUNCT)(void**, bool bArray, int
> nSize);
>
> and the corresponding code.
>
> With the new array inplementation and knowing that the C bindings do not
> need it I believe the prototype can change so that it is:
>
> typedef void* (* AXIS_OBJECT_CREATE_FUNCT)();
>
> It would simplify code (not only in generated code but in the java
> generator).
>
> Any objections?
>
> Nadir K. Amra
>