Changeset 1769
- Timestamp:
- 08/27/08 13:44:49 (3 months ago)
- Files:
-
- capture-mod/trunk/CaptureSoapServer.cpp (modified) (3 diffs)
- capture-mod/trunk/capture.wsdl (modified) (6 diffs)
- capture-mod/trunk/captureGSOAP.h (modified) (5 diffs)
- capture-mod/trunk/install/CaptureBAT.exe (modified) (previous)
- capture-mod/trunk/soapC.cpp (modified) (29 diffs)
- capture-mod/trunk/soapClient.cpp (modified) (3 diffs)
- capture-mod/trunk/soapH.h (modified) (17 diffs)
- capture-mod/trunk/soapServer.cpp (modified) (3 diffs)
- capture-mod/trunk/soapStub.h (modified) (17 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
capture-mod/trunk/CaptureSoapServer.cpp
r1767 r1769 14 14 struct soap soap; 15 15 16 std::queue<struct ns__regEvent> regQ;17 std::queue<struct ns__fileEvent> fileQ;18 std::queue<struct ns__procEvent> procQ;16 std::vector<struct ns__regEvent> regVec; 17 std::list<struct ns__fileEvent> fileList; 18 std::list<struct ns__procEvent> procList; 19 19 20 20 … … 116 116 sprintf(r.valueData, "%ls", extra.at(3).c_str()); 117 117 118 reg Q.push(r);119 printf("added one event to reg Q. 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()); 120 120 } 121 121 … … 333 333 //If maxEventsReturned == -1, then then send as many as possible. 334 334 //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()){ 335 int 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()){ 338 341 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; 346 343 } 347 344 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; 351 353 } 352 354 capture-mod/trunk/capture.wsdl
r1767 r1769 26 26 attributeFormDefault="unqualified"> 27 27 <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>34 28 <complexType name="receiveFileStruct"> 35 29 <complexContent> … … 38 32 </complexContent> 39 33 </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> 45 45 </complexType> 46 46 <complexType name="fileEvent"> … … 63 63 </sequence> 64 64 </complexType> 65 <complexType name="dynRegArray"> 66 <sequence> 67 <element name="item" type="ns:regEvent" minOccurs="0" maxOccurs="unbounded" nillable="true"/> 68 </sequence> 69 </complexType> 65 70 <complexType name="s1"> 66 71 <sequence> … … 68 73 <element name="encodedLength" type="xsd:unsignedInt" minOccurs="1" maxOccurs="1"/> 69 74 <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"/>79 75 </sequence> 80 76 </complexType> … … 137 133 </message> 138 134 139 <message name="receiveEventsBase64 ">135 <message name="receiveEventsBase64Request"> 140 136 <part name="maxEventsReturned" type="xsd:int"/> 141 137 </message> 142 138 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"/> 152 141 </message> 153 142 … … 185 174 <operation name="receiveEventsBase64"> 186 175 <documentation>Service definition of function ns__receiveEventsBase64</documentation> 187 <input message="tns:receiveEventsBase64 "/>188 <output message="tns:re gEvent"/>176 <input message="tns:receiveEventsBase64Request"/> 177 <output message="tns:receiveEventsBase64Response"/> 189 178 </operation> 190 179 </portType> capture-mod/trunk/captureGSOAP.h
r1767 r1769 33 33 }; 34 34 35 typedefstruct ns__procEvent{35 struct ns__procEvent{ 36 36 char * time; 37 37 char * eventType; … … 40 40 int procPID; 41 41 char * procName; 42 } ns__procEvent_t;42 }; 43 43 44 45 struct ns__dynRegArray{ 46 struct ns__regEvent * __ptr; 47 int __size; //number of elements 48 }; 44 49 45 50 typedef struct s1{ … … 50 55 51 56 57 /* 52 58 //TODO: restructure this 53 59 typedef struct s2{ … … 59 65 //It is the Manager's responsibility to request the additional data. 60 66 } ns__receiveEventsStruct; 67 */ 61 68 62 69 … … 68 75 int ns__openDocument(char * fileName, int waitTimeMillisec, int &result); 69 76 //int ns__receiveEventsBase64(int maxEventsReturned, ns__receiveEventsStruct &result); 70 int ns__receiveEventsBase64(int maxEventsReturned, struct ns__ regEvent&result);77 int ns__receiveEventsBase64(int maxEventsReturned, struct ns__dynRegArray &result); 71 78 capture-mod/trunk/soapC.cpp
r1767 r1769 8 8 #include "soapH.h" 9 9 10 SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-2 6 03:24:29 GMT")10 SOAP_SOURCE_STAMP("@(#) soapC.cpp ver 2.7.10 2008-08-27 02:17:09 GMT") 11 11 12 12 … … 164 164 case SOAP_TYPE_ns__receiveEventsBase64: 165 165 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"); 166 168 case SOAP_TYPE_ns__openDocument: 167 169 return soap_in_ns__openDocument(soap, NULL, NULL, "ns:openDocument"); … … 186 188 case SOAP_TYPE_ns__pingResponse: 187 189 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");192 190 case SOAP_TYPE_ns__receiveFileStruct: 193 191 return soap_in_ns__receiveFileStruct(soap, NULL, NULL, "ns:receiveFileStruct"); 194 192 case SOAP_TYPE_s1: 195 193 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"); 198 196 case SOAP_TYPE_ns__procEvent: 199 197 return soap_in_ns__procEvent(soap, NULL, NULL, "ns:procEvent"); … … 204 202 case SOAP_TYPE_PointerTostring: 205 203 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"); 206 206 case SOAP_TYPE_string: 207 207 { char **s; … … 229 229 return soap_in_ns__receiveEventsBase64(soap, NULL, NULL, NULL); 230 230 } 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 } 231 235 if (!soap_match_tag(soap, t, "ns:openDocument")) 232 236 { *type = SOAP_TYPE_ns__openDocument; … … 273 277 return soap_in_ns__pingResponse(soap, NULL, NULL, NULL); 274 278 } 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 }283 279 if (!soap_match_tag(soap, t, "ns:receiveFileStruct")) 284 280 { *type = SOAP_TYPE_ns__receiveFileStruct; … … 289 285 return soap_in_s1(soap, NULL, NULL, NULL); 290 286 } 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); 294 290 } 295 291 if (!soap_match_tag(soap, t, "ns:procEvent")) … … 391 387 case SOAP_TYPE_ns__receiveEventsBase64: 392 388 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"); 393 391 case SOAP_TYPE_ns__openDocument: 394 392 return soap_out_ns__openDocument(soap, tag, id, (const struct ns__openDocument *)ptr, "ns:openDocument"); … … 413 411 case SOAP_TYPE_ns__pingResponse: 414 412 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");419 413 case SOAP_TYPE_ns__receiveFileStruct: 420 414 return soap_out_ns__receiveFileStruct(soap, tag, id, (const struct s1 *)ptr, "ns:receiveFileStruct"); 421 415 case SOAP_TYPE_s1: 422 416 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"); 425 419 case SOAP_TYPE_ns__procEvent: 426 420 return soap_out_ns__procEvent(soap, tag, id, (const struct ns__procEvent *)ptr, "ns:procEvent"); … … 431 425 case SOAP_TYPE_PointerTostring: 432 426 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"); 433 429 case SOAP_TYPE__QName: 434 430 return soap_out_string(soap, "xsd:QName", id, (char*const*)&ptr, NULL); … … 457 453 soap_serialize_ns__receiveEventsBase64(soap, (const struct ns__receiveEventsBase64 *)ptr); 458 454 break; 455 case SOAP_TYPE_ns__receiveEventsBase64Response: 456 soap_serialize_ns__receiveEventsBase64Response(soap, (const struct ns__receiveEventsBase64Response *)ptr); 457 break; 459 458 case SOAP_TYPE_ns__openDocument: 460 459 soap_serialize_ns__openDocument(soap, (const struct ns__openDocument *)ptr); … … 490 489 soap_serialize_ns__pingResponse(soap, (const struct ns__pingResponse *)ptr); 491 490 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;498 491 case SOAP_TYPE_ns__receiveFileStruct: 499 492 soap_serialize_ns__receiveFileStruct(soap, (const struct s1 *)ptr); … … 502 495 soap_serialize_s1(soap, (const struct s1 *)ptr); 503 496 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); 506 499 break; 507 500 case SOAP_TYPE_ns__procEvent: … … 516 509 case SOAP_TYPE_PointerTostring: 517 510 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); 518 514 break; 519 515 case SOAP_TYPE__QName: … … 541 537 case SOAP_TYPE_ns__procEvent: 542 538 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); 543 541 case SOAP_TYPE_s1: 544 542 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);547 543 case SOAP_TYPE_ns__pingResponse: 548 544 return (void*)soap_instantiate_ns__pingResponse(soap, -1, type, arrayType, n); … … 567 563 case SOAP_TYPE_ns__openDocument: 568 564 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); 569 567 case SOAP_TYPE_ns__receiveEventsBase64: 570 568 return (void*)soap_instantiate_ns__receiveEventsBase64(soap, -1, type, arrayType, n); … … 589 587 return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n); 590 588 #endif 591 case SOAP_TYPE_ns__procEvent_t:592 return (void*)soap_instantiate_ns__procEvent_t(soap, -1, type, arrayType, n);593 589 case SOAP_TYPE_ns__receiveFileStruct: 594 590 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);597 591 } 598 592 return NULL; … … 620 614 delete[] (struct ns__procEvent*)p->ptr; 621 615 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; 622 622 case SOAP_TYPE_s1: 623 623 if (p->size < 0) … … 626 626 delete[] (struct s1*)p->ptr; 627 627 break; 628 case SOAP_TYPE_s2:629 if (p->size < 0)630 delete (struct s2*)p->ptr;631 else632 delete[] (struct s2*)p->ptr;633 break;634 628 case SOAP_TYPE_ns__pingResponse: 635 629 if (p->size < 0) … … 698 692 delete[] (struct ns__openDocument*)p->ptr; 699 693 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; 700 700 case SOAP_TYPE_ns__receiveEventsBase64: 701 701 if (p->size < 0) … … 734 734 delete[] (struct SOAP_ENV__Fault*)p->ptr; 735 735 break; 736 case SOAP_TYPE_ns__procEvent_t:737 if (p->size < 0)738 delete (struct ns__procEvent*)p->ptr;739 else740 delete[] (struct ns__procEvent*)p->ptr;741 break;742 736 case SOAP_TYPE_ns__receiveFileStruct: 743 737 if (p->size < 0) … … 745 739 else 746 740 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 else752 delete[] (struct s2*)p->ptr;753 741 break; 754 742 default: return SOAP_ERR; … … 1630 1618 } 1631 1619 1620 SOAP_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 1626 SOAP_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 1632 SOAP_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 1640 SOAP_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 1649 SOAP_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 1657 SOAP_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 1697 SOAP_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 1701 SOAP_FMAC5 void SOAP_FMAC6 soap_delete_ns__receiveEventsBase64Response(struct soap *soap, struct ns__receiveEventsBase64Response *p) 1702 { soap_delete(soap, p); 1703 } 1704 1705 SOAP_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 } 1728 SOAP_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 1632 1734 SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__openDocument(struct soap *soap, struct ns__openDocument *a) 1633 1735 { … … 2893 2995 } 2894 2996 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 else2985 { 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 else3016 { 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 else3134 { 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 else3165 { 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 3182 2997 SOAP_FMAC3 void SOAP_FMAC4 soap_default_ns__receiveFileStruct(struct soap *soap, struct s1 *a) 3183 2998 { soap_default_s1(soap, a); … … 3434 3249 } 3435 3250 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)) 3251 SOAP_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 3257 SOAP_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 3267 SOAP_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)) 3448 3271 return soap->error; 3449 3272 return soap_putindependent(soap); 3450 3273 } 3451 3274 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; 3275 SOAP_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 } 3468 3287 return soap_element_end_out(soap, tag); 3469 3288 } 3470 3289 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)))3290 SOAP_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))) 3474 3293 if (soap_getindependent(soap)) 3475 3294 return NULL; … … 3477 3296 } 3478 3297 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); 3298 SOAP_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
