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
>