Apple Newton Utilities User's Guide Page 798

  • Download
  • Add to my manuals
  • Print
  • Page
    / 942
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 797
CHAPTER 22
Transport Interface
22-10 Using the Transport Interface
Some transports may ignore the ReceiveRequest message, since they receive
data continuously. Others may use this message as a trigger to initiate a connection.
You can choose to comply with or ignore any request to receive, depending on the
communication resources available and their status. If you choose to comply, the
ReceiveRequest method should establish a connection and begin receiving by
whatever means the transport uses to communicate. For example, many transports
use the Endpoint interface to establish and operate a connection. After receiving the
item, you should call the transport method
NewFromItem to copy it into a
standard item frame used by the In/Out Box. Finally, you must call
ItemCompleted to write the item to the In Box.
If your transport creates virtual binary objects, you must use the method
GetDefaultOwnerStore to determine on which store to create them.
Note
The body slot within every received item must have a class slot
to identify its data class. Data objects received from other Newton
devices always have a
class slot. For data received from other
systems, your transport must assign a meaningful class to the
item.body object.
Deferring Reception of the Item Data 22
Some transports might want to download just part of an item initially, such as its
title, then download the actual item data when a user requests it. For example, upon
connection an e-mail transport might download just the titles of messages or other
data objects. When the user attempts to view one of these items in the In Box, the
transport then downloads the body of the item from the remote host.
This feature is accomplished by the use of the
cause slot in the parameter passed
to the
ReceiveRequest method, and by the use of a remote slot in the item frame.
If a transport initially downloads just a part of each item, such as its title, it must
insert a slot called
remote, whose value is true in the item frame of those items.
This slot serves as a ag to tell the In/Out Box that the body of the item is stored
remotely and has not yet been downloaded.
When the user attempts to view one of these items in the In Box, the In Box sees
the
remote slot, and sends the transport the ReceiveRequest message with the
'remote cause. This alerts the transport to download the body of the item from
the remote host. If the user selected multiple remote items for downloading, you
must use the
ItemRequest method to retrieve subsequent requested items and
download them. Keep calling
ItemRequest until it returns nil, which signals
that there are no more items to retrieve.
Page view 797
1 2 ... 793 794 795 796 797 798 799 800 801 802 803 ... 941 942

Comments to this Manuals

No comments