You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2006/04/10 07:18:50 UTC
svn commit: r392889 - in /webservices/axis/trunk/c: include/axis/
src/cbindings/ src/cbindings/client/
Author: nadiramra
Date: Sun Apr 9 22:18:47 2006
New Revision: 392889
URL: http://svn.apache.org/viewcvs?rev=392889&view=rev
Log:
C support fixes/enhancements.
Modified:
webservices/axis/trunk/c/include/axis/TypeMapping.h
webservices/axis/trunk/c/src/cbindings/BasicNodeC.cpp
webservices/axis/trunk/c/src/cbindings/IAttributeC.cpp
webservices/axis/trunk/c/src/cbindings/IHeaderBlockC.cpp
webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp
webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp
webservices/axis/trunk/c/src/cbindings/client/CallC.cpp
webservices/axis/trunk/c/src/cbindings/client/StubC.cpp
Modified: webservices/axis/trunk/c/include/axis/TypeMapping.h
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/TypeMapping.h?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/TypeMapping.h (original)
+++ webservices/axis/trunk/c/include/axis/TypeMapping.h Sun Apr 9 22:18:47 2006
@@ -34,21 +34,21 @@
#endif
typedef enum XSDCTYPETag
-{ XSDC__UNKNOWN=1, XSDC__INT, XSDC__FLOAT, XSDC__STRING, XSDC__LONG, XSDC__SHORT, \
- XSDC__BYTE, XSDC__UNSIGNEDLONG, \
- XSDC__BOOLEAN, XSDC__UNSIGNEDINT, XSDC__UNSIGNEDSHORT, \
- XSDC__UNSIGNEDBYTE, \
- XSDC__DOUBLE, XSDC__DECIMAL, XSDC__DURATION, \
- XSDC__DATETIME, XSDC__TIME, XSDC__DATE, \
- XSDC__GYEARMONTH, XSDC__GYEAR, XSDC__GMONTHDAY, XSDC__GDAY, \
- XSDC__GMONTH, XSDC__HEXBINARY, \
- XSDC__BASE64BINARY, XSDC__ANYURI, XSDC__QNAME, XSDC__NOTATION, \
- XSDC__INTEGER, \
- XSDC__ARRAY, C_USER_TYPE, XSDC__NMTOKEN, XSDC__ANY, XSDC__NONNEGATIVEINTEGER, \
- XSDC__POSITIVEINTEGER, XSDC__NONPOSITIVEINTEGER, XSDC__NEGATIVEINTEGER, \
- XSDC__NORMALIZEDSTRING, XSDC__TOKEN, XSDC__LANGUAGE, XSDC__NAME, \
- XSDC__NCNAME, XSDC__ID, XSDC__IDREF, XSDC__IDREFS, XSDC__ENTITY, \
- XSDC__ENTITIES, XSDC_NMTOKENS, C_ATTACHMENT \
+{ XSDC_UNKNOWN=1, XSDC_INT, XSDC_FLOAT, XSDC_STRING, XSDC_LONG, XSDC_SHORT, \
+ XSDC_BYTE, XSDC_UNSIGNEDLONG, \
+ XSDC_BOOLEAN, XSDC_UNSIGNEDINT, XSDC_UNSIGNEDSHORT, \
+ XSDC_UNSIGNEDBYTE, \
+ XSDC_DOUBLE, XSDC_DECIMAL, XSDC_DURATION, \
+ XSDC_DATETIME, XSDC_TIME, XSDC_DATE, \
+ XSDC_GYEARMONTH, XSDC_GYEAR, XSDC_GMONTHDAY, XSDC_GDAY, \
+ XSDC_GMONTH, XSDC_HEXBINARY, \
+ XSDC_BASE64BINARY, XSDC_ANYURI, XSDC_QNAME, XSDC_NOTATION, \
+ XSDC_INTEGER, \
+ XSDC_ARRAY, C_USER_TYPE, XSDC_NMTOKEN, XSDC_ANY, XSDC_NONNEGATIVEINTEGER, \
+ XSDC_POSITIVEINTEGER, XSDC_NONPOSITIVEINTEGER, XSDC_NEGATIVEINTEGER, \
+ XSDC_NORMALIZEDSTRING, XSDC_TOKEN, XSDC_LANGUAGE, XSDC_NAME, \
+ XSDC_NCNAME, XSDC_ID, XSDC_IDREF, XSDC_IDREFS, XSDC_ENTITY, \
+ XSDC_ENTITIES, XSDC_NMTOKENS, C_ATTACHMENT \
} AXISC_XSDTYPE;
/**
Modified: webservices/axis/trunk/c/src/cbindings/BasicNodeC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/BasicNodeC.cpp?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/BasicNodeC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/BasicNodeC.cpp Sun Apr 9 22:18:47 2006
@@ -19,13 +19,15 @@
#include "AxisObjectContainer.hpp"
-AXIS_CPP_NAMESPACE_USE
-
-extern "C" {
#include <axis/Axis.h>
#include <axis/GDefine.h>
#include <axis/AxisUserAPI.h>
+#include <axis/AxisUserAPIArrays.h>
#include <axis/BasicNode.h>
+
+AXIS_CPP_NAMESPACE_USE
+
+extern "C" {
AXISC_STORAGE_CLASS_INFO
AXISCHANDLE axiscGetAttribute(AXISCHANDLE basicNode,
Modified: webservices/axis/trunk/c/src/cbindings/IAttributeC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IAttributeC.cpp?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IAttributeC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IAttributeC.cpp Sun Apr 9 22:18:47 2006
@@ -20,12 +20,13 @@
#include "AxisObjectContainer.hpp"
-AXIS_CPP_NAMESPACE_USE
-
-extern "C" {
#include <axis/Axis.h>
#include <axis/GDefine.h>
#include <axis/IAttribute.h>
+
+AXIS_CPP_NAMESPACE_USE
+
+extern "C" {
AXISC_STORAGE_CLASS_INFO
void axiscDestroyIAttribute(AXISCHANDLE attribute)
Modified: webservices/axis/trunk/c/src/cbindings/IHeaderBlockC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IHeaderBlockC.cpp?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IHeaderBlockC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IHeaderBlockC.cpp Sun Apr 9 22:18:47 2006
@@ -20,15 +20,17 @@
#include "AxisObjectContainer.hpp"
-AXIS_CPP_NAMESPACE_USE
-
-extern "C" {
#include <axis/Axis.h>
#include <axis/GDefine.h>
#include <axis/AxisUserAPI.h>
+#include <axis/AxisUserAPIArrays.h>
#include <axis/BasicNode.h>
#include <axis/SoapEnvVersions.h>
#include <axis/IHeaderBlock.h>
+
+AXIS_CPP_NAMESPACE_USE
+
+extern "C" {
AXISC_STORAGE_CLASS_INFO
AXISCHANDLE axiscCreateNamespaceDeclINamespace(AXISCHANDLE headerBlock,
Modified: webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp Sun Apr 9 22:18:47 2006
@@ -20,17 +20,348 @@
#include "AxisObjectContainer.hpp"
-AXIS_CPP_NAMESPACE_USE
-
-extern "C" {
#include <axis/Axis.h>
#include <axis/GDefine.h>
#include <axis/AxisUserAPI.h>
+#include <axis/AxisUserAPIArrays.h>
#include <axis/BasicNode.h>
#include <axis/SoapEnvVersions.h>
-#include <axis/TypeMapping.h>
#include <axis/IWrapperSoapDeSerializer.h>
+AXIS_CPP_NAMESPACE_USE
+
+extern "C" {
+
+
+// Following helper function will create a C-binding type of array from a
+// C++ array
+static Axisc_Array *generateCBindingArray(Axis_Array*objArray, bool deleteObjArray=false)
+{
+ // Allocate cbinding array and initialize
+ Axisc_Array *c_array = new Axisc_Array();
+ memset(c_array, 0, sizeof(Axisc_Array));
+
+ // If nothing to transform, return
+ if (objArray == NULL)
+ return c_array;
+
+ // Get object array stuff
+ XSDTYPE m_Type;
+ int m_Size;
+ void ** m_Array = objArray->get(m_Size, m_Type);
+
+ c_array->m_Size = m_Size;
+ c_array->m_Type = (AXISC_XSDTYPE)m_Type;
+
+ // Now generate the array
+ if (m_Array != NULL && m_Size > 0)
+ {
+ c_array->m_Array = new void*[m_Size];
+
+ for (int count = 0 ; count < m_Size ; count++)
+ {
+ if ( m_Array[count] == NULL)
+ {
+ c_array->m_Array[count] = NULL;
+ continue;
+ }
+
+ switch (m_Type)
+ {
+ case XSD_DURATION:
+ {
+ ((xsd__duration**) c_array->m_Array)[count] = new xsd__duration();
+ *((xsd__duration**)c_array->m_Array)[count] = *((xsd__duration**) m_Array)[count];
+ break;
+ }
+ case XSD_DATETIME:
+ {
+ ((xsd__dateTime**) c_array->m_Array)[count] = new xsd__dateTime();
+ *((xsd__dateTime**)c_array->m_Array)[count] = *((xsd__dateTime**) m_Array)[count];
+ break;
+ }
+ case XSD_TIME:
+ {
+ ((xsd__time**) c_array->m_Array)[count] = new xsd__time();
+ *((xsd__time**)c_array->m_Array)[count] = *((xsd__time**) m_Array)[count];
+ break;
+ }
+ case XSD_DATE:
+ {
+ ((xsd__date**) c_array->m_Array)[count] = new xsd__date();
+ *((xsd__date**)c_array->m_Array)[count] = *((xsd__date**) m_Array)[count];
+ break;
+ }
+ case XSD_GYEARMONTH:
+ {
+ ((xsd__gYearMonth**) c_array->m_Array)[count] = new xsd__gYearMonth();
+ *((xsd__gYearMonth**)c_array->m_Array)[count] = *((xsd__gYearMonth**) m_Array)[count];
+ break;
+ }
+ case XSD_GYEAR:
+ {
+ ((xsd__gYear**) c_array->m_Array)[count] = new xsd__gYear();
+ *((xsd__gYear**)c_array->m_Array)[count] = *((xsd__gYear**) m_Array)[count];
+ break;
+ }
+ case XSD_GMONTHDAY:
+ {
+ ((xsd__gMonthDay**) c_array->m_Array)[count] = new xsd__gMonthDay();
+ *((xsd__gMonthDay**)c_array->m_Array)[count] = *((xsd__gMonthDay**) m_Array)[count];
+ break;
+ }
+ case XSD_GDAY:
+ {
+ ((xsd__gDay**) c_array->m_Array)[count] = new xsd__gDay();
+ *((xsd__gDay**)c_array->m_Array)[count] = *((xsd__gDay**) m_Array)[count];
+ break;
+ }
+ case XSD_GMONTH:
+ {
+ ((xsd__gMonth**) c_array->m_Array)[count] = new xsd__gMonth();
+ *((xsd__gMonth**)c_array->m_Array)[count] = *((xsd__gMonth**) m_Array)[count];
+ break;
+ }
+ case XSD_STRING:
+ {
+ ((xsd__string*) c_array->m_Array)[count] = new char[strlen(((xsd__string*) m_Array)[count])+1];
+ strcpy(((xsd__string*) c_array->m_Array)[count], ((xsd__string*) m_Array)[count]);
+ break;
+ }
+ case XSD_NORMALIZEDSTRING:
+ {
+ ((xsd__normalizedString*) c_array->m_Array)[count] = new char[strlen(((xsd__normalizedString*) m_Array)[count])+1];
+ strcpy(((xsd__normalizedString*) c_array->m_Array)[count], ((xsd__normalizedString*) m_Array)[count]);
+ break;
+ }
+ case XSD_TOKEN:
+ {
+ ((xsd__token*) c_array->m_Array)[count] = new char[strlen(((xsd__token*) m_Array)[count])+1];
+ strcpy(((xsd__token*) c_array->m_Array)[count], ((xsd__token*) m_Array)[count]);
+ break;
+ }
+ case XSD_LANGUAGE:
+ {
+ ((xsd__language*) c_array->m_Array)[count] = new char[strlen(((xsd__language*) m_Array)[count])+1];
+ strcpy(((xsd__language*) c_array->m_Array)[count], ((xsd__language*) m_Array)[count]);
+ break;
+ }
+ case XSD_NAME:
+ {
+ ((xsd__Name*) c_array->m_Array)[count] = new char[strlen(((xsd__Name*) m_Array)[count])+1];
+ strcpy(((xsd__Name*) c_array->m_Array)[count], ((xsd__Name*) m_Array)[count]);
+ break;
+ }
+ case XSD_NCNAME:
+ {
+ ((xsd__NCName*) c_array->m_Array)[count] = new char[strlen(((xsd__NCName*) m_Array)[count])+1];
+ strcpy(((xsd__NCName*) c_array->m_Array)[count], ((xsd__NCName*) m_Array)[count]);
+ break;
+ }
+ case XSD_ID:
+ {
+ ((xsd__ID*) c_array->m_Array)[count] = new char[strlen(((xsd__ID*) m_Array)[count])+1];
+ strcpy(((xsd__ID*) c_array->m_Array)[count], ((xsd__ID*) m_Array)[count]);
+ break;
+ }
+ case XSD_IDREF:
+ {
+ ((xsd__IDREF*) c_array->m_Array)[count] = new char[strlen(((xsd__IDREF*) m_Array)[count])+1];
+ strcpy(((xsd__IDREF*) c_array->m_Array)[count], ((xsd__IDREF*) m_Array)[count]);
+ break;
+ }
+ case XSD_IDREFS:
+ {
+ ((xsd__IDREFS*) c_array->m_Array)[count] = new char[strlen(((xsd__IDREFS*) m_Array)[count])+1];
+ strcpy(((xsd__IDREFS*) c_array->m_Array)[count], ((xsd__IDREFS*) m_Array)[count]);
+ break;
+ }
+ case XSD_ENTITY:
+ {
+ ((xsd__ENTITY*) c_array->m_Array)[count] = new char[strlen(((xsd__ENTITY*) m_Array)[count])+1];
+ strcpy(((xsd__ENTITY*) c_array->m_Array)[count], ((xsd__ENTITY*) m_Array)[count]);
+ break;
+ }
+ case XSD_ENTITIES:
+ {
+ ((xsd__ENTITIES*) c_array->m_Array)[count] = new char[strlen(((xsd__ENTITIES*) m_Array)[count])+1];
+ strcpy(((xsd__ENTITIES*) c_array->m_Array)[count], ((xsd__ENTITIES*) m_Array)[count]);
+ break;
+ }
+ case XSD_NMTOKEN:
+ {
+ ((xsd__NMTOKEN*) c_array->m_Array)[count] = new char[strlen(((xsd__NMTOKEN*) m_Array)[count])+1];
+ strcpy(((xsd__NMTOKEN*) c_array->m_Array)[count], ((xsd__NMTOKEN*) m_Array)[count]);
+ break;
+ }
+ case XSD_NMTOKENS:
+ {
+ ((xsd__NMTOKENS*) c_array->m_Array)[count] = new char[strlen(((xsd__NMTOKENS*) m_Array)[count])+1];
+ strcpy(((xsd__NMTOKENS*) c_array->m_Array)[count], ((xsd__NMTOKENS*) m_Array)[count]);
+ break;
+ }
+ case XSD_BOOLEAN:
+ {
+ ((xsd__boolean**) c_array->m_Array)[count] = new xsd__boolean();
+ *((xsd__boolean**)c_array->m_Array)[count] = *((xsd__boolean**) m_Array)[count];
+ break;
+ }
+ case XSD_BASE64BINARY:
+ {
+ // TODO
+ ((xsd__base64Binary**) c_array->m_Array)[count] = new xsd__base64Binary();
+ *((xsd__base64Binary**)c_array->m_Array)[count] = *((xsd__base64Binary**) m_Array)[count];
+ break;
+ }
+ case XSD_HEXBINARY:
+ {
+ // TODO
+ ((xsd__hexBinary**) c_array->m_Array)[count] = new xsd__hexBinary();
+ *((xsd__hexBinary**)c_array->m_Array)[count] = *((xsd__hexBinary**) m_Array)[count];
+ break;
+ }
+ case XSD_FLOAT:
+ {
+ ((xsd__float**) c_array->m_Array)[count] = new xsd__float();
+ *((xsd__float**)c_array->m_Array)[count] = *((xsd__float**) m_Array)[count];
+ break;
+ }
+ case XSD_DECIMAL:
+ {
+ ((xsd__decimal**) c_array->m_Array)[count] = new xsd__decimal();
+ *((xsd__decimal**)c_array->m_Array)[count] = *((xsd__decimal**) m_Array)[count];
+ break;
+ }
+ case XSD_INTEGER:
+ {
+ ((xsd__integer**) c_array->m_Array)[count] = new xsd__integer();
+ *((xsd__integer**)c_array->m_Array)[count] = *((xsd__integer**) m_Array)[count];
+ break;
+ }
+ case XSD_NONPOSITIVEINTEGER:
+ {
+ ((xsd__nonPositiveInteger**) c_array->m_Array)[count] = new xsd__nonPositiveInteger();
+ *((xsd__nonPositiveInteger**)c_array->m_Array)[count] = *((xsd__nonPositiveInteger**) m_Array)[count];
+ break;
+ }
+ case XSD_NEGATIVEINTEGER:
+ {
+ ((xsd__negativeInteger**) c_array->m_Array)[count] = new xsd__negativeInteger();
+ *((xsd__negativeInteger**)c_array->m_Array)[count] = *((xsd__negativeInteger**) m_Array)[count];
+ break;
+ }
+ case XSD_LONG:
+ {
+ ((xsd__long**) c_array->m_Array)[count] = new xsd__long();
+ *((xsd__long**)c_array->m_Array)[count] = *((xsd__long**) m_Array)[count];
+ break;
+ }
+ case XSD_INT:
+ {
+ ((xsd__int**) c_array->m_Array)[count] = new xsd__int();
+ *((xsd__int**)c_array->m_Array)[count] = *((xsd__int**) m_Array)[count];
+ break;
+ }
+ case XSD_SHORT:
+ {
+ ((xsd__short**) c_array->m_Array)[count] = new xsd__short();
+ *((xsd__short**)c_array->m_Array)[count] = *((xsd__short**) m_Array)[count];
+ break;
+ }
+ case XSD_BYTE:
+ {
+ ((xsd__byte**) c_array->m_Array)[count] = new xsd__byte();
+ *((xsd__byte**)c_array->m_Array)[count] = *((xsd__byte**) m_Array)[count];
+ break;
+ }
+ case XSD_NONNEGATIVEINTEGER:
+ {
+ ((xsd__nonNegativeInteger**) c_array->m_Array)[count] = new xsd__nonNegativeInteger();
+ *((xsd__nonNegativeInteger**)c_array->m_Array)[count] = *((xsd__nonNegativeInteger**) m_Array)[count];
+ break;
+ }
+ case XSD_UNSIGNEDLONG:
+ {
+ ((xsd__unsignedLong**) c_array->m_Array)[count] = new xsd__unsignedLong();
+ *((xsd__unsignedLong**)c_array->m_Array)[count] = *((xsd__unsignedLong**) m_Array)[count];
+ break;
+ }
+ case XSD_UNSIGNEDINT:
+ {
+ ((xsd__unsignedInt**) c_array->m_Array)[count] = new xsd__unsignedInt();
+ *((xsd__unsignedInt**)c_array->m_Array)[count] = *((xsd__unsignedInt**) m_Array)[count];
+ break;
+ }
+ case XSD_UNSIGNEDSHORT:
+ {
+ ((xsd__unsignedShort**) c_array->m_Array)[count] = new xsd__unsignedShort();
+ *((xsd__unsignedShort**)c_array->m_Array)[count] = *((xsd__unsignedShort**) m_Array)[count];
+ break;
+ }
+ case XSD_UNSIGNEDBYTE:
+ {
+ ((xsd__unsignedByte**) c_array->m_Array)[count] = new xsd__unsignedByte();
+ *((xsd__unsignedByte**)c_array->m_Array)[count] = *((xsd__unsignedByte**) m_Array)[count];
+ break;
+ }
+ case XSD_POSITIVEINTEGER:
+ {
+ ((xsd__positiveInteger**) c_array->m_Array)[count] = new xsd__positiveInteger();
+ *((xsd__positiveInteger**)c_array->m_Array)[count] = *((xsd__positiveInteger**) m_Array)[count];
+ break;
+ }
+ case XSD_DOUBLE:
+ {
+ ((xsd__double**) c_array->m_Array)[count] = new xsd__double();
+ *((xsd__double**)c_array->m_Array)[count] = *((xsd__double**) m_Array)[count];
+ break;
+ }
+ case XSD_ANYURI:
+ {
+ ((xsd__anyURI*) c_array->m_Array)[count] = new char[strlen(((xsd__anyURI*) m_Array)[count])+1];
+ strcpy(((xsd__anyURI*) c_array->m_Array)[count], ((xsd__anyURI*) m_Array)[count]);
+ break;
+ }
+ case XSD_QNAME:
+ {
+ ((xsd__QName*) c_array->m_Array)[count] = new char[strlen(((xsd__QName*) m_Array)[count])+1];
+ strcpy(((xsd__QName*) c_array->m_Array)[count], ((xsd__QName*) m_Array)[count]);
+ break;
+ }
+ case XSD_NOTATION:
+ {
+ ((xsd__NOTATION*) c_array->m_Array)[count] = new char[strlen(((xsd__NOTATION*) m_Array)[count])+1];
+ strcpy(((xsd__NOTATION*) c_array->m_Array)[count], ((xsd__NOTATION*) m_Array)[count]);
+ break;
+ }
+ case XSD_ARRAY:
+ {
+ // TODO
+ ((Axis_Array**) c_array->m_Array)[count] = new Axis_Array(*((Axis_Array**) m_Array)[count]);
+ break;
+ }
+ case USER_TYPE:
+ {
+ c_array->m_Array[count] = m_Array[count];
+ break;
+ }
+ case XSD_UNKNOWN:
+ case XSD_ANY:
+ case ATTACHMENT:
+ default:
+ break;
+ } // end switch
+ } // end for loop
+ }
+
+ return c_array;
+}
+
+
+
+
+
+
AXISC_STORAGE_CLASS_INFO
void axiscDestroyIWrapperSoapDeSerializer(AXISCHANDLE wrapperSoapDeSerializer)
{
@@ -137,10 +468,8 @@
try
{
- // TODO: not implemented
- Axisc_Array* aa = new Axisc_Array();
- memset(aa,0,sizeof(aa));
- return aa;
+ Axis_Array* pObjArray = dz->getBasicArray((XSDTYPE)nType, pName, pNamespace);
+ return generateCBindingArray(pObjArray, true);
}
catch ( AxisException& e )
{
Modified: webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp Sun Apr 9 22:18:47 2006
@@ -21,17 +21,19 @@
#include "../soap/SoapSerializer.h"
#include "AxisObjectContainer.hpp"
-AXIS_CPP_NAMESPACE_USE
-
-extern "C" {
#include <axis/Axis.h>
#include <axis/GDefine.h>
#include <axis/AxisUserAPI.h>
+#include <axis/AxisUserAPIArrays.h>
#include <axis/BasicNode.h>
#include <axis/SoapEnvVersions.h>
#include <axis/TypeMapping.h>
#include <axis/WSDDDefines.h>
#include <axis/IWrapperSoapSerializer.h>
+
+AXIS_CPP_NAMESPACE_USE
+
+extern "C" {
AXISC_STORAGE_CLASS_INFO
void axiscDestroyIWrapperSoapSerializer(AXISCHANDLE wrapperSoapSerializer)
Modified: webservices/axis/trunk/c/src/cbindings/client/CallC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/client/CallC.cpp?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/client/CallC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/client/CallC.cpp Sun Apr 9 22:18:47 2006
@@ -20,17 +20,19 @@
#include "../AxisObjectContainer.hpp"
-AXIS_CPP_NAMESPACE_USE
-
-extern "C" {
#include <axis/Axis.h>
#include <axis/GDefine.h>
#include <axis/AxisUserAPI.h>
+#include <axis/AxisUserAPIArrays.h>
#include <axis/SoapEnvVersions.h>
#include <axis/TypeMapping.h>
#include <axis/WSDDDefines.h>
#include <axis/client/Call.h>
+AXIS_CPP_NAMESPACE_USE
+
+extern "C" {
+
AXISC_STORAGE_CLASS_INFO
AXISCHANDLE axiscCreateCall()
{
@@ -1831,9 +1833,9 @@
try
{
- //TODO: Unimplemented
- Axisc_Array* aa = (Axisc_Array *)NULL;
- return aa;
+ Axis_Array ObjArray;
+ ObjArray.set(pArray->m_Array, pArray->m_Size, (XSDTYPE)pArray->m_Type);
+ c->getCmplxArray(&ObjArray, pDZFunct, pCreFunct,pDelFunct,pSizeFunct, pName, pNamespace);
}
catch ( AxisException& e )
{
Modified: webservices/axis/trunk/c/src/cbindings/client/StubC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/client/StubC.cpp?rev=392889&r1=392888&r2=392889&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/client/StubC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/client/StubC.cpp Sun Apr 9 22:18:47 2006
@@ -20,6 +20,12 @@
#include "../AxisObjectContainer.hpp"
+#include <axis/Axis.h>
+#include <axis/GDefine.h>
+#include <axis/AxisUserAPI.h>
+#include <axis/AxisUserAPIArrays.h>
+#include <axis/client/Stub.h>
+
AXIS_CPP_NAMESPACE_START
class StubC : Stub
{
@@ -36,11 +42,6 @@
AXIS_CPP_NAMESPACE_USE
extern "C" {
-#include <axis/Axis.h>
-#include <axis/GDefine.h>
-#include <axis/AxisUserAPI.h>
-#include <axis/client/Stub.h>
-
AXISC_STORAGE_CLASS_INFO
AXISCHANDLE axiscCreateStub(const char * pcEndPointURI,