Changeset 1769

Show
Ignore:
Timestamp:
08/27/08 13:44:49 (3 months ago)
Author:
xkovah
Message:

Got the serialization of an array of nsregEvent structs to work. Now just need to add in arrays of the other events, and support sending only the maxEventsReturned number of elements back

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • capture-mod/trunk/CaptureSoapServer.cpp

    r1767 r1769  
    1414struct soap soap; 
    1515 
    16    std::queue<struct ns__regEvent> regQ
    17    std::queue<struct ns__fileEvent> fileQ
    18    std::queue<struct ns__procEvent> procQ
     16std::vector<struct ns__regEvent> regVec
     17std::list<struct ns__fileEvent> fileList
     18std::list<struct ns__procEvent> procList
    1919 
    2020 
     
    116116    sprintf(r.valueData, "%ls", extra.at(3).c_str()); 
    117117 
    118     regQ.push(r); 
    119     printf("added one event to regQ. Now there are %d elements in the queue\n", regQ.size()); 
     118    regVec.push_back(r); 
     119    printf("added one event to regVec. Now there are %d elements in the list\n", regVec.size()); 
    120120} 
    121121 
     
    333333//If maxEventsReturned == -1, then then send as many as possible. 
    334334//If there are no events to send back, it will send back <eventType>No Events</eventType> 
    335 int ns__receiveEventsBase64(struct soap *soap, int maxEventsReturned, struct ns__regEvent &result){ 
    336      
    337     if(regQ.empty()){ 
     335int ns__receiveEventsBase64(struct soap *soap, int maxEventsReturned, struct ns__dynRegArray &result){ 
     336    struct ns__dynRegArray dynArray; 
     337    dynArray.__ptr = NULL; 
     338    dynArray.__size = 0; 
     339 
     340    if(regVec.empty()){ 
    338341        printf("No events to send back\n"); 
    339         struct ns__regEvent t; 
    340         memset(&t, 0, sizeof(struct ns__regEvent)); 
    341         //The soap will not try to serialize all the char * = 0 from the memset, but it will send back  
    342         //<ns:regEvent><procPID>0</procPID></ns:regEvent> 
    343         //so parse that to mean there are no results 
    344         t.eventType = "No Events"; 
    345         result = t; 
     342        result = dynArray; 
    346343    } 
    347344    else{ 
    348         printf("Sending back the first event\n"); 
    349         result = regQ.front(); 
    350         regQ.pop(); 
     345        dynArray.__size = regVec.size(); //don't want to call the size function more times than we have to 
     346        printf("Sending back %d events\n", (maxEventsReturned < dynArray.__size) ? maxEventsReturned : dynArray.__size); 
     347        struct ns__regEvent * ptr = (struct ns__regEvent *)soap_malloc(soap, dynArray.__size*sizeof(struct ns__regEvent)); 
     348        dynArray.__ptr = ptr; 
     349        for(unsigned int i = 0; i < dynArray.__size; i++){ 
     350            ptr[i] = regVec.at(i); 
     351        } 
     352        result = dynArray; 
    351353    } 
    352354 
  • capture-mod/trunk/capture.wsdl

    r1767 r1769  
    2626  attributeFormDefault="unqualified"> 
    2727  <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> 
    28   <complexType name="procEvent-t"> 
    29    <complexContent> 
    30     <restriction base="ns:procEvent"> 
    31     </restriction> 
    32    </complexContent> 
    33   </complexType> 
    3428  <complexType name="receiveFileStruct"> 
    3529   <complexContent> 
     
    3832   </complexContent> 
    3933  </complexType> 
    40   <complexType name="receiveEventsStruct"> 
    41    <complexContent> 
    42     <restriction base="ns:s2"> 
    43     </restriction> 
    44    </complexContent> 
     34  <complexType name="regEvent"> 
     35   <sequence> 
     36     <element name="time" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
     37     <element name="eventType" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
     38     <element name="procPID" type="xsd:int" minOccurs="1" maxOccurs="1"/> 
     39     <element name="procName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
     40     <element name="keyName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
     41     <element name="valueName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
     42     <element name="valueType" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
     43     <element name="valueData" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
     44   </sequence> 
    4545  </complexType> 
    4646  <complexType name="fileEvent"> 
     
    6363   </sequence> 
    6464  </complexType> 
     65  <complexType name="dynRegArray"> 
     66   <sequence> 
     67    <element name="item" type="ns:regEvent" minOccurs="0" maxOccurs="unbounded" nillable="true"/> 
     68   </sequence> 
     69  </complexType> 
    6570  <complexType name="s1"> 
    6671   <sequence> 
     
    6873     <element name="encodedLength" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/> 
    6974     <element name="decodedLength" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/> 
    70    </sequence> 
    71   </complexType> 
    72   <complexType name="s2"> 
    73    <sequence> 
    74      <element name="data" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
    75      <element name="interEventDelimiter" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
    76      <element name="intraEventDelimiter" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/> 
    77      <element name="numEvents" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/> 
    78      <element name="moreEvents" type="xsd:byte" minOccurs="1" maxOccurs="1"/> 
    7975   </sequence> 
    8076  </complexType> 
     
    137133</message> 
    138134 
    139 <message name="receiveEventsBase64"> 
     135<message name="receiveEventsBase64Request"> 
    140136 <part name="maxEventsReturned" type="xsd:int"/> 
    141137</message> 
    142138 
    143 <message name="regEvent"> 
    144  <part name="time" type="xsd:string"/> 
    145  <part name="eventType" type="xsd:string"/> 
    146  <part name="procPID" type="xsd:int"/> 
    147  <part name="procName" type="xsd:string"/> 
    148  <part name="keyName" type="xsd:string"/> 
    149  <part name="valueName" type="xsd:string"/> 
    150  <part name="valueType" type="xsd:string"/> 
    151  <part name="valueData" type="xsd:string"/> 
     139<message name="receiveEventsBase64Response"> 
     140 <part name="result" type="ns:dynRegArray"/> 
    152141</message> 
    153142 
     
    185174 <operation name="receiveEventsBase64"> 
    186175  <documentation>Service definition of function ns__receiveEventsBase64</documentation> 
    187   <input message="tns:receiveEventsBase64"/> 
    188   <output message="tns:regEvent"/> 
     176  <input message="tns:receiveEventsBase64Request"/> 
     177  <output message="tns:receiveEventsBase64Response"/> 
    189178 </operation> 
    190179</portType> 
  • capture-mod/trunk/captureGSOAP.h

    r1767 r1769  
    3333}; 
    3434 
    35 typedef struct ns__procEvent{ 
     35struct ns__procEvent{ 
    3636    char *  time; 
    3737    char *  eventType; 
     
    4040    int     procPID; 
    4141    char *  procName; 
    42 }ns__procEvent_t
     42}
    4343 
     44 
     45struct ns__dynRegArray{ 
     46    struct ns__regEvent * __ptr; 
     47    int __size; //number of elements 
     48}; 
    4449 
    4550typedef struct s1{ 
     
    5055 
    5156 
     57/* 
    5258//TODO: restructure this 
    5359typedef struct s2{ 
     
    5965                        //It is the Manager's responsibility to request the additional data. 
    6066} ns__receiveEventsStruct; 
     67*/ 
    6168 
    6269 
     
    6875int ns__openDocument(char * fileName, int waitTimeMillisec, int &result); 
    6976//int ns__receiveEventsBase64(int maxEventsReturned, ns__receiveEventsStruct &result); 
    70 int ns__receiveEventsBase64(int maxEventsReturned, struct ns__regEvent &result); 
     77int ns__receiveEventsBase64(int maxEventsReturned, struct ns__dynRegArray &result); 
    7178 
  • capture-mod/trunk/soapC.cpp

    r1767 r1769  
    88#include "soapH.h" 
    99 
    10 SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-26 03:24:29 GMT") 
     10SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-27 02:17:09 GMT") 
    1111 
    1212 
     
    164164    case SOAP_TYPE_ns__receiveEventsBase64: 
    165165        return soap_in_ns__receiveEventsBase64(soap, NULL, NULL, "ns:receiveEventsBase64"); 
     166    case SOAP_TYPE_ns__receiveEventsBase64Response: 
     167        return soap_in_ns__receiveEventsBase64Response(soap, NULL, NULL, "ns:receiveEventsBase64Response"); 
    166168    case SOAP_TYPE_ns__openDocument: 
    167169        return soap_in_ns__openDocument(soap, NULL, NULL, "ns:openDocument"); 
     
    186188    case SOAP_TYPE_ns__pingResponse: 
    187189        return soap_in_ns__pingResponse(soap, NULL, NULL, "ns:pingResponse"); 
    188     case SOAP_TYPE_ns__receiveEventsStruct: 
    189         return soap_in_ns__receiveEventsStruct(soap, NULL, NULL, "ns:receiveEventsStruct"); 
    190     case SOAP_TYPE_s2: 
    191         return soap_in_s2(soap, NULL, NULL, "s2"); 
    192190    case SOAP_TYPE_ns__receiveFileStruct: 
    193191        return soap_in_ns__receiveFileStruct(soap, NULL, NULL, "ns:receiveFileStruct"); 
    194192    case SOAP_TYPE_s1: 
    195193        return soap_in_s1(soap, NULL, NULL, "s1"); 
    196     case SOAP_TYPE_ns__procEvent_t
    197         return soap_in_ns__procEvent_t(soap, NULL, NULL, "ns:procEvent-t"); 
     194    case SOAP_TYPE_ns__dynRegArray
     195        return soap_in_ns__dynRegArray(soap, NULL, NULL, "ns:dynRegArray"); 
    198196    case SOAP_TYPE_ns__procEvent: 
    199197        return soap_in_ns__procEvent(soap, NULL, NULL, "ns:procEvent"); 
     
    204202    case SOAP_TYPE_PointerTostring: 
    205203        return soap_in_PointerTostring(soap, NULL, NULL, "xsd:string"); 
     204    case SOAP_TYPE_PointerTons__regEvent: 
     205        return soap_in_PointerTons__regEvent(soap, NULL, NULL, "ns:regEvent"); 
    206206    case SOAP_TYPE_string: 
    207207    {   char **s; 
     
    229229            return soap_in_ns__receiveEventsBase64(soap, NULL, NULL, NULL); 
    230230        } 
     231        if (!soap_match_tag(soap, t, "ns:receiveEventsBase64Response")) 
     232        {   *type = SOAP_TYPE_ns__receiveEventsBase64Response; 
     233            return soap_in_ns__receiveEventsBase64Response(soap, NULL, NULL, NULL); 
     234        } 
    231235        if (!soap_match_tag(soap, t, "ns:openDocument")) 
    232236        {   *type = SOAP_TYPE_ns__openDocument; 
     
    273277            return soap_in_ns__pingResponse(soap, NULL, NULL, NULL); 
    274278        } 
    275         if (!soap_match_tag(soap, t, "ns:receiveEventsStruct")) 
    276         {   *type = SOAP_TYPE_ns__receiveEventsStruct; 
    277             return soap_in_ns__receiveEventsStruct(soap, NULL, NULL, NULL); 
    278         } 
    279         if (!soap_match_tag(soap, t, "s2")) 
    280         {   *type = SOAP_TYPE_s2; 
    281             return soap_in_s2(soap, NULL, NULL, NULL); 
    282         } 
    283279        if (!soap_match_tag(soap, t, "ns:receiveFileStruct")) 
    284280        {   *type = SOAP_TYPE_ns__receiveFileStruct; 
     
    289285            return soap_in_s1(soap, NULL, NULL, NULL); 
    290286        } 
    291         if (!soap_match_tag(soap, t, "ns:procEvent-t")) 
    292         {   *type = SOAP_TYPE_ns__procEvent_t
    293             return soap_in_ns__procEvent_t(soap, NULL, NULL, NULL); 
     287        if (!soap_match_tag(soap, t, "ns:dynRegArray")) 
     288        {   *type = SOAP_TYPE_ns__dynRegArray
     289            return soap_in_ns__dynRegArray(soap, NULL, NULL, NULL); 
    294290        } 
    295291        if (!soap_match_tag(soap, t, "ns:procEvent")) 
     
    391387    case SOAP_TYPE_ns__receiveEventsBase64: 
    392388        return soap_out_ns__receiveEventsBase64(soap, tag, id, (const struct ns__receiveEventsBase64 *)ptr, "ns:receiveEventsBase64"); 
     389    case SOAP_TYPE_ns__receiveEventsBase64Response: 
     390        return soap_out_ns__receiveEventsBase64Response(soap, tag, id, (const struct ns__receiveEventsBase64Response *)ptr, "ns:receiveEventsBase64Response"); 
    393391    case SOAP_TYPE_ns__openDocument: 
    394392        return soap_out_ns__openDocument(soap, tag, id, (const struct ns__openDocument *)ptr, "ns:openDocument"); 
     
    413411    case SOAP_TYPE_ns__pingResponse: 
    414412        return soap_out_ns__pingResponse(soap, tag, id, (const struct ns__pingResponse *)ptr, "ns:pingResponse"); 
    415     case SOAP_TYPE_ns__receiveEventsStruct: 
    416         return soap_out_ns__receiveEventsStruct(soap, tag, id, (const struct s2 *)ptr, "ns:receiveEventsStruct"); 
    417     case SOAP_TYPE_s2: 
    418         return soap_out_s2(soap, tag, id, (const struct s2 *)ptr, "s2"); 
    419413    case SOAP_TYPE_ns__receiveFileStruct: 
    420414        return soap_out_ns__receiveFileStruct(soap, tag, id, (const struct s1 *)ptr, "ns:receiveFileStruct"); 
    421415    case SOAP_TYPE_s1: 
    422416        return soap_out_s1(soap, tag, id, (const struct s1 *)ptr, "s1"); 
    423     case SOAP_TYPE_ns__procEvent_t
    424         return soap_out_ns__procEvent_t(soap, tag, id, (const struct ns__procEvent *)ptr, "ns:procEvent-t"); 
     417    case SOAP_TYPE_ns__dynRegArray
     418        return soap_out_ns__dynRegArray(soap, tag, id, (const struct ns__dynRegArray *)ptr, "ns:dynRegArray"); 
    425419    case SOAP_TYPE_ns__procEvent: 
    426420        return soap_out_ns__procEvent(soap, tag, id, (const struct ns__procEvent *)ptr, "ns:procEvent"); 
     
    431425    case SOAP_TYPE_PointerTostring: 
    432426        return soap_out_PointerTostring(soap, tag, id, (char **const*)ptr, "xsd:string"); 
     427    case SOAP_TYPE_PointerTons__regEvent: 
     428        return soap_out_PointerTons__regEvent(soap, tag, id, (struct ns__regEvent *const*)ptr, "ns:regEvent"); 
    433429    case SOAP_TYPE__QName: 
    434430        return soap_out_string(soap, "xsd:QName", id, (char*const*)&ptr, NULL); 
     
    457453        soap_serialize_ns__receiveEventsBase64(soap, (const struct ns__receiveEventsBase64 *)ptr); 
    458454        break; 
     455    case SOAP_TYPE_ns__receiveEventsBase64Response: 
     456        soap_serialize_ns__receiveEventsBase64Response(soap, (const struct ns__receiveEventsBase64Response *)ptr); 
     457        break; 
    459458    case SOAP_TYPE_ns__openDocument: 
    460459        soap_serialize_ns__openDocument(soap, (const struct ns__openDocument *)ptr); 
     
    490489        soap_serialize_ns__pingResponse(soap, (const struct ns__pingResponse *)ptr); 
    491490        break; 
    492     case SOAP_TYPE_ns__receiveEventsStruct: 
    493         soap_serialize_ns__receiveEventsStruct(soap, (const struct s2 *)ptr); 
    494         break; 
    495     case SOAP_TYPE_s2: 
    496         soap_serialize_s2(soap, (const struct s2 *)ptr); 
    497         break; 
    498491    case SOAP_TYPE_ns__receiveFileStruct: 
    499492        soap_serialize_ns__receiveFileStruct(soap, (const struct s1 *)ptr); 
     
    502495        soap_serialize_s1(soap, (const struct s1 *)ptr); 
    503496        break; 
    504     case SOAP_TYPE_ns__procEvent_t
    505         soap_serialize_ns__procEvent_t(soap, (const struct ns__procEvent *)ptr); 
     497    case SOAP_TYPE_ns__dynRegArray
     498        soap_serialize_ns__dynRegArray(soap, (const struct ns__dynRegArray *)ptr); 
    506499        break; 
    507500    case SOAP_TYPE_ns__procEvent: 
     
    516509    case SOAP_TYPE_PointerTostring: 
    517510        soap_serialize_PointerTostring(soap, (char **const*)ptr); 
     511        break; 
     512    case SOAP_TYPE_PointerTons__regEvent: 
     513        soap_serialize_PointerTons__regEvent(soap, (struct ns__regEvent *const*)ptr); 
    518514        break; 
    519515    case SOAP_TYPE__QName: 
     
    541537    case SOAP_TYPE_ns__procEvent: 
    542538        return (void*)soap_instantiate_ns__procEvent(soap, -1, type, arrayType, n); 
     539    case SOAP_TYPE_ns__dynRegArray: 
     540        return (void*)soap_instantiate_ns__dynRegArray(soap, -1, type, arrayType, n); 
    543541    case SOAP_TYPE_s1: 
    544542        return (void*)soap_instantiate_s1(soap, -1, type, arrayType, n); 
    545     case SOAP_TYPE_s2: 
    546         return (void*)soap_instantiate_s2(soap, -1, type, arrayType, n); 
    547543    case SOAP_TYPE_ns__pingResponse: 
    548544        return (void*)soap_instantiate_ns__pingResponse(soap, -1, type, arrayType, n); 
     
    567563    case SOAP_TYPE_ns__openDocument: 
    568564        return (void*)soap_instantiate_ns__openDocument(soap, -1, type, arrayType, n); 
     565    case SOAP_TYPE_ns__receiveEventsBase64Response: 
     566        return (void*)soap_instantiate_ns__receiveEventsBase64Response(soap, -1, type, arrayType, n); 
    569567    case SOAP_TYPE_ns__receiveEventsBase64: 
    570568        return (void*)soap_instantiate_ns__receiveEventsBase64(soap, -1, type, arrayType, n); 
     
    589587        return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n); 
    590588#endif 
    591     case SOAP_TYPE_ns__procEvent_t: 
    592         return (void*)soap_instantiate_ns__procEvent_t(soap, -1, type, arrayType, n); 
    593589    case SOAP_TYPE_ns__receiveFileStruct: 
    594590        return (void*)soap_instantiate_ns__receiveFileStruct(soap, -1, type, arrayType, n); 
    595     case SOAP_TYPE_ns__receiveEventsStruct: 
    596         return (void*)soap_instantiate_ns__receiveEventsStruct(soap, -1, type, arrayType, n); 
    597591    } 
    598592    return NULL; 
     
    620614            delete[] (struct ns__procEvent*)p->ptr; 
    621615        break; 
     616    case SOAP_TYPE_ns__dynRegArray: 
     617        if (p->size < 0) 
     618            delete (struct ns__dynRegArray*)p->ptr; 
     619        else 
     620            delete[] (struct ns__dynRegArray*)p->ptr; 
     621        break; 
    622622    case SOAP_TYPE_s1: 
    623623        if (p->size < 0) 
     
    626626            delete[] (struct s1*)p->ptr; 
    627627        break; 
    628     case SOAP_TYPE_s2: 
    629         if (p->size < 0) 
    630             delete (struct s2*)p->ptr; 
    631         else 
    632             delete[] (struct s2*)p->ptr; 
    633         break; 
    634628    case SOAP_TYPE_ns__pingResponse: 
    635629        if (p->size < 0) 
     
    698692            delete[] (struct ns__openDocument*)p->ptr; 
    699693        break; 
     694    case SOAP_TYPE_ns__receiveEventsBase64Response: 
     695        if (p->size < 0) 
     696            delete (struct ns__receiveEventsBase64Response*)p->ptr; 
     697        else 
     698            delete[] (struct ns__receiveEventsBase64Response*)p->ptr; 
     699        break; 
    700700    case SOAP_TYPE_ns__receiveEventsBase64: 
    701701        if (p->size < 0) 
     
    734734            delete[] (struct SOAP_ENV__Fault*)p->ptr; 
    735735        break; 
    736     case SOAP_TYPE_ns__procEvent_t: 
    737         if (p->size < 0) 
    738             delete (struct ns__procEvent*)p->ptr; 
    739         else 
    740             delete[] (struct ns__procEvent*)p->ptr; 
    741         break; 
    742736    case SOAP_TYPE_ns__receiveFileStruct: 
    743737        if (p->size < 0) 
     
    745739        else 
    746740            delete[] (struct s1*)p->ptr; 
    747         break; 
    748     case SOAP_TYPE_ns__receiveEventsStruct: 
    749         if (p->size < 0) 
    750             delete (struct s2*)p->ptr; 
    751         else 
    752             delete[] (struct s2*)p->ptr; 
    753741        break; 
    754742    default:    return SOAP_ERR; 
     
    16301618} 
    16311619 
     1620SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__receiveEventsBase64Response(struct soap *soap, struct ns__receiveEventsBase64Response *a) 
     1621{ 
     1622    (void)soap; (void)a; /* appease -Wall -Werror */ 
     1623    soap_default_ns__dynRegArray(soap, &a->result); 
     1624} 
     1625 
     1626SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__receiveEventsBase64Response(struct soap *soap, const struct ns__receiveEventsBase64Response *a) 
     1627{ 
     1628    (void)soap; (void)a; /* appease -Wall -Werror */ 
     1629    soap_serialize_ns__dynRegArray(soap, &a->result); 
     1630} 
     1631 
     1632SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__receiveEventsBase64Response(struct soap *soap, const struct ns__receiveEventsBase64Response *a, const char *tag, const char *type) 
     1633{ 
     1634    register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__receiveEventsBase64Response); 
     1635    if (soap_out_ns__receiveEventsBase64Response(soap, tag, id, a, type)) 
     1636        return soap->error; 
     1637    return soap_putindependent(soap); 
     1638} 
     1639 
     1640SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__receiveEventsBase64Response(struct soap *soap, const char *tag, int id, const struct ns__receiveEventsBase64Response *a, const char *type) 
     1641{ 
     1642    if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__receiveEventsBase64Response), type)) 
     1643        return soap->error; 
     1644    if (soap_out_ns__dynRegArray(soap, "result", -1, &a->result, "")) 
     1645        return soap->error; 
     1646    return soap_element_end_out(soap, tag); 
     1647} 
     1648 
     1649SOAP_FMAC3 struct ns__receiveEventsBase64Response * SOAP_FMAC4 soap_get_ns__receiveEventsBase64Response(struct soap *soap, struct ns__receiveEventsBase64Response *p, const char *tag, const char *type) 
     1650{ 
     1651    if ((p = soap_in_ns__receiveEventsBase64Response(soap, tag, p, type))) 
     1652        if (soap_getindependent(soap)) 
     1653            return NULL; 
     1654    return p; 
     1655} 
     1656 
     1657SOAP_FMAC3 struct ns__receiveEventsBase64Response * SOAP_FMAC4 soap_in_ns__receiveEventsBase64Response(struct soap *soap, const char *tag, struct ns__receiveEventsBase64Response *a, const char *type) 
     1658{ 
     1659    short soap_flag_result = 1; 
     1660    if (soap_element_begin_in(soap, tag, 0, type)) 
     1661        return NULL; 
     1662    a = (struct ns__receiveEventsBase64Response *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__receiveEventsBase64Response, sizeof(struct ns__receiveEventsBase64Response), 0, NULL, NULL, NULL); 
     1663    if (!a) 
     1664        return NULL; 
     1665    soap_default_ns__receiveEventsBase64Response(soap, a); 
     1666    if (soap->body && !*soap->href) 
     1667    { 
     1668        for (;;) 
     1669        {   soap->error = SOAP_TAG_MISMATCH; 
     1670            if (soap_flag_result && soap->error == SOAP_TAG_MISMATCH) 
     1671                if (soap_in_ns__dynRegArray(soap, "result", &a->result, "ns:dynRegArray")) 
     1672                {   soap_flag_result--; 
     1673                    continue; 
     1674                } 
     1675            if (soap->error == SOAP_TAG_MISMATCH) 
     1676                soap->error = soap_ignore_element(soap); 
     1677            if (soap->error == SOAP_NO_TAG) 
     1678                break; 
     1679            if (soap->error) 
     1680                return NULL; 
     1681        } 
     1682        if (soap_element_end_in(soap, tag)) 
     1683            return NULL; 
     1684    } 
     1685    else 
     1686    {   a = (struct ns__receiveEventsBase64Response *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__receiveEventsBase64Response, 0, sizeof(struct ns__receiveEventsBase64Response), 0, NULL); 
     1687        if (soap->body && soap_element_end_in(soap, tag)) 
     1688            return NULL; 
     1689    } 
     1690    if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_result > 0)) 
     1691    {   soap->error = SOAP_OCCURS; 
     1692        return NULL; 
     1693    } 
     1694    return a; 
     1695} 
     1696 
     1697SOAP_FMAC5 struct ns__receiveEventsBase64Response * SOAP_FMAC6 soap_new_ns__receiveEventsBase64Response(struct soap *soap, int n) 
     1698{   return soap_instantiate_ns__receiveEventsBase64Response(soap, n, NULL, NULL, NULL); 
     1699} 
     1700 
     1701SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__receiveEventsBase64Response(struct soap *soap, struct ns__receiveEventsBase64Response *p) 
     1702{   soap_delete(soap, p); 
     1703} 
     1704 
     1705SOAP_FMAC3 struct ns__receiveEventsBase64Response * SOAP_FMAC4 soap_instantiate_ns__receiveEventsBase64Response(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size) 
     1706{ 
     1707    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns__receiveEventsBase64Response(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:"")); 
     1708    struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns__receiveEventsBase64Response, n, soap_fdelete); 
     1709    if (!cp) 
     1710        return NULL; 
     1711    if (n < 0) 
     1712    {   cp->ptr = (void*)new struct ns__receiveEventsBase64Response; 
     1713        if (size) 
     1714            *size = sizeof(struct ns__receiveEventsBase64Response); 
     1715    } 
     1716    else 
     1717    {   cp->ptr = (void*)new struct ns__receiveEventsBase64Response[n]; 
     1718        if (!cp->ptr) 
     1719        {   soap->error = SOAP_EOM; 
     1720            return NULL; 
     1721        } 
     1722        if (size) 
     1723            *size = n * sizeof(struct ns__receiveEventsBase64Response); 
     1724    } 
     1725        DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr)); 
     1726    return (struct ns__receiveEventsBase64Response*)cp->ptr; 
     1727} 
     1728SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__receiveEventsBase64Response(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n) 
     1729{ 
     1730    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct ns__receiveEventsBase64Response %p -> %p\n", q, p)); 
     1731    *(struct ns__receiveEventsBase64Response*)p = *(struct ns__receiveEventsBase64Response*)q; 
     1732} 
     1733 
    16321734SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__openDocument(struct soap *soap, struct ns__openDocument *a) 
    16331735{ 
     
    28932995} 
    28942996 
    2895 SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__receiveEventsStruct(struct soap *soap, struct s2 *a) 
    2896 {   soap_default_s2(soap, a); 
    2897 } 
    2898  
    2899 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__receiveEventsStruct(struct soap *soap, struct s2 const*a) 
    2900 {   soap_serialize_s2(soap, a); 
    2901 } 
    2902  
    2903 SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__receiveEventsStruct(struct soap *soap, const struct s2 *a, const char *tag, const char *type) 
    2904 { 
    2905     register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__receiveEventsStruct); 
    2906     if (soap_out_ns__receiveEventsStruct(soap, tag, id, a, type)) 
    2907         return soap->error; 
    2908     return soap_putindependent(soap); 
    2909 } 
    2910  
    2911 SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__receiveEventsStruct(struct soap *soap, const char *tag, int id, const struct s2 *a, const char *type) 
    2912 { 
    2913     if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__receiveEventsStruct), type)) 
    2914         return soap->error; 
    2915     if (soap_out_string(soap, "data", -1, &a->data, "")) 
    2916         return soap->error; 
    2917     if (soap_out_string(soap, "interEventDelimiter", -1, &a->interEventDelimiter, "")) 
    2918         return soap->error; 
    2919     if (soap_out_string(soap, "intraEventDelimiter", -1, &a->intraEventDelimiter, "")) 
    2920         return soap->error; 
    2921     if (soap_out_unsignedInt(soap, "numEvents", -1, &a->numEvents, "")) 
    2922         return soap->error; 
    2923     if (soap_out_byte(soap, "moreEvents", -1, &a->moreEvents, "")) 
    2924         return soap->error; 
    2925     return soap_element_end_out(soap, tag); 
    2926 } 
    2927  
    2928 SOAP_FMAC3 struct s2 * SOAP_FMAC4 soap_get_ns__receiveEventsStruct(struct soap *soap, struct s2 *p, const char *tag, const char *type) 
    2929 { 
    2930     if ((p = soap_in_ns__receiveEventsStruct(soap, tag, p, type))) 
    2931         if (soap_getindependent(soap)) 
    2932             return NULL; 
    2933     return p; 
    2934 } 
    2935  
    2936 SOAP_FMAC3 struct s2 * SOAP_FMAC4 soap_in_ns__receiveEventsStruct(struct soap *soap, const char *tag, struct s2 *a, const char *type) 
    2937 { 
    2938     short soap_flag_data = 1, soap_flag_interEventDelimiter = 1, soap_flag_intraEventDelimiter = 1, soap_flag_numEvents = 1, soap_flag_moreEvents = 1; 
    2939     if (soap_element_begin_in(soap, tag, 0, type)) 
    2940         return NULL; 
    2941     a = (struct s2 *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__receiveEventsStruct, sizeof(struct s2), 0, NULL, NULL, NULL); 
    2942     if (!a) 
    2943         return NULL; 
    2944     soap_default_ns__receiveEventsStruct(soap, a); 
    2945     if (soap->body && !*soap->href) 
    2946     { 
    2947         for (;;) 
    2948         {   soap->error = SOAP_TAG_MISMATCH; 
    2949             if (soap_flag_data && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG)) 
    2950                 if (soap_in_string(soap, "data", &a->data, "xsd:string")) 
    2951                 {   soap_flag_data--; 
    2952                     continue; 
    2953                 } 
    2954             if (soap_flag_interEventDelimiter && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG)) 
    2955                 if (soap_in_string(soap, "interEventDelimiter", &a->interEventDelimiter, "xsd:string")) 
    2956                 {   soap_flag_interEventDelimiter--; 
    2957                     continue; 
    2958                 } 
    2959             if (soap_flag_intraEventDelimiter && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG)) 
    2960                 if (soap_in_string(soap, "intraEventDelimiter", &a->intraEventDelimiter, "xsd:string")) 
    2961                 {   soap_flag_intraEventDelimiter--; 
    2962                     continue; 
    2963                 } 
    2964             if (soap_flag_numEvents && soap->error == SOAP_TAG_MISMATCH) 
    2965                 if (soap_in_unsignedInt(soap, "numEvents", &a->numEvents, "xsd:unsignedInt")) 
    2966                 {   soap_flag_numEvents--; 
    2967                     continue; 
    2968                 } 
    2969             if (soap_flag_moreEvents && soap->error == SOAP_TAG_MISMATCH) 
    2970                 if (soap_in_byte(soap, "moreEvents", &a->moreEvents, "xsd:byte")) 
    2971                 {   soap_flag_moreEvents--; 
    2972                     continue; 
    2973                 } 
    2974             if (soap->error == SOAP_TAG_MISMATCH) 
    2975                 soap->error = soap_ignore_element(soap); 
    2976             if (soap->error == SOAP_NO_TAG) 
    2977                 break; 
    2978             if (soap->error) 
    2979                 return NULL; 
    2980         } 
    2981         if (soap_element_end_in(soap, tag)) 
    2982             return NULL; 
    2983     } 
    2984     else 
    2985     {   a = (struct s2 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_ns__receiveEventsStruct, 0, sizeof(struct s2), 0, NULL); 
    2986         if (soap->body && soap_element_end_in(soap, tag)) 
    2987             return NULL; 
    2988     } 
    2989     if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_numEvents > 0 || soap_flag_moreEvents > 0)) 
    2990     {   soap->error = SOAP_OCCURS; 
    2991         return NULL; 
    2992     } 
    2993     return a; 
    2994 } 
    2995  
    2996 SOAP_FMAC5 struct s2 * SOAP_FMAC6 soap_new_ns__receiveEventsStruct(struct soap *soap, int n) 
    2997 {   return soap_instantiate_ns__receiveEventsStruct(soap, n, NULL, NULL, NULL); 
    2998 } 
    2999  
    3000 SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__receiveEventsStruct(struct soap *soap, struct s2 *p) 
    3001 {   soap_delete(soap, p); 
    3002 } 
    3003  
    3004 SOAP_FMAC3 struct s2 * SOAP_FMAC4 soap_instantiate_ns__receiveEventsStruct(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size) 
    3005 { 
    3006     DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_ns__receiveEventsStruct(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:"")); 
    3007     struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_ns__receiveEventsStruct, n, soap_fdelete); 
    3008     if (!cp) 
    3009         return NULL; 
    3010     if (n < 0) 
    3011     {   cp->ptr = (void*)new struct s2; 
    3012         if (size) 
    3013             *size = sizeof(struct s2); 
    3014     } 
    3015     else 
    3016     {   cp->ptr = (void*)new struct s2[n]; 
    3017         if (!cp->ptr) 
    3018         {   soap->error = SOAP_EOM; 
    3019             return NULL; 
    3020         } 
    3021         if (size) 
    3022             *size = n * sizeof(struct s2); 
    3023     } 
    3024         DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr)); 
    3025     return (struct s2*)cp->ptr; 
    3026 } 
    3027 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_ns__receiveEventsStruct(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n) 
    3028 { 
    3029     DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct s2 %p -> %p\n", q, p)); 
    3030     *(struct s2*)p = *(struct s2*)q; 
    3031 } 
    3032  
    3033 SOAP_FMAC3 void SOAP_FMAC4 soap_default_s2(struct soap *soap, struct s2 *a) 
    3034 { 
    3035     (void)soap; (void)a; /* appease -Wall -Werror */ 
    3036     soap_default_string(soap, &a->data); 
    3037     soap_default_string(soap, &a->interEventDelimiter); 
    3038     soap_default_string(soap, &a->intraEventDelimiter); 
    3039     soap_default_unsignedInt(soap, &a->numEvents); 
    3040     soap_default_byte(soap, &a->moreEvents); 
    3041 } 
    3042  
    3043 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_s2(struct soap *soap, const struct s2 *a) 
    3044 { 
    3045     (void)soap; (void)a; /* appease -Wall -Werror */ 
    3046     soap_serialize_string(soap, &a->data); 
    3047     soap_serialize_string(soap, &a->interEventDelimiter); 
    3048     soap_serialize_string(soap, &a->intraEventDelimiter); 
    3049     soap_embedded(soap, &a->moreEvents, SOAP_TYPE_byte); 
    3050 } 
    3051  
    3052 SOAP_FMAC3 int SOAP_FMAC4 soap_put_s2(struct soap *soap, const struct s2 *a, const char *tag, const char *type) 
    3053 { 
    3054     register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_s2); 
    3055     if (soap_out_s2(soap, tag, id, a, type)) 
    3056         return soap->error; 
    3057     return soap_putindependent(soap); 
    3058 } 
    3059  
    3060 SOAP_FMAC3 int SOAP_FMAC4 soap_out_s2(struct soap *soap, const char *tag, int id, const struct s2 *a, const char *type) 
    3061 { 
    3062     if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_s2), type)) 
    3063         return soap->error; 
    3064     if (soap_out_string(soap, "data", -1, &a->data, "")) 
    3065         return soap->error; 
    3066     if (soap_out_string(soap, "interEventDelimiter", -1, &a->interEventDelimiter, "")) 
    3067         return soap->error; 
    3068     if (soap_out_string(soap, "intraEventDelimiter", -1, &a->intraEventDelimiter, "")) 
    3069         return soap->error; 
    3070     if (soap_out_unsignedInt(soap, "numEvents", -1, &a->numEvents, "")) 
    3071         return soap->error; 
    3072     if (soap_out_byte(soap, "moreEvents", -1, &a->moreEvents, "")) 
    3073         return soap->error; 
    3074     return soap_element_end_out(soap, tag); 
    3075 } 
    3076  
    3077 SOAP_FMAC3 struct s2 * SOAP_FMAC4 soap_get_s2(struct soap *soap, struct s2 *p, const char *tag, const char *type) 
    3078 { 
    3079     if ((p = soap_in_s2(soap, tag, p, type))) 
    3080         if (soap_getindependent(soap)) 
    3081             return NULL; 
    3082     return p; 
    3083 } 
    3084  
    3085 SOAP_FMAC3 struct s2 * SOAP_FMAC4 soap_in_s2(struct soap *soap, const char *tag, struct s2 *a, const char *type) 
    3086 { 
    3087     short soap_flag_data = 1, soap_flag_interEventDelimiter = 1, soap_flag_intraEventDelimiter = 1, soap_flag_numEvents = 1, soap_flag_moreEvents = 1; 
    3088     if (soap_element_begin_in(soap, tag, 0, type)) 
    3089         return NULL; 
    3090     a = (struct s2 *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_s2, sizeof(struct s2), 0, NULL, NULL, NULL); 
    3091     if (!a) 
    3092         return NULL; 
    3093     soap_default_s2(soap, a); 
    3094     if (soap->body && !*soap->href) 
    3095     { 
    3096         for (;;) 
    3097         {   soap->error = SOAP_TAG_MISMATCH; 
    3098             if (soap_flag_data && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG)) 
    3099                 if (soap_in_string(soap, "data", &a->data, "xsd:string")) 
    3100                 {   soap_flag_data--; 
    3101                     continue; 
    3102                 } 
    3103             if (soap_flag_interEventDelimiter && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG)) 
    3104                 if (soap_in_string(soap, "interEventDelimiter", &a->interEventDelimiter, "xsd:string")) 
    3105                 {   soap_flag_interEventDelimiter--; 
    3106                     continue; 
    3107                 } 
    3108             if (soap_flag_intraEventDelimiter && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG)) 
    3109                 if (soap_in_string(soap, "intraEventDelimiter", &a->intraEventDelimiter, "xsd:string")) 
    3110                 {   soap_flag_intraEventDelimiter--; 
    3111                     continue; 
    3112                 } 
    3113             if (soap_flag_numEvents && soap->error == SOAP_TAG_MISMATCH) 
    3114                 if (soap_in_unsignedInt(soap, "numEvents", &a->numEvents, "xsd:unsignedInt")) 
    3115                 {   soap_flag_numEvents--; 
    3116                     continue; 
    3117                 } 
    3118             if (soap_flag_moreEvents && soap->error == SOAP_TAG_MISMATCH) 
    3119                 if (soap_in_byte(soap, "moreEvents", &a->moreEvents, "xsd:byte")) 
    3120                 {   soap_flag_moreEvents--; 
    3121                     continue; 
    3122                 } 
    3123             if (soap->error == SOAP_TAG_MISMATCH) 
    3124                 soap->error = soap_ignore_element(soap); 
    3125             if (soap->error == SOAP_NO_TAG) 
    3126                 break; 
    3127             if (soap->error) 
    3128                 return NULL; 
    3129         } 
    3130         if (soap_element_end_in(soap, tag)) 
    3131             return NULL; 
    3132     } 
    3133     else 
    3134     {   a = (struct s2 *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_s2, 0, sizeof(struct s2), 0, NULL); 
    3135         if (soap->body && soap_element_end_in(soap, tag)) 
    3136             return NULL; 
    3137     } 
    3138     if ((soap->mode & SOAP_XML_STRICT) && (soap_flag_numEvents > 0 || soap_flag_moreEvents > 0)) 
    3139     {   soap->error = SOAP_OCCURS; 
    3140         return NULL; 
    3141     } 
    3142     return a; 
    3143 } 
    3144  
    3145 SOAP_FMAC5 struct s2 * SOAP_FMAC6 soap_new_s2(struct soap *soap, int n) 
    3146 {   return soap_instantiate_s2(soap, n, NULL, NULL, NULL); 
    3147 } 
    3148  
    3149 SOAP_FMAC5 void SOAP_FMAC6 soap_delete_s2(struct soap *soap, struct s2 *p) 
    3150 {   soap_delete(soap, p); 
    3151 } 
    3152  
    3153 SOAP_FMAC3 struct s2 * SOAP_FMAC4 soap_instantiate_s2(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size) 
    3154 { 
    3155     DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_s2(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:"")); 
    3156     struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_s2, n, soap_fdelete); 
    3157     if (!cp) 
    3158         return NULL; 
    3159     if (n < 0) 
    3160     {   cp->ptr = (void*)new struct s2; 
    3161         if (size) 
    3162             *size = sizeof(struct s2); 
    3163     } 
    3164     else 
    3165     {   cp->ptr = (void*)new struct s2[n]; 
    3166         if (!cp->ptr) 
    3167         {   soap->error = SOAP_EOM; 
    3168             return NULL; 
    3169         } 
    3170         if (size) 
    3171             *size = n * sizeof(struct s2); 
    3172     } 
    3173         DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr)); 
    3174     return (struct s2*)cp->ptr; 
    3175 } 
    3176 SOAP_FMAC3 void SOAP_FMAC4 soap_copy_s2(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n) 
    3177 { 
    3178     DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct s2 %p -> %p\n", q, p)); 
    3179     *(struct s2*)p = *(struct s2*)q; 
    3180 } 
    3181  
    31822997SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__receiveFileStruct(struct soap *soap, struct s1 *a) 
    31832998{   soap_default_s1(soap, a); 
     
    34343249} 
    34353250 
    3436 SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__procEvent_t(struct soap *soap, struct ns__procEvent *a) 
    3437 {   soap_default_ns__procEvent(soap, a); 
    3438 
    3439  
    3440 SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__procEvent_t(struct soap *soap, struct ns__procEvent const*a) 
    3441 {   soap_serialize_ns__procEvent(soap, a); 
    3442 
    3443  
    3444 SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__procEvent_t(struct soap *soap, const struct ns__procEvent *a, const char *tag, const char *type) 
    3445 
    3446     register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_ns__procEvent_t); 
    3447     if (soap_out_ns__procEvent_t(soap, tag, id, a, type)) 
     3251SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__dynRegArray(struct soap *soap, struct ns__dynRegArray *a) 
     3252
     3253    a->__size = 0; 
     3254    a->__ptr = NULL; 
     3255
     3256 
     3257SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_ns__dynRegArray(struct soap *soap, struct ns__dynRegArray const*a) 
     3258
     3259    int i; 
     3260    if (a->__ptr && !soap_array_reference(soap, a, (struct soap_array*)&a->__ptr, 1, SOAP_TYPE_ns__dynRegArray)) 
     3261        for (i = 0; i < a->__size; i++) 
     3262        {   soap_embedded(soap, a->__ptr + i, SOAP_TYPE_ns__regEvent); 
     3263            soap_serialize_ns__regEvent(soap, a->__ptr + i); 
     3264        } 
     3265
     3266 
     3267SOAP_FMAC3 int SOAP_FMAC4 soap_put_ns__dynRegArray(struct soap *soap, const struct ns__dynRegArray *a, const char *tag, const char *type) 
     3268
     3269    register int id = soap_embed(soap, (void*)a, (struct soap_array*)&a->__ptr, 1, tag, SOAP_TYPE_ns__dynRegArray); 
     3270    if (soap_out_ns__dynRegArray(soap, tag, id, a, type)) 
    34483271        return soap->error; 
    34493272    return soap_putindependent(soap); 
    34503273} 
    34513274 
    3452 SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__procEvent_t(struct soap *soap, const char *tag, int id, const struct ns__procEvent *a, const char *type) 
    3453 
    3454     if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_ns__procEvent_t), type)) 
    3455         return soap->error; 
    3456     if (soap_out_string(soap, "time", -1, &a->time, "")) 
    3457         return soap->error; 
    3458     if (soap_out_string(soap, "eventType", -1, &a->eventType, "")) 
    3459         return soap->error; 
    3460     if (soap_out_int(soap, "parentPID", -1, &a->parentPID, "")) 
    3461         return soap->error; 
    3462     if (soap_out_string(soap, "parentName", -1, &a->parentName, "")) 
    3463         return soap->error; 
    3464     if (soap_out_int(soap, "procPID", -1, &a->procPID, "")) 
    3465         return soap->error; 
    3466     if (soap_out_string(soap, "procName", -1, &a->procName, "")) 
    3467         return soap->error; 
     3275SOAP_FMAC3 int SOAP_FMAC4 soap_out_ns__dynRegArray(struct soap *soap, const char *tag, int id, const struct ns__dynRegArray *a, const char *type) 
     3276
     3277    int i, n = a->__size; 
     3278    id = soap_element_id(soap, tag, id, a, (struct soap_array*)&a->__ptr, 1, type, SOAP_TYPE_ns__dynRegArray); 
     3279    if (id < 0) 
     3280        return soap->error; 
     3281    if (soap_element_begin_out(soap, tag, id, type)) 
     3282        return soap->error; 
     3283    for (i = 0; i < n; i++) 
     3284    { 
     3285        soap_out_ns__regEvent(soap, "item", -1, &a->__ptr[i], ""); 
     3286    } 
    34683287    return soap_element_end_out(soap, tag); 
    34693288} 
    34703289 
    3471 SOAP_FMAC3 struct ns__procEvent * SOAP_FMAC4 soap_get_ns__procEvent_t(struct soap *soap, struct ns__procEvent *p, const char *tag, const char *type) 
    3472 { 
    3473     if ((p = soap_in_ns__procEvent_t(soap, tag, p, type))) 
     3290SOAP_FMAC3 struct ns__dynRegArray * SOAP_FMAC4 soap_get_ns__dynRegArray(struct soap *soap, struct ns__dynRegArray *p, const char *tag, const char *type) 
     3291{ 
     3292    if ((p = soap_in_ns__dynRegArray(soap, tag, p, type))) 
    34743293        if (soap_getindependent(soap)) 
    34753294            return NULL; 
     
    34773296} 
    34783297 
    3479 SOAP_FMAC3 struct ns__procEvent * SOAP_FMAC4 soap_in_ns__procEvent_t(struct soap *soap, const char *tag, struct ns__procEvent *a, const char *type) 
    3480 
    3481     short soap_flag_time = 1, soap_flag_eventType = 1, soap_flag_parentPID = 1, soap_flag_parentName = 1, soap_flag_procPID = 1, soap_flag_procName = 1; 
    3482     if (soap_element_begin_in(soap, tag, 0, type)) 
    3483         return NULL; 
    3484     a = (struct ns__procEvent *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_ns__procEvent_t, sizeof(struct ns__procEvent), 0, NULL, NULL, NULL); 
     3298SOAP_FMAC3 struct ns__dynRegArray * SOAP_FMAC4 soap_in_ns__dynRegArray(struct soap *soap, const char *tag, struct ns__dynRegArray *a, const char *type) 
     3299{   int i, j; 
     3300&nbs