You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/11/07 18:37:08 UTC

svn commit: r331554 [1/2] - in /webservices/axis/trunk/c: include/axis/ include/axis/client/ src/common/ src/soap/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ src/...

Author: dicka
Date: Mon Nov  7 09:36:47 2005
New Revision: 331554

URL: http://svn.apache.org/viewcvs?rev=331554&view=rev
Log:
Updates to resolve Jira issue AXISCPP-149. Improving memory model for arrays.

This update is the first stage, covering arrays of (xsd) simple types.

Added:
    webservices/axis/trunk/c/include/axis/AxisUserAPIArrays.hpp
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ArraysClient.cpp
    webservices/axis/trunk/c/tests/auto_build/testcases/output/Arrays.cpp.out
    webservices/axis/trunk/c/tests/auto_build/testcases/output/Arrays_ServerResponse.expected
    webservices/axis/trunk/c/tests/auto_build/testcases/tests/Arrays.xml
    webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/Arrays.wsdl
Modified:
    webservices/axis/trunk/c/include/axis/AxisUserAPI.h
    webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp
    webservices/axis/trunk/c/include/axis/client/Call.hpp
    webservices/axis/trunk/c/src/common/AxisUserAPI.cpp
    webservices/axis/trunk/c/src/soap/Namespace.h
    webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ArrayParamWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ClientStubWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ArrayParamWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ArrayParamWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_integerClient.cpp
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_stringClient.cpp

Modified: webservices/axis/trunk/c/include/axis/AxisUserAPI.h
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/AxisUserAPI.h?rev=331554&r1=331553&r2=331554&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/AxisUserAPI.h (original)
+++ webservices/axis/trunk/c/include/axis/AxisUserAPI.h Mon Nov  7 09:36:47 2005
@@ -21,6 +21,7 @@
 #include <axis/GDefine.h>
 #include <time.h>
 #include <string.h>
+#include <axis/TypeMapping.h>
 
  /**
   * @file AxisUserAPI.h
@@ -341,23 +342,27 @@
     typedef struct {\
         type ** m_Array;\
         int m_Size;\
+        AXISC_XSDTYPE m_Type; \
     } type##_Array;
 
 #define AXISC_DEFINED_POINTER_ARRAY(type) \
     typedef struct {\
         type * m_Array;\
         int m_Size;\
+        AXISC_XSDTYPE m_Type; \
     } type##_Array;
 
 #define AXISC_DEFINED_ARRAY2(type) \
     typedef struct {\
         AXISCHANDLE m_Array;\
         int m_Size;\
+        AXISC_XSDTYPE m_Type; \
     } type##_Array;
 
 typedef struct {
     void* m_Array;
     int m_Size;
+    AXISC_XSDTYPE m_Type; \
 } Axisc_Array;
 
 AXISC_DEFINED_ARRAY(xsdc__duration) 

Modified: webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp?rev=331554&r1=331553&r2=331554&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp (original)
+++ webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp Mon Nov  7 09:36:47 2005
@@ -20,6 +20,7 @@
 #define _AXISUSERAPI_H____OF_AXIS_INCLUDED_
 
 #include <axis/GDefine.hpp>
+#include <axis/TypeMapping.hpp>
 #include <time.h>
 #include <string.h>
 
@@ -30,9 +31,6 @@
   * This file contains types defined in Axis C++. The mapping of basic xsd types
   * to the C language types.
   * 
-  * The following xsd basic types are supported:
-  * - <tt> anyURI, base64Binary, boolean, byte, date, dateTime, decimal, double, duration, float, hexBinary, int, integer, long, NMTOKEN, NOTATION, QName, short, string, time, unsignedByte, unsignedInt, unsignedLong</tt> and \c unsignedShort.
-  * 
   * @author Susantha Kumara (susantha@opensource.lk, skumara@virtusa.com)
   */
 
@@ -312,70 +310,66 @@
     RPC_LITERAL
 } AXIS_BINDING_STYLE;
 
-#define AXIS_DEFINED_ARRAY(type) \
-    class type##_Array {\
-      public:\
-        type ** m_Array;\
-        int m_Size;\
-    };
+/**
+ * @class Axis_Array
+ * 
+ * The parent storage class for arrays
+ */
+class STORAGE_CLASS_INFO Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    Axis_Array();
 
-#define AXIS_DEFINED_POINTER_ARRAY(type) \
-    class type##_Array {\
-      public:\
-        type * m_Array;\
-        int m_Size;\
-    };
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    Axis_Array(Axis_Array & original);
+    
+    /**
+     * Destructor
+     */
+    virtual ~Axis_Array();
+    
+    /**
+     * Clone the content of an existing Axis_Array
+     * @param original array to be cloned into this array.
+     */
+    void clone(Axis_Array & original);
+    
+    /**
+     * Populate from a c-style array.
+     * 
+     * @param array is a c-style array of pointers to the array data.
+     * @param size of the array, including NULL entries.
+     * @param type of data.
+     */
+    void set(void* array, int size, const XSDTYPE type);
+    
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @param type, this will be updated with the type of the data returned.
+     * @return c-style array of pointers to the array data.
+     */
+    const void* get(int& size, XSDTYPE& type) const;
+    
+    /**
+     * Clear the array, and it's data
+     */
+    void clear();
 
-class Axis_Array {
-  public:
-    void* m_Array;
-    int m_Size;
-};
+    friend class SoapDeSerializer;
+    friend class SoapSerializer;
 
-AXIS_DEFINED_ARRAY(xsd__duration) 
-AXIS_DEFINED_ARRAY(xsd__dateTime)
-AXIS_DEFINED_ARRAY(xsd__time)
-AXIS_DEFINED_ARRAY(xsd__date)
-AXIS_DEFINED_ARRAY(xsd__gYearMonth)
-AXIS_DEFINED_ARRAY(xsd__gYear)
-AXIS_DEFINED_ARRAY(xsd__gMonthDay)
-AXIS_DEFINED_ARRAY(xsd__gDay)
-AXIS_DEFINED_ARRAY(xsd__gMonth)
-AXIS_DEFINED_POINTER_ARRAY(xsd__string)
-AXIS_DEFINED_POINTER_ARRAY(xsd__normalizedString)
-AXIS_DEFINED_POINTER_ARRAY(xsd__token)
-AXIS_DEFINED_POINTER_ARRAY(xsd__language)
-AXIS_DEFINED_POINTER_ARRAY(xsd__Name)
-AXIS_DEFINED_POINTER_ARRAY(xsd__NCName)
-AXIS_DEFINED_POINTER_ARRAY(xsd__ID)
-AXIS_DEFINED_POINTER_ARRAY(xsd__IDREF)
-AXIS_DEFINED_POINTER_ARRAY(xsd__IDREFS)
-AXIS_DEFINED_POINTER_ARRAY(xsd__ENTITY)
-AXIS_DEFINED_POINTER_ARRAY(xsd__ENTITIES)
-AXIS_DEFINED_POINTER_ARRAY(xsd__NMTOKEN)
-AXIS_DEFINED_POINTER_ARRAY(xsd__NMTOKENS)
-AXIS_DEFINED_ARRAY(xsd__boolean)
-AXIS_DEFINED_ARRAY(xsd__base64Binary)
-AXIS_DEFINED_ARRAY(xsd__hexBinary)
-AXIS_DEFINED_ARRAY(xsd__float)
-AXIS_DEFINED_ARRAY(xsd__decimal)
-AXIS_DEFINED_ARRAY(xsd__integer)
-AXIS_DEFINED_ARRAY(xsd__nonPositiveInteger)
-AXIS_DEFINED_ARRAY(xsd__negativeInteger)
-AXIS_DEFINED_ARRAY(xsd__long)
-AXIS_DEFINED_ARRAY(xsd__int)
-AXIS_DEFINED_ARRAY(xsd__short)
-AXIS_DEFINED_ARRAY(xsd__byte)
-AXIS_DEFINED_ARRAY(xsd__nonNegativeInteger)
-AXIS_DEFINED_ARRAY(xsd__unsignedLong)
-AXIS_DEFINED_ARRAY(xsd__unsignedInt)
-AXIS_DEFINED_ARRAY(xsd__unsignedByte)
-AXIS_DEFINED_ARRAY(xsd__unsignedShort)
-AXIS_DEFINED_ARRAY(xsd__positiveInteger)
-AXIS_DEFINED_ARRAY(xsd__double)
-AXIS_DEFINED_POINTER_ARRAY(xsd__anyURI)
-AXIS_DEFINED_POINTER_ARRAY(xsd__QName)
-AXIS_DEFINED_POINTER_ARRAY(xsd__NOTATION)
+protected:
+    void* m_Array; // Array of pointers to array elements
+    int m_Size; // Size of array
+    XSDTYPE m_Type; // XSD datatype within this array
+};
 
 #define AXIS_OUT_PARAM 
 

Added: webservices/axis/trunk/c/include/axis/AxisUserAPIArrays.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/AxisUserAPIArrays.hpp?rev=331554&view=auto
==============================================================================
--- webservices/axis/trunk/c/include/axis/AxisUserAPIArrays.hpp (added)
+++ webservices/axis/trunk/c/include/axis/AxisUserAPIArrays.hpp Mon Nov  7 09:36:47 2005
@@ -0,0 +1,1360 @@
+/*
+ *   Copyright 2003-2004 The Apache Software Foundation.
+// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+
+#if !defined(_AXISUSERAPIARRAYS_H____OF_AXIS_INCLUDED_)
+#define _AXISUSERAPIARRAYS_H____OF_AXIS_INCLUDED_
+
+#include <axis/GDefine.hpp>
+#include <axis/TypeMapping.hpp>
+#include <time.h>
+#include <string.h>
+
+AXIS_CPP_NAMESPACE_START
+
+ /**
+  * @file AxisUserAPIArrays.hpp
+  * This file contains arrays defined for the basic types declared in AxisUserAPI.hpp
+  * 
+  * 
+  * @author Adrian DIck (adrian.dick@uk.ibm.com)
+  */
+
+
+#include <axis/AxisUserAPI.hpp>
+
+class STORAGE_CLASS_INFO xsd__duration_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__duration_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__duration_Array(xsd__duration_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__duration** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__duration** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__dateTime_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__dateTime_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__dateTime_Array(xsd__dateTime_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__dateTime** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__dateTime** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__time_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__time_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__time_Array(xsd__time_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__time** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__time** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__date_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__date_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__date_Array(xsd__date_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__date** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__date** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__gYearMonth_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__gYearMonth_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__gYearMonth_Array(xsd__gYearMonth_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__gYearMonth** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__gYearMonth** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__gYear_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__gYear_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__gYear_Array(xsd__gYear_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__gYear** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__gYear** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__gMonthDay_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__gMonthDay_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__gMonthDay_Array(xsd__gMonthDay_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__gMonthDay** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__gMonthDay** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__gDay_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__gDay_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__gDay_Array(xsd__gDay_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__gDay** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__gDay** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__gMonth_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__gMonth_Array();
+
+    /**
+     * Copy constructor
+     * @param orginal Axis_Array to copy.
+     */
+    xsd__gMonth_Array(xsd__gMonth_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd_duration data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__gMonth** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd_duration data.
+     */
+    const xsd__gMonth** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__string_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__string_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__string_Array to copy.
+     */
+    xsd__string_Array(xsd__string_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__string data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__string* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__string data.
+     */
+    const xsd__string* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__normalizedString_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__normalizedString_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__normalizedString_Array to copy.
+     */
+    xsd__normalizedString_Array(xsd__normalizedString_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__normalizedString data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__normalizedString* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__normalizedString data.
+     */
+    const xsd__normalizedString* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__token_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__token_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__token_Array to copy.
+     */
+    xsd__token_Array(xsd__token_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__token data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__token* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__token data.
+     */
+    const xsd__token* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__language_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__language_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__language_Array to copy.
+     */
+    xsd__language_Array(xsd__language_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__language data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__language* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__language data.
+     */
+    const xsd__language* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__Name_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__Name_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__Name_Array to copy.
+     */
+    xsd__Name_Array(xsd__Name_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__Name data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__Name* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__Name data.
+     */
+    const xsd__Name* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__NCName_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__NCName_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__NCName_Array to copy.
+     */
+    xsd__NCName_Array(xsd__NCName_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__NCName data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__NCName* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__NCName data.
+     */
+    const xsd__NCName* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__ID_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__ID_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__ID_Array to copy.
+     */
+    xsd__ID_Array(xsd__ID_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__ID data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__ID* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__ID data.
+     */
+    const xsd__ID* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__IDREF_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__IDREF_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__IDREF_Array to copy.
+     */
+    xsd__IDREF_Array(xsd__IDREF_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__IDREF data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__IDREF* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__IDREF data.
+     */
+    const xsd__IDREF* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__IDREFS_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__IDREFS_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__IDREFS_Array to copy.
+     */
+    xsd__IDREFS_Array(xsd__IDREFS_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__IDREFS data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__IDREFS* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__IDREFS data.
+     */
+    const xsd__IDREFS* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__ENTITY_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__ENTITY_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__ENTITY_Array to copy.
+     */
+    xsd__ENTITY_Array(xsd__ENTITY_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__ENTITY data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__ENTITY* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__ENTITY data.
+     */
+    const xsd__ENTITY* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__ENTITIES_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__ENTITIES_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__ENTITIES_Array to copy.
+     */
+    xsd__ENTITIES_Array(xsd__ENTITIES_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__ENTITIES data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__ENTITIES* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__ENTITIES data.
+     */
+    const xsd__ENTITIES* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__NMTOKEN_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__NMTOKEN_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__NMTOKEN_Array to copy.
+     */
+    xsd__NMTOKEN_Array(xsd__NMTOKEN_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__NMTOKEN data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__NMTOKEN* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__NMTOKEN data.
+     */
+    const xsd__NMTOKEN* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__NMTOKENS_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__NMTOKENS_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__NMTOKENS_Array to copy.
+     */
+    xsd__NMTOKENS_Array(xsd__NMTOKENS_Array & original);
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__NMTOKENS data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__NMTOKENS* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__NMTOKENS data.
+     */
+    const xsd__NMTOKENS* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__boolean_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__boolean_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__boolean_Array to copy.
+     */
+    xsd__boolean_Array(xsd__boolean_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__boolean data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__boolean** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__boolean data.
+     */
+    const xsd__boolean** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__base64Binary_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__base64Binary_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__base64Binary_Array to copy.
+     */
+    xsd__base64Binary_Array(xsd__base64Binary_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__base64Binary data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__base64Binary** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__base64Binary data.
+     */
+    const xsd__base64Binary** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__hexBinary_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__hexBinary_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__hexBinary_Array to copy.
+     */
+    xsd__hexBinary_Array(xsd__hexBinary_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__hexBinary data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__hexBinary** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__hexBinary data.
+     */
+    const xsd__hexBinary** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__float_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__float_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__float_Array to copy.
+     */
+    xsd__float_Array(xsd__float_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__float data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__float** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__float data.
+     */
+    const xsd__float** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__decimal_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__decimal_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__decimal_Array to copy.
+     */
+    xsd__decimal_Array(xsd__decimal_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__decimal data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__decimal** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__decimal data.
+     */
+    const xsd__decimal** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__integer_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__integer_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__integer_Array to copy.
+     */
+    xsd__integer_Array(xsd__integer_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__integer data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__integer** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__integer data.
+     */
+    const xsd__integer** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__nonPositiveInteger_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__nonPositiveInteger_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__nonPositiveInteger_Array to copy.
+     */
+    xsd__nonPositiveInteger_Array(xsd__nonPositiveInteger_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__nonPositiveInteger data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__nonPositiveInteger** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__nonPositiveInteger data.
+     */
+    const xsd__nonPositiveInteger** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__negativeInteger_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__negativeInteger_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__negativeInteger_Array to copy.
+     */
+    xsd__negativeInteger_Array(xsd__negativeInteger_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__negativeInteger data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__negativeInteger** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__negativeInteger data.
+     */
+    const xsd__negativeInteger** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__long_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__long_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__long_Array to copy.
+     */
+    xsd__long_Array(xsd__long_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__long data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__long** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__long data.
+     */
+    const xsd__long** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__int_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__int_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__int_Array to copy.
+     */
+    xsd__int_Array(xsd__int_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__int data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__int** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__int data.
+     */
+    const xsd__int** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__short_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__short_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__short_Array to copy.
+     */
+    xsd__short_Array(xsd__short_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__short data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__short** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__short data.
+     */
+    const xsd__short** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__byte_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__byte_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__byte_Array to copy.
+     */
+    xsd__byte_Array(xsd__byte_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__byte data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__byte** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__byte data.
+     */
+    const xsd__byte** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__nonNegativeInteger_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__nonNegativeInteger_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__nonNegativeInteger_Array to copy.
+     */
+    xsd__nonNegativeInteger_Array(xsd__nonNegativeInteger_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__nonNegativeInteger data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__nonNegativeInteger** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__nonNegativeInteger data.
+     */
+    const xsd__nonNegativeInteger** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__unsignedLong_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__unsignedLong_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__unsignedLong_Array to copy.
+     */
+    xsd__unsignedLong_Array(xsd__unsignedLong_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__unsignedLong data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__unsignedLong** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__unsignedLong data.
+     */
+    const xsd__unsignedLong** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__unsignedInt_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__unsignedInt_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__unsignedInt_Array to copy.
+     */
+    xsd__unsignedInt_Array(xsd__unsignedInt_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__unsignedInt data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__unsignedInt** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__unsignedInt data.
+     */
+    const xsd__unsignedInt** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__unsignedByte_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__unsignedByte_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__unsignedByte_Array to copy.
+     */
+    xsd__unsignedByte_Array(xsd__unsignedByte_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__unsignedByte data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__unsignedByte** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__unsignedByte data.
+     */
+    const xsd__unsignedByte** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__unsignedShort_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__unsignedShort_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__unsignedShort_Array to copy.
+     */
+    xsd__unsignedShort_Array(xsd__unsignedShort_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__unsignedShort data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__unsignedShort** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__unsignedShort data.
+     */
+    const xsd__unsignedShort** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__positiveInteger_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__positiveInteger_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__positiveInteger_Array to copy.
+     */
+    xsd__positiveInteger_Array(xsd__positiveInteger_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__positiveInteger data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__positiveInteger** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__positiveInteger data.
+     */
+    const xsd__positiveInteger** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__double_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__double_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__double_Array to copy.
+     */
+    xsd__double_Array(xsd__double_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__double data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__double** array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__double data.
+     */
+    const xsd__double** get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__anyURI_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__anyURI_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__anyURI_Array to copy.
+     */
+    xsd__anyURI_Array(xsd__anyURI_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__anyURI data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__anyURI* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__anyURI data.
+     */
+    const xsd__anyURI* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__QName_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__QName_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__QName_Array to copy.
+     */
+    xsd__QName_Array(xsd__QName_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__QName data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__QName* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__QName data.
+     */
+    const xsd__QName* get(int& size) const;
+};
+
+class STORAGE_CLASS_INFO xsd__NOTATION_Array : public Axis_Array {
+  public:
+    /**
+     * Constructor
+     */
+    xsd__NOTATION_Array();
+
+    /**
+     * Copy constructor
+     * @param original xsd__NOTATION_Array to copy.
+     */
+    xsd__NOTATION_Array(xsd__NOTATION_Array & original);
+    
+    /**
+     * Populate the array from a c-style array
+     * 
+     * @param array is a c-style array of pointers to the xsd__NOTATION data.
+     * @param size of the array, including NULL entries.
+     */
+     void set(xsd__NOTATION* array, const int size);
+
+    /**
+     * Return a c-style array.
+     * 
+     * @param size, this will be updated with the size of the array returned.
+     * @return c-style array of pointers to the xsd__NOTATION data.
+     */
+    const xsd__NOTATION* get(int& size) const;
+};
+
+AXIS_CPP_NAMESPACE_END
+#endif
\ No newline at end of file

Modified: webservices/axis/trunk/c/include/axis/client/Call.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/client/Call.hpp?rev=331554&r1=331553&r2=331554&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/client/Call.hpp (original)
+++ webservices/axis/trunk/c/include/axis/client/Call.hpp Mon Nov  7 09:36:47 2005
@@ -35,6 +35,7 @@
 #include <axis/GDefine.hpp>
 #include <axis/TypeMapping.hpp>
 #include <axis/AxisUserAPI.hpp>
+#include <axis/AxisUserAPIArrays.hpp>
 #include <axis/WSDDDefines.hpp>
 #include <axis/IHeaderBlock.hpp>