downloadmarquee.GIF (2385 bytes)books.JPG (7189 bytes)

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.

DILs1_02.zip   636k  

DILs10MacDocsUtilities_sea.hqx 666k  


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.

dil20a2.zip  252k  

dil20a2.hqx   844k  

dil20doc.zip  138k  

dil20doc_sea.hqx  218k