QuickVoy &51C44

This is geeky stuff...
(click here for normality)

&51C44  QuickVoy_Message

        This is a multiple-purpose message allocated to QuickVoy. The base
        block (&51C40) has been officially allocated for use by my software
        (originally, to replace the &16F00 doors protocol; BBS stuff).

        The way this is allocated is a message number is assigned to each
        application - QuickVoy uses message &51C44 - and the word at
        data%!20 specifies what the message means. data%+24 is the data.

        This means, 64 applications can be supported, with 2147483650
        possible messages available; which is much more flexible than only
        64 messages for one application.

        The following codes are received by QuickVoy (data%!20):

          1 - QuickVoy_Connect
              If not connected, connect now.

          2 - QuickVoy_Disconnect
              If connected, disconnect now.

          3 - QuickVoy_InvokeTransport
              Invoke transport - has no effect if not on-line.
                data%!24 bit 0 = News fetcher
                             1 = News sender
                             2 = Mail fetcher
                             3 = Mail sender
                             7 = Self upgrader (assumed to be at
          4 - QuickVoy_InvokeActivity
              Invokes a scripted activity
                data%!24 bit 0 = UPON STARTUP
                             1 = UPON CONNECT
                             2 = UPON TIMER
                             3 = UPON DISCONNECT
                             4 = UPON QUIT
              It is only really safe to call the timed events a little
              early; you can cause nasty things to happen by messing with

          5 - QuickVoy_RQStatus
              Request status; replies code 10.

          6 - QuickVoy_MbxWatch
              Broadcast by MbxWatch to indicate the status of the mailbox.
              Ignored by QuickVoy Small.
                data%!24 = Number of messages
                data%!28 = Size of all messages

          7 - QuickVoy_Email
              Broadcast by the email progette in response to a mailto: URL
              having been chosen (in the browser).
              Ignored by QuickVoy Small.
                $(data%+24)  = Email address
                $(data%+128) = Email subject
              The email subject is currently not decoded by the interface
              progrette ("...!QuickVoy.Utilities.!mailtourl"), but it is
              supported by QuickVoy. You could use this Wimp message to add
              your own email requests.

         11 - QuickVoy_FetcherReady
              Broadcast by fetcher to say that it has loaded and is ready.
              Ignored by QuickVoy Small.

         12 - QuickVoy_FetcherStatus
              Broadcast by fetcher to report on status.
              Ignored by QuickVoy Small.
                data%!24 = 1 Resolving
                           2 Connecting socket
                           3 Sending request
                           4 Waiting for response from server
                           5 Fetching data
                data%!28 = Amount fetched, if code = 5
                data%!32 = Amount to be fetched or 0 if unknown (if code=5)

         14 - QuickVoy_FetcherCompleted
              Fetch completed.
              Ignored by QuickVoy Small.

         15 - QuickVoy_FetcherError
              Fetcher error.
              Ignored by QuickVoy Small.
                data%!24 = 1 No stack loaded
                           2 No resolver loaded
                           3 Unable to resolve domain
                           4 Unable to open output file
                           5 Unable to connect socket
                           6 Unable to fetch object
                           7 Internal error, quitting
                           8 Can't do fetch, already fetching something
                           9 Invalid input
                          10 Error overrun when fetching headers
                          11 Error overrun when fetching data
                          12 Remote system closed connection
                          14 Unable to open specifier file ("fetchrq")
                          15 Unable to parse URL in specifier file
                          16 No write name in specifier file

         16 - QuickVoy_FetcherDied
              Broadcast by fetcher when asked to shut down.
              Ignored by QuickVoy Small.
              data%!24 = Handle of task that requested shutdown, or 0 if a
                         TaskManager quit.

         17 - QuickVoy_FetcherAlternate
              Broadcast by fetcher if the actual domain is something other
                than the specified domain.
                Not currently supported, and can probably be ignored anyway.
                $data%+24 = Alternative alias

        The following codes are broadcast by QuickVoy (data%!20):

        10 - QuickVoy_Status
             data%!24 = &796F5651 ("QVoy", for identification)
             data%!28 = Version number * 100; if bit 31 is set then
                        QuickVoy Small is being used.
             data%?32 = TRUE if connected, else FALSE.
             data%?33 = TRUE if dialling, 2 if logging in, else FALSE.
             $data%+36= Login name (like "UKARG/argxx99"), null terminated.

        20 - QuickVoy_RQFetcher
             Requests the fetcher fetch something. The fetcher will look
             for the file ".Utilities.userdata.fetchrq" which
             should contain two lines of text:
               1 - What to fetch (full URL)
               2 - Where to write it to
             Won't be broadcast by QuickVoy Small.

        21 - QuickVoy_RQFetcherStatus
             Requests a status on the fetcher (replies with code 12).
             Won't be broadcast by QuickVoy Small.

        22 - QuickVoy_RQFetcherDie
             Requests the fetcher to abort and exit.
             Won't be broadcast by QuickVoy Small.

Using the fetcher

  If you really must...

    * Load ".Utilities.!fetcher" (this name is fixed, any newer
      code will have the same utility name).

    * It will, upon loading, broadcast &51C44 with the word at +20 being 11.
      You should wait a few seconds for the fetcher to initialise, before
      reporting that the fetcher failed to load.

    * You create the ".Utilities.userdata.fetchrq" file;
      something like:

    * Broadcast code 20.

    * Wait until you receive code 14, 15, or 16. You will periodically receive
      code 12 which you can use to update status displays.

    * If fetch completed okay, send code 22 to kill fetcher. If it didn't, then
      remove the fetched file as it is likely to be non-existant/incomplete.


Return to QuickVoy index
Copyright © 2000 Richard Murray