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 2008/10/23 21:06:55 UTC

svn commit: r707448 - /webservices/axis/trunk/c/src/cbindings/AxisObjectConverter.cpp

Author: nadiramra
Date: Thu Oct 23 12:06:54 2008
New Revision: 707448

URL: http://svn.apache.org/viewvc?rev=707448&view=rev
Log:
C-binding support for hex binary and base64 types.

Modified:
    webservices/axis/trunk/c/src/cbindings/AxisObjectConverter.cpp

Modified: webservices/axis/trunk/c/src/cbindings/AxisObjectConverter.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/cbindings/AxisObjectConverter.cpp?rev=707448&r1=707447&r2=707448&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/AxisObjectConverter.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/AxisObjectConverter.cpp Thu Oct 23 12:06:54 2008
@@ -115,6 +115,108 @@
     
             switch (m_Type)
             {
+	            case XSD_STRING:
+	            {
+	                ((xsd__string*) cArray->m_Array)[count] = new char[strlen(((xsd__string*) m_Array)[count])+1];
+	                strcpy(((xsd__string*) cArray->m_Array)[count], ((xsd__string*) m_Array)[count]);
+	                break;
+	            }
+                case XSD_FLOAT:
+                {
+                    ((xsd__float**) cArray->m_Array)[count] = new xsd__float();
+                    *((xsd__float**)cArray->m_Array)[count] = *((xsd__float**) m_Array)[count];
+                    break;
+                }
+                case XSD_DECIMAL:
+                {
+                    ((xsd__decimal**) cArray->m_Array)[count] = new xsd__decimal();
+                    *((xsd__decimal**)cArray->m_Array)[count] = *((xsd__decimal**) m_Array)[count];
+                    break;
+                }
+                case XSD_INTEGER:
+                {
+                    ((xsd__integer**) cArray->m_Array)[count] = new xsd__integer();
+                    *((xsd__integer**)cArray->m_Array)[count] = *((xsd__integer**) m_Array)[count];
+                    break;
+                }
+                case XSD_NONPOSITIVEINTEGER:
+                {
+                    ((xsd__nonPositiveInteger**) cArray->m_Array)[count] = new xsd__nonPositiveInteger();
+                    *((xsd__nonPositiveInteger**)cArray->m_Array)[count] = *((xsd__nonPositiveInteger**) m_Array)[count];
+                    break;
+                }
+                case XSD_NEGATIVEINTEGER:
+                {
+                    ((xsd__negativeInteger**) cArray->m_Array)[count] = new xsd__negativeInteger();
+                    *((xsd__negativeInteger**)cArray->m_Array)[count] = *((xsd__negativeInteger**) m_Array)[count];
+                    break;
+                }
+                case XSD_LONG:
+                {
+                    ((xsd__long**) cArray->m_Array)[count] = new xsd__long();
+                    *((xsd__long**)cArray->m_Array)[count] = *((xsd__long**) m_Array)[count];
+                    break;
+                }
+                case XSD_INT:
+                {
+                    ((xsd__int**) cArray->m_Array)[count] = new xsd__int();
+                    *((xsd__int**)cArray->m_Array)[count] = *((xsd__int**) m_Array)[count];
+                    break;
+                }
+                case XSD_SHORT:
+                {
+                    ((xsd__short**) cArray->m_Array)[count] = new xsd__short();
+                    *((xsd__short**)cArray->m_Array)[count] = *((xsd__short**) m_Array)[count];
+                    break;
+                }
+                case XSD_BYTE:
+                {
+                    ((xsd__byte**) cArray->m_Array)[count] = new xsd__byte();
+                    *((xsd__byte**)cArray->m_Array)[count] = *((xsd__byte**) m_Array)[count];
+                    break;
+                }
+                case XSD_NONNEGATIVEINTEGER:
+                {
+                    ((xsd__nonNegativeInteger**) cArray->m_Array)[count] = new xsd__nonNegativeInteger();
+                    *((xsd__nonNegativeInteger**)cArray->m_Array)[count] = *((xsd__nonNegativeInteger**) m_Array)[count];
+                    break;
+                }
+                case XSD_UNSIGNEDLONG:
+                {
+                    ((xsd__unsignedLong**) cArray->m_Array)[count] = new xsd__unsignedLong();
+                    *((xsd__unsignedLong**)cArray->m_Array)[count] = *((xsd__unsignedLong**) m_Array)[count];
+                    break;
+                }
+                case XSD_UNSIGNEDINT:
+                {
+                    ((xsd__unsignedInt**) cArray->m_Array)[count] = new xsd__unsignedInt();
+                    *((xsd__unsignedInt**)cArray->m_Array)[count] = *((xsd__unsignedInt**) m_Array)[count];
+                    break;
+                }
+                case XSD_UNSIGNEDSHORT:
+                {
+                    ((xsd__unsignedShort**) cArray->m_Array)[count] = new xsd__unsignedShort();
+                    *((xsd__unsignedShort**)cArray->m_Array)[count] = *((xsd__unsignedShort**) m_Array)[count];
+                    break;
+                }
+                case XSD_UNSIGNEDBYTE:
+                {
+                    ((xsd__unsignedByte**) cArray->m_Array)[count] = new xsd__unsignedByte();
+                    *((xsd__unsignedByte**)cArray->m_Array)[count] = *((xsd__unsignedByte**) m_Array)[count];
+                    break;
+                }
+                case XSD_POSITIVEINTEGER:
+                {
+                    ((xsd__positiveInteger**) cArray->m_Array)[count] = new xsd__positiveInteger();
+                    *((xsd__positiveInteger**)cArray->m_Array)[count] = *((xsd__positiveInteger**) m_Array)[count];
+                    break;
+                }
+                case XSD_DOUBLE:
+                {
+                    ((xsd__double**) cArray->m_Array)[count] = new xsd__double();
+                    *((xsd__double**)cArray->m_Array)[count] = *((xsd__double**) m_Array)[count];
+                    break;
+                }	            
                 case XSD_DURATION:
                 {
                     ((xsd__duration**) cArray->m_Array)[count] = new xsd__duration();
@@ -169,12 +271,6 @@
                     *((xsd__gMonth**)cArray->m_Array)[count] = *((xsd__gMonth**) m_Array)[count];
                     break;
                 }
-                case XSD_STRING:
-                {
-                    ((xsd__string*) cArray->m_Array)[count] = new char[strlen(((xsd__string*) m_Array)[count])+1];
-                    strcpy(((xsd__string*) cArray->m_Array)[count], ((xsd__string*) m_Array)[count]);
-                    break;
-                }
                 case XSD_NORMALIZEDSTRING:
                 {
                     ((xsd__normalizedString*) cArray->m_Array)[count] = new char[strlen(((xsd__normalizedString*) m_Array)[count])+1];
@@ -255,112 +351,12 @@
                 }
                 case XSD_BASE64BINARY:
                 {
-                    // TODO
-                    ((xsdc__base64Binary**) cArray->m_Array)[count] = new xsdc__base64Binary();
-                    *((xsdc__base64Binary**)cArray->m_Array)[count] = *((xsdc__base64Binary**) m_Array)[count];
+                    cArray->m_Array[count] = cppBase64BinaryToC((xsd__base64Binary *)m_Array[count], NULL, false); 
                     break;
                 }
                 case XSD_HEXBINARY:
                 {
-                    // TODO
-                    ((xsdc__hexBinary**) cArray->m_Array)[count] = new xsdc__hexBinary();
-                    *((xsdc__hexBinary**)cArray->m_Array)[count] = *((xsdc__hexBinary**) m_Array)[count];
-                    break;
-                }
-                case XSD_FLOAT:
-                {
-                    ((xsd__float**) cArray->m_Array)[count] = new xsd__float();
-                    *((xsd__float**)cArray->m_Array)[count] = *((xsd__float**) m_Array)[count];
-                    break;
-                }
-                case XSD_DECIMAL:
-                {
-                    ((xsd__decimal**) cArray->m_Array)[count] = new xsd__decimal();
-                    *((xsd__decimal**)cArray->m_Array)[count] = *((xsd__decimal**) m_Array)[count];
-                    break;
-                }
-                case XSD_INTEGER:
-                {
-                    ((xsd__integer**) cArray->m_Array)[count] = new xsd__integer();
-                    *((xsd__integer**)cArray->m_Array)[count] = *((xsd__integer**) m_Array)[count];
-                    break;
-                }
-                case XSD_NONPOSITIVEINTEGER:
-                {
-                    ((xsd__nonPositiveInteger**) cArray->m_Array)[count] = new xsd__nonPositiveInteger();
-                    *((xsd__nonPositiveInteger**)cArray->m_Array)[count] = *((xsd__nonPositiveInteger**) m_Array)[count];
-                    break;
-                }
-                case XSD_NEGATIVEINTEGER:
-                {
-                    ((xsd__negativeInteger**) cArray->m_Array)[count] = new xsd__negativeInteger();
-                    *((xsd__negativeInteger**)cArray->m_Array)[count] = *((xsd__negativeInteger**) m_Array)[count];
-                    break;
-                }
-                case XSD_LONG:
-                {
-                    ((xsd__long**) cArray->m_Array)[count] = new xsd__long();
-                    *((xsd__long**)cArray->m_Array)[count] = *((xsd__long**) m_Array)[count];
-                    break;
-                }
-                case XSD_INT:
-                {
-                    ((xsd__int**) cArray->m_Array)[count] = new xsd__int();
-                    *((xsd__int**)cArray->m_Array)[count] = *((xsd__int**) m_Array)[count];
-                    break;
-                }
-                case XSD_SHORT:
-                {
-                    ((xsd__short**) cArray->m_Array)[count] = new xsd__short();
-                    *((xsd__short**)cArray->m_Array)[count] = *((xsd__short**) m_Array)[count];
-                    break;
-                }
-                case XSD_BYTE:
-                {
-                    ((xsd__byte**) cArray->m_Array)[count] = new xsd__byte();
-                    *((xsd__byte**)cArray->m_Array)[count] = *((xsd__byte**) m_Array)[count];
-                    break;
-                }
-                case XSD_NONNEGATIVEINTEGER:
-                {
-                    ((xsd__nonNegativeInteger**) cArray->m_Array)[count] = new xsd__nonNegativeInteger();
-                    *((xsd__nonNegativeInteger**)cArray->m_Array)[count] = *((xsd__nonNegativeInteger**) m_Array)[count];
-                    break;
-                }
-                case XSD_UNSIGNEDLONG:
-                {
-                    ((xsd__unsignedLong**) cArray->m_Array)[count] = new xsd__unsignedLong();
-                    *((xsd__unsignedLong**)cArray->m_Array)[count] = *((xsd__unsignedLong**) m_Array)[count];
-                    break;
-                }
-                case XSD_UNSIGNEDINT:
-                {
-                    ((xsd__unsignedInt**) cArray->m_Array)[count] = new xsd__unsignedInt();
-                    *((xsd__unsignedInt**)cArray->m_Array)[count] = *((xsd__unsignedInt**) m_Array)[count];
-                    break;
-                }
-                case XSD_UNSIGNEDSHORT:
-                {
-                    ((xsd__unsignedShort**) cArray->m_Array)[count] = new xsd__unsignedShort();
-                    *((xsd__unsignedShort**)cArray->m_Array)[count] = *((xsd__unsignedShort**) m_Array)[count];
-                    break;
-                }
-                case XSD_UNSIGNEDBYTE:
-                {
-                    ((xsd__unsignedByte**) cArray->m_Array)[count] = new xsd__unsignedByte();
-                    *((xsd__unsignedByte**)cArray->m_Array)[count] = *((xsd__unsignedByte**) m_Array)[count];
-                    break;
-                }
-                case XSD_POSITIVEINTEGER:
-                {
-                    ((xsd__positiveInteger**) cArray->m_Array)[count] = new xsd__positiveInteger();
-                    *((xsd__positiveInteger**)cArray->m_Array)[count] = *((xsd__positiveInteger**) m_Array)[count];
-                    break;
-                }
-                case XSD_DOUBLE:
-                {
-                    ((xsd__double**) cArray->m_Array)[count] = new xsd__double();
-                    *((xsd__double**)cArray->m_Array)[count] = *((xsd__double**) m_Array)[count];
+                    cArray->m_Array[count] = cppHexBinaryToC((xsd__hexBinary *)m_Array[count], NULL, false);
                     break;
                 }
                 case XSD_ANYURI: