[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multiRef guidance



Steve,

You are welcome. Hopefully WSDL2RPG can ease your life.

Thomas.

Am 17.08.2010 15:52, schrieb Steve Bowdoin:
> Thomas,
>
> Wow.  You spent a lot of time on my question.  Thanks.
>
> Your English is just fine.  It is much better than my German.
>
> I was in the process of doing my own thing and saving some of the
> attributes.  I see from your text, that is not enough.
>
> I will take your advice and spend some more time with WSDL2RPG.
>
> Thanks from Alabama.
> Steve
>
>
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> thomas.raddatz@xxxxxx
> Sent: Tuesday, August 17, 2010 2:23 AM
> To: ftpapi@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: multiRef guidance
>
>
> Steve,
>
> Working with "multiRef" and RPG is a pain and I do not know whether my
>
> English is good enough to explain how I do it, but I will do my best to
>
> give you an idea of it. I use your sample data as part of my explanation.
>
> Basically my program monitors for multiRef elements. When it encounters a
>
> multiRef reference, e.g.<getGpsReturn href="#id0"/>, it adds that
>
> reference to a map along with the following information (program state):
>
>    From the parameter list of the start-callback procedure:
>
>     userData
>     depth
>     namespace
>     name
>     path
>     attrs
>
>    From http_parser_get_start_cb() and http_parser_get_end_cb():
>
>
>     cbStart
>     cbEnd
>
>    Others:
>
>     itemIndex  (item index, if itemData is an array entry)
>     itemData   (either userData or address of aarray element)
>     length     (length of storage of itemData)
>
> I need all that information in order to re-build the program state when
>
> the program goes on and hits a multiRef element<multiRef id="id0" ...>.
>
> When the program hits a multiRef element it calls http_parser_switch_cb()
>
> to switch the callbacks to a special multiRef handler callback. That
>
> callback retrieves the data that is associated to "id0" from the map. Then
>
> it manipulates all input parameter values of the start- and end-callback
>
> procedures to be the same as they were at the time "id0" was added to the
>
> map. Finally it calls the "original" callbacks that have been stored in
>
> "cbStart" and "cbEnd". That way these callbacks are called as if there was
>
> no multiRef.
>
> Last but not least you need to know that multiRef data (id="id0") can be
>
> referenced more than once!
>
> So in case my program encounters that there is a second and third
>
> reference to "id0" it also stores the current program state in an array as
>
> part of the map entry that is associated with "id0". At the end of the
>
> program it copies the multiRef data from the first reference (itemData,
>
> length) to the second, third, ..., references (memcpy()).
>
> I use my own BasicMap and BasicList "objects" as part of my BASICS1
>
> service program in order to use dynamic memory allocation to manage an
>
> unlimited number of entries.
>
> Perhaps you should consider to use WSDL2RPG which supports multiRef
>
> elements. In case you want to look at WSDL2R94 (multiRef handler), you
>
> must know that I use my own eXpat adapter because Scott did not yet
>
> released his HTTP API at the time that I neeed http_parser_switch_cb() and
>
> some other new procedures. The names are slighlty different but they work
>
> the same way. Actually I intended to change everything back to Scott's
>
> eXpat adapter (HTTPXMLR4) but since my one works too, I kept it the way it
>
> is. Honestly lot's of code had been taken from Scott's HTTPXMLR4.
>
> Thomas.
>
>
>
>
>
> Von:    steve@xxxxxxxxxxx
> An:     ftpapi@xxxxxxxxxxxxxxxxxxxxxx
> Datum:  16.08.2010 07:09
> Betreff:        multiRef guidance
> Gesendet von:   ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>
>
>
> Greetings All.
>
>
>
>
> Please provide me some guidance with "multiRef".
>
>
>
>
>
> I have found documentation that tells me what they are.  I haven't found
>
> any
> docs that tell me how to best deal with them in RPG.
>
>
>
>
> Thanks in advance.
>
>
>
>
> Steve
>
>
>
>
>
>
>
> [Anhang "multiref.txt" gelöscht von Thomas Raddatz/GfD/DE]
>
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------
>
>
>
> --
> IMPORTANT NOTICE:
> This email is confidential, may be legally privileged, and is for the
> intended recipient only. Access, disclosure, copying, distribution, or
> reliance on any of it by anyone else is prohibited and may be a criminal
> offence. Please delete if obtained in error and email confirmation to the
> sender.
>
>
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list.  To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------
>
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------