Desktop Integration Libraries
Desktop Integration Libraries
1.0 |
|
The Desktop Integration Libraries (DILs) allow
developers of applications for either the Mac OS or Windows operating systems to directly
synchronize data between their applications and a Newton device. This feature enables
seamless data sharing between the Newton device and personal computers without requiring
intermediary translators or interpreter programs. The Communications Layer (CDIL) provides
a steam based interface for exchanging data with Newton OS devices over a variety of
communications services, including serial, ADSP, TCP/IP, and (on the Macintosh) generic
CommToolBox tools. The Frames Layer (FDIL), responsible for the management of
NewtonScript-compatible objects. With it, you can read objects sent from a Newton OS
device, manipulate the objects (including creating new ones), and send objects to a Newton
OS device. FDIL 2.0 brings vastly increased functionality over the HLFDIL 1.0, which it
replaces. Specific APIs have been added to manipulate most of the well-known object types
(integers, strings, frames, arrays, reals, generic binaries, etc.). Additionally,
extensive support for Virtual Binary Objects has been added, allowing access to Newton
Works data structures previously not possible with the 1.0 FDIL. The Protocol Layer (PDIL)
implements the protocol used to communicate with the Connection/Dock application on Newton
OS devices. With it, you can connect to a Newton device, iterate over all the stores and
soups on the device, read all the soup entries, modify the soup entries, or even add or
delete soup entries (or even entire soups). You can even install "protocol
extensions", thus executing any NewtonScript code that you want. The 1.0 PDILs were
only seeded in a limited fashion and will not be completed, as they relied upon the 1.x
FDIL and CDIL libraries. Both files include documentation.
Desktop Integration Libraries
2.0 |
|
The 2.0 version of the PDIL requires the 2.0
FDIL, in that the data it produces (i.e., the data it receives from the Newton device) is
in the form of FDIL objects. Similarly, the data you send to the Newton device is
specified in the form of FDIL objects. The 2.0 DILs do not share precisely the
same API as the 1.0x libraries, but the basic responsibilities of the various DILs (i.e.,
CDIL, FDIL, and PDIL) remain the same. Efforts have been focused on streamlining and
enhancing their functionality and interfaces, simplifying the APIs, and of course,
strengthening the robustness that will allow you to more easily create more powerful
desktop connectivity products. The CDIL's API has been simplified by removing features
which were deemed to be rarely-used, problematic and/or easily recreated by the
application if they really were needed. Asynchronous read and write calls were removed, as
were several of the parameters to CDPipeWrite and CDPipeRead, since they can easily be
recreated by the calling application, in a more flexible and safe way. Additionally, we
have ended support for 16-bit versions of Microsoft Windows. FDIL 2.0 brings vastly
increased functionality over the 1.0 version; its API much more closely reflects that of
NewtonScript. Specific APIs have been added to manipulate most of the well-known object
types (integers, strings, frames, arrays, reals, generic binaries, etc.). Additionally,
extensive support for Virtual Binary Objects has been added, allowing access to Newton
Works data structures previously not possible with the 1.0 FDIL. Some of your
least-loved FDIL 1.0 features (like FDbindSlot and the unbound slot list) are gone,
replaced with an easier to use set of APIs. Also gone is the FDIL's dependence on the CDIL
when streaming; the streaming interface has been genericized so that you can stream
objects to and from anywhere you choose.
|