Newton Programmer's Guide
For Newton 2.0
Table of Contents
- Figures and Tables
-
Preface
- Who Should Read This Book
- Related Books
- Newton Programmer's Reference CD-ROM
- Sample Code
- Conventions Used in This Book
- Special Fonts
- Tap Versus Click
- Frame Code
- Developer Products and Support
- Undocumented System Software Objects
-
Chapter 1
Overview
- Operating System
- System Services
- Object Storage System
- View System
- Text Input and Recognition
- Stationery
- Intelligent Assistant
- Imaging and Printing
- Sound
- Book Reader
- Find
- Filing
- Communications Services
- NewtonScript Application Communications
- Routing Through the In/Out Box
- Endpoint Interface
- Low-Level Communications
- Transport Interface
- Communication Tool Interface
- Application Components
- Using System Software
- The NewtonScript Language
- What’s New in Newton 2.0
- NewtApp
- Stationery
- Views
- Protos
- Data Storage
- Text Input
- Graphics and Drawing
- System Services
- Recognition
- Sound
- Built-in Applications
- Routing and Transports
- Endpoint Communication
- Utilities
- Books
- Chapter 2
Getting Started
- Choosing an Application Structure
- Minimal Structure
- NewtApp Framework
- Digital Books
- Other Kinds of Software
- Package Loading, Activation, and Deactivation
- Loading
- Activation
- Deactivation
- Effects of System Resets on Application Data
- Flow of Control
- Using Memory
- Localization
- Developer Signature Guidelines
- Signature
- How to Register
- Application Name
- Application Symbol
- Package Name
- Summary
- View Classes and Protos
- Functions
- Chapter 3
Views
- About Views
- Templates
- Views
- Coordinate System
- Defining View Characteristics
- Class
- Behavior
- Location, Size, and Alignment
- Appearance
- Opening and Closing Animation Effects
- Other Characteristics
- Inheritance Links
- Application-Defined Methods
- View Instantiation
- Declaring a View
- Creating a View
- Closing a View
- View Compatibility
- New Drag and Drop API
- New Functions and Methods
- New Messages
- New Alignment Flags
- Changes to Existing Functions and Methods
- New Warning Messages
- Obsolete Functions and Methods
- Using Views
- Getting References to Views
- Displaying, Hiding, and Redrawing Views
- Dynamically Adding Views
- Showing a Hidden View
- Adding to the stepChildren Array
- Using the AddStepView Function
- Using the BuildContext Function
- Creating Templates
- Making a Picker View
- Changing the Values in viewFormat
- Determining Which View Item Is Selected
- Complex View Effects
- Making Modal Views
- Finding the Bounds of Views
- Animating Views
- Dragging a View
- Dragging and Dropping with Views
- Scrolling View Contents
- Redirecting Scrolling Messages
- Working With View Highlighting
- Creating View Dependencies
- View Synchronization
- Laying Out Multiple Child Views
- Optimizing View Performance
- Using Drawing Functions
- View Fill
- Redrawing Views
- Memory Usage
- Scrolling
- Summary of Views
- Constants
- Functions and Methods
- Chapter 4
NewtApp Applications
- About the NewtApp Framework
- The NewtApp Protos
- About newtApplication
- About newtSoup
- The Layout Protos
- The Entry View Protos
- About the Slot View Protos
- Stationery
- NewtApp Compatibility
- Using NewtApp
- Constructing a NewtApp Application
- Using Application Globals
- Using newtApplication
- Using the Layout Protos
- Using Entry Views
- Using the Required NewtApp Install and Remove Scripts
- Using Slot Views in Non-NewtApp Applications
- Modifying the Base View
- Using a False Entry View
- Creating a Custom Labelled Input-Line Slot View
- Summary of the NewtApp Framework
- Chapter 5
Stationery
- About Stationery
- The Stationery Buttons
- Stationery Registration
- Getting Information about Stationery
- Compatibility Information
- Using Stationery
- Designing Stationery
- Extending the Notes Application
- Determining the SuperSymbol of the Host
- Creating a DataDef
- Defining DataDef Methods
- Creating ViewDefs
- Registering Stationery for an Auto Part
- Using the MinimalBounds ViewDef Method
- Stationery Summary
- Data Structures
- Protos
- Functions
- Chapter 6
Pickers, Pop-up Views, and Overviews
- About Pickers and Pop-up Views
- Pickers and Pop-up View Compatibility
- New Pickers and Pop-up Views
- Obsolete Function
- Picker Categories
- General-Purpose Pickers
- Map Pickers
- Text Pickers
- Date, Time, and Location Pop-up Views
- Number Pickers
- Picture Picker
- Overview Protos
- Using protoOverview
- Using protoListPicker
- Using the Data Definitions Frame in a List Picker
- Specifying Columns
- Having a Single Selection in a List Picker
- Having Preselected Items in a List Picker
- Validation and Editing in protoListPicker
- Changing the Font of protoListPicker
- Using protoSoupOverview
- Determining Which protoSoupOverview Item Is Hit
- Displaying the protoSoupOverview Vertical Divider
- Roll Protos
- View Classes
- Specifying the List of Items for a Popup
- Summary
- General Picker Protos
- Map Pickers
- Text Picker Protos
- Date, Time, and Location Pop-up Views
- Number Pickers
- Picture Picker
- Overview Protos
- Roll Protos
- View Classes
- Functions
- Chapter 7
Controls and Other Protos
- Controls Compatibility
- Scroller Protos
- Implementing a Minimal Scroller
- Automatic Arrow Feedback
- Scrolling Examples
- Scrolling Lines of Text
- Scrolling in the Dates Application
- Scrolling In a Graphics Application
- Scroll Amounts
- Advanced Usage
- Button and Box Protos
- Implementing a Simple Button
- Selection Tab Protos
- Gauge and Slider Protos
- Implementing a Simple Slider
- Time Protos
- Implementing a Simple Time Setter
- Special View Protos
- View Appearance Protos
- Status Bar Protos
- Summary
- Scroller Protos
- Button and Box Protos
- Selection Tab Protos
- Gauges and Slider Protos
- Time Protos
- Special View Protos
- View Appearance Protos
- Status Bar Protos
- Chapter 8
Text and Ink Input and Display
- About Text
- About Text and Ink
- Written Input Formats
- Caret Insertion Writing Mode
- Fonts for Text and Ink Display
- About Text Views and Protos
- About Keyboard Text Input
- The Keyboard Registry
- The Punctuation Pop-up Menu
- Compatibility
- Using Text
- Using Views and Protos for Text Input and Display
- General Input Views
- Paragraph Views
- Lightweight Paragraph Views
- Using Input Line Protos
- Displaying Text and Ink
- Text and Ink in Views
- Using Fonts for Text and Ink Display
- Rich Strings
- Text and Styles
- Setting the Caret Insertion Point
- Using Keyboards
- Keyboard Views
- Using Keyboard Protos
- Defining Keys in a Keyboard View
- Using the Keyboard Registry
- Defining Tabbing Orders
- The Caret Pop-up Menu
- Handling Input Events
- Testing for a Selection Hit
- Summary of Text
- Text Constants and Data Structures
- Views
- Protos
- Text and Ink Display Functions and Methods
- Keyboard Functions and Methods
- Input Event Functions and Methods
- Chapter 9
Recognition
- About the Recognition System
- Classifying Strokes
- Gestures
- Shapes
- Text
- Unrecognized Strokes
- Enabling Recognizers
- View Flags
- Recognition Configuration Frames
- View Flags vs. RecConfig Frames
- Where to Go From Here
- Recognition Failure
- System Dictionaries
- Correction and Learning
- User Preferences for Recognition
- Handwriting Recognition Preferences
- RecToggle Views
- Flag-Naming Conventions
- Recognition Compatibility
- Using the Recognition System
- Types of Views
- Configuring the Recognition System
- Obtaining Optimum Recognition Performance
- Accepting Pen Input
- Taps and Overlapping Views
- Recognizing Shapes
- Recognizing Standard Gestures
- Combining View Flags
- Recognizing Text
- Recognizing Punctuation
- Suppressing Spaces Between Words
- Forcing Capitalization
- Justifying to Width of Parent View
- Restricting Input to Single Lines or Single Words
- Validating Clipboard and Keyboard Input
- Using the vAnythingAllowed Mask
- Summary
- Constants
- Data Structures
- Chapter 10
Recognition: Advanced Topics
- About Advanced Topics in Recognition
- How the System Uses Recognition Settings
- ProtoCharEdit Views
- Ambiguous Characters in protoCharEdit Views
- Deferred Recognition
- User Interface to Deferred Recognition
- Programmer’s Overview of Deferred Recognition
- Compatibility Information
- Using Advanced Topics in Recognition
- Using recConfig Frames
- Creating a recConfig Frame
- Using RecConfig Frames to Enable Recognizers
- Returning Text, Ink Text or Sketch Ink
- Fine-Tuning Text Recognition
- Manipulating Dictionaries
- Single-Character Input Views
- Creating Single-Letter Input Views
- Changing Recognition Behavior Dynamically
- Using protoRecToggle Views
- Creating the recToggle View
- Configuring Recognizers and Dictionaries for recToggle Views
- Creating the _recogSettings Slot
- Providing the _recogPopup Slot
- Accessing Correction Information
- Using Custom Dictionaries
- Creating a Custom Enumerated Dictionary
- Creating the Blank Dictionary
- Adding Words to RAM-Based Dictionaries
- Removing Words From RAM-Based Dictionaries
- Saving Dictionary Data to a Soup
- Restoring Dictionary Data From a Soup
- Using Your RAM-Based Custom Dictionary
- Removing Your RAM-Based Custom Dictionary
- Using System Dictionaries Individually
- Working With the Review Dictionary
- Retrieving the Review Dictionary
- Displaying Review Dictionary Browsers
- Adding Words to the User Dictionary
- Removing Words From the User Dictionary
- Adding Words to the Expand Dictionary
- Removing Words From the Expand Dictionary
- Retrieving Word Expansions
- Retrieving the Auto-Add Dictionary
- Disabling the Auto-Add Mechanism
- Adding Words to the Auto-Add Dictionary
- Removing Words From the Auto-Add Dictionary
- Using protoCharEdit Views
- Positioning protoCharEdit Views
- Manipulating Text in protoCharEdit Views
- Restricting Characters Returned by protoCharEdit Views
- Customized Processing of Input Strokes
- Customized Processing of Double Taps
- Changing User Preferences for Recognition
- Modifying or Replacing the Correction Picker
- Using Stroke Bundles
- Summary of Advanced Topics in Recognition
- Constants
- Data Structures
- Recognition System Prototypes
- Additional Recognition Functions and Methods
- Chapter 11
Data Storage and Retrieval
- About Data Storage on Newton Devices
- Introduction to Data Storage Objects
- Where to Go From Here
- Stores
- Packages
- Soups
- Indexes
- Saving User Preference Data in the System Soup
- Queries
- Querying for Indexed Values
- Begin Keys and End Keys
- Tag-based Queries
- Customized Tests
- Text Queries
- Cursors
- Entries
- Alternatives to Soup-Based Storage
- Compatibility Information
- Obsolete Store Functions and Methods
- Soup Compatibility Information
- Query Compatibility Information
- Obsolete Entry Functions
- Obsolete Data Backup and Restore Functions
- Using Newton Data Storage Objects
- Programmer’s Overview
- Using Stores
- Store Object Size Limits
- Referencing Stores
- Retrieving Packages From Stores
- Testing Stores for Write-Protection
- Getting or Setting the Default Store
- Getting and Setting the Store Name
- Accessing the Store Information Frame
- Using Soups
- Naming Soups
- Registering and Unregistering Soup Definitions
- Retrieving Existing Soups
- Adding Entries to Soups
- Adding an Index to an Existing Soup
- Removing Soups
- Using Built-in Soups
- Making Changes to Other Applications’ Soups
- Adding Tags to an Existing Soup
- Using Queries
- Querying Multiple Soups
- Querying on Single-Slot Indexes
- Querying for Tags
- Querying for Text
- Internationalized Sorting Order for Text Queries
- Queries on Descending Indexes
- Querying on Multiple-Slot Indexes
- Limitations of Index Keys
- Using Cursors
- Getting a Cursor
- Testing Validity of the Cursor
- Getting the Entry Currently Referenced by the Cursor
- Moving the Cursor
- Counting the Number of Entries in Cursor Data
- Getting the Current Entry’s Index Key
- Copying Cursors
- Using Entries
- Saving Frames as Soup Entries
- Removing Entries From Soups
- Modifying Entries
- Moving Entries
- Copying Entries
- Sharing Entry Data
- Using the Entry Cache Efficiently
- Using Soup Change Notification
- Registering Your Application for Change Notification
- Unregistering Your Application for Change Notification
- Responding to Notifications
- Sending Notifications
- Summary of Data Storage
- Data Structures
- Data Storage Functions and Methods
- Chapter 12
Special-Purpose Objects for Data Storage and Retrieval
- About Special-Purpose Storage Objects
- Entry Aliases
- Virtual Binary Objects
- Parts
- Mock Entries
- Mock Stores, Mock Soups, and Mock Cursors
- Using Special-Purpose Data Storage Objects
- Using Entry Aliases
- Using Virtual Binary Objects
- Creating Virtual Binary Objects
- Modifying VBO Data
- VBOs and String Data
- Using Store Parts
- Creating a Store Part
- Getting the Store Part
- Accessing Data in Store Parts
- Using Mock Entries
- Implementing the EntryAccess Method
- Creating a New Mock Entry
- Testing the Validity of a Mock Entry
- Getting Mock Entry Data
- Changing the Mock Entry’s Handler
- Getting the Mock Entry’s Handler
- Implementing Additional Handler Methods
- Summary of Special-Purpose Data Storage Objects
- Data Structures
- Functions and Methods
- Chapter 13
Drawing and Graphics
- About Drawing
- Shape-Based Graphics
- Manipulating Shapes
- The Style Frame
- Drawing Compatibility
- New Functions
- New Style Attribute Slots
- Changes to Bitmaps
- Changes to the HitShape Method
- Changes to View Classes
- Using the Drawing Interface
- How to Draw
- Responding to the ViewDrawScript Message
- Drawing Immediately
- Using Nested Arrays of Shapes
- The Transform Slot in Nested Shape Arrays
- Default Transfer Mode
- Transfer Modes at Print Time
- Controlling Clipping
- Transforming a Shape
- Using Drawing View Classes and Protos
- Displaying Graphics Shapes and Ink
- Displaying Bitmaps, Pictures, and Graphics Shapes
- Displaying Pictures in a clEditView
- Displaying Scaled Images of Other Views
- Translating Data Shapes
- Finding Points Within a Shape
- Using Bitmaps
- Making CopyBits Scale Its Output Bitmap
- Storing Compressed Pictures and Bitmaps
- Capturing a Portion of a View Into a Bitmap
- Rotating or Flipping a Bitmap
- Importing Macintosh PICT Resources
- Drawing Non-Default Fonts
- PICT Swapping During Run-Time Operations
- Optimizing Drawing Performance
- Summary of Drawing
- Data Structure
- View Classes
- Protos
- Functions and Methods
- Chapter 14
Sound
- About Newton Sound
- Event-related Sounds
- Sounds in ROM
- Sounds for Predefined Events
- Sound Data Structures
- Compatibility
- Using Sound
- Creating and Using Custom Sound Frames
- Creating Sound Frames Procedurally
- Playing Sound
- Using a Sound Channel to Play Sound
- Playing Sound Programmatically
- Synchronous and Asynchronous Sound
- Advanced Sound Techniques
- Pitch Shifting
- Manipulating Sample Data
- Summary of Sound
- Data Structures
- Protos
- Functions and Methods
- Sound Resources
- Chapter 15
Filing
- About Filing
- Filing Compatibility Information
- Using the Filing Service
- Overview of Filing Support
- Creating the Labels Slot
- Creating the appName Slot
- Creating the appAll Slot
- Creating the appObjectFileThisIn Slot
- Creating the appObjectFileThisOn Slot
- Creating the appObjectUnfiled
- Slot Specifying the Target
- Creating the labelsFilter slot
- Creating the storesFilter slot
- Adding the Filing Button
- Adding the Folder Tab View
- Customizing Folder Tab Views
- Defining a TitleClickScript Method
- Implementing the FileThis Method
- Implementing the NewFilingFilter Method
- Using the Folder Change Notification Service
- Creating the doCardRouting slot
- Using Local or Global Folders Only
- Adding and Removing Filing Categories Programmatically
- Interface to User-Visible Folder Names
- Summary
- Data Structures for Filing
- Application Base View Slots
- Filing Protos
- Filing Functions and Methods
- Application-Defined Filing Functions and Methods
- Chapter 16
Find
- About the Find Service
- Compatibility Information
- Using the Find Service
- Technical Overview
- Global and Selected Finds
- Checklist for Adding Find Support
- Creating the title Slot
- Creating the appName Slot
- Using the Finder Protos
- Implementing Search Methods
- Using the StandardFind Method
- Using Your Own Text-Searching Method
- Finding Text With a ROM_CompatibleFinder
- Implementing the DateFind Method
- Adding Application Data Sets to Selected Finds
- Returning Search Results
- Implementing Find Overview Support
- The FindSoupExcerpt Method
- The ShowFoundItem Method
- Replacing the Built-in Find Slip
- Reporting Progress to the User
- Registering for Finds
- Summary
- Finder Protos
- Functions and Methods
- Application-Defined Methods
- Chapter 17
Additional System Services
- About Additional System Services
- Undo
- Idler Objects
- Change Notifications
- Online Help
- Alerts and Alarms
- User Alerts
- User Alarms
- Periodic Alarms
- Alarms Compatibility
- Progress Indicators
- Automatic Busy Cursor
- Notify Icon
- Status Slips With Progress Indicators
- Power Registry
- Power Compatibility Information
- Using Additional System Services
- Using Undo Actions
- The Various Undo Methods
- Avoiding Undo-Related “Bad Package” Errors
- Using Idler Objects
- Using Change Notification
- Using Online Help
- Using Alerts and Alarms
- Using the Notify Method to Display User Alerts
- Creating Alarms
- Obtaining Information about Alarms
- Retrieving Alarm Keys
- Removing Installed Alarms
- Common Problems With Alarms
- Using the Periodic Alarm Editor
- Using Progress Indicators
- Using the Automatic Busy Cursor
- Using the Notify Icon
- Using the DoProgress Function
- Using DoProgress or Creating Your Own protoStatusTemplate
- Using protoStatusTemplate Views
- Using the Power Registry
- Registering Power-On Functions
- Registering Login Screen Functions
- Registering Power-Off Functions
- Using the Battery Information Functions
- Summary of Additional System Services
- Undo
- Idlers
- Notification and Alarms
- Reporting Progress
- Power Registry
- Chapter 18
Intelligent Assistant
- About the Assistant
- Introduction
- Input Strings
- No Verb in Input String
- Ambiguous or Missing Information
- The Task Slip
- Programmer’s Overview
- Matching Words With Templates
- The Signature and PreConditions Slots
- The Task Frame
- The Entries Slot
- The Phrases Slot
- The OrigPhrase Slot
- The Value Slot
- Resolving Template-Matching Conflicts
- Compatibility Information
- Using the Assistant
- Making Behavior Available From the Assistant
- Defining Action and Target Templates
- Defining Your Own Frame Types to the Assistant
- Implementing the PostParse Method
- Defining the Task Template
- Registering and Unregistering the Task Template
- Displaying Online Help From the Assistant
- Routing Items From the Assistant
- Summary
- Data Structures
- Templates
- Developer-Supplied Task Template
- Developer-Supplied Action Templates
- Developer-Supplied Target Templates
- Assistant Functions and Methods
- Developer-Supplied Functions and Methods
- Application Base View Slots
- Chapter 19
Built-in Applications and System Data
- Names
- About the Names Application
- Using the Names Application
- Adding a New Type of Card
- Adding a New Data Item
- Adding a New Card Layout Style
- Adding New Layouts to the Names Application
- Using the Names Methods and Functions
- Using the Names Soup
- Using the Names Protos
- Dates
- About the Dates Application
- Using the Dates Application
- Adding Meetings or Events
- Deleting Meetings and Events
- Finding Meetings or Events
- Moving Meetings and Events
- Getting and Setting Information for Meetings or Events
- Creating a New Meeting Type
- Examples of Creating New Meeting Types
- Miscellaneous Operations
- Controlling the Dates Display
- Using the Dates Soups
- To Do List
- About the To Do List Application
- Using the To Do List Application
- Creating and Removing Tasks
- Accessing Tasks
- Checking-Off a Task
- Miscellaneous To Do List Methods
- Using the To Do List Soup
- Time Zones
- About the Time Zones Application
- Using the Time Zone Application
- Obtaining Information About a City or Country
- Adding a City to a Newton Device Using Longitude and Latitude Values
- Setting the Home City
- Notes
- About the Notes Application
- Using the Notes Application
- Creating New Notes
- Adding Stationery to the Notes Application
- Using the Notes Soup
- Fax Soup Entries
- About Fax Soup Entries
- Using Fax Soup Entries
- Prefs and Formulas Rolls
- About the Prefs and Formulas Rolls
- Prefs and Formulas Compatibility
- Using the Prefs and Formulas Interfaces
- Adding a Prefs Roll Item
- Adding a Formulas Roll Item
- Auxiliary Buttons
- About Auxiliary Buttons
- Auxiliary Buttons Compatibility
- Using Auxiliary Buttons
- Icons and the Extras Drawer
- About Icons and the Extras Drawer
- Extras Drawer Compatibility
- Using the Extras Drawer’s Interface for Icon Management
- Using Extras Drawer Cursors
- Changing Icon Information
- Adding a Soup Icon
- Removing a Soup Icon
- Creating a Script Icon
- Using the Soupervisor Mechanism
- System Data
- About System Data
- Using System Data
- Functions for Accessing User Configuration Data
- Storing Application Preferences in the System Soup
- Summary
- Constants and Variables
- User Configuration Variables
- Protos
- Soup Formats
- Functions and Methods
- Chapter 20
Localizing Newton Applications
- About Localization
- The Locale Panel and the International Frame
- How Locale Affects Recognition
- Using the Localization Features of the Newton
- Defining Language at Compile Time
- Defining a Localization Frame
- Using LocObj to Reference Localized Objects
- Use ParamStr Rather Than “&” and “&&” Concatenation
- Measuring String Widths at Compile Time
- Determining Language at Run Time
- Examining the Active Locale Bundle
- Changing Locale Settings
- Creating a Custom Locale Bundle
- Adding a New Bundle to the System
- Removing a Locale Bundle
- Changing the Active Locale
- Using a Localized Country Name
- Summary: Customizing Locale
- Localized Output
- Date and Time Values
- Currency Values
- Summary of Localization Functions
- Compile-Time Functions
- Locale Functions
- Date and Time Functions
- Utility Functions
- Chapter 21
Routing Interface
- About Routing
- The In/Out Box
- Action Picker
- Routing Formats
- Routing Compatibility
- Using Routing
- Providing Transport-Based Routing Actions
- Getting and Verifying the Target Object
- Getting and Setting the Current Format
- Supplying the Target Object
- Storing an Alias to the Target Object
- Storing Multiple Items
- Using the Built-in Overview Data Class
- Displaying an Auxiliary View
- Registering Routing Formats
- Creating a Print Format
- Page Layout
- Printing and Faxing
- Creating a Frame Format
- Creating a New Type of Format
- Providing Application-Specific Routing Actions
- Performing the Routing Action
- Handling Multiple Items
- Handling No Target Item
- Sending Items Programmatically
- Creating a Name Reference
- Specifying a Printer
- Opening a Routing Slip Programmatically
- Supporting the Intelligent Assistant
- Receiving Data
- Automatically Putting Away Items
- Manually Putting Away Items
- Registering to Receive Foreign Data
- Filing Items That Are Put Away
- Viewing Items in the In/Out Box
- Advanced Alias Handling
- Summary of the Routing Interface
- Constants
- Data Structures
- Protos
- Functions and Methods
- Application-Defined Methods
- Chapter 22
Transport Interface
- About Transports
- Transport Parts
- Item Frame
- Using the Transport Interface
- Providing a Transport Object
- Installing the Transport
- Setting the Address Class
- Grouping Transports
- Sending Data
- Sending All Items
- Converting an E-Mail Address to an Internet Address
- Receiving Data
- Handling Requests When the Transport Is Active
- Canceling an Operation
- Obtaining an Item Frame
- Completion and Logging
- Storing Transport Preferences and Configuration Information
- Extending the In/Out Box Interface
- Application Messages
- Error Handling
- Power-Off Handling
- Providing a Status Template
- Controlling the Status View
- Providing a Routing Information Template
- Providing a Routing Slip Template
- Using protoFullRouteSlip
- Using protoAddressPicker
- Providing a Preferences Template
- Summary of the Transport Interface
- Constants
- Protos
- Functions and Methods
- Chapter 23
Endpoint Interface
- About the Endpoint Interface
- Asynchronous Operation
- Synchronous Operation
- Input
- Data Forms
- Endpoint Options
- Compatibility
- Using the Endpoint Interface
- Setting Endpoint Options
- Initialization and Termination
- Establishing a Connection
- Sending Data
- Receiving Data Using Input Specs
- Specifying the Data Form and Target
- Specifying Data Termination Conditions
- Specifying Flags for Receiving
- Specifying an Input Time-Out
- Specifying Data Filter Options
- Specifying Receive Options
- Handling Normal Termination of Input
- Periodically Sampling Incoming Data
- Handling Unexpected Completion
- Special Considerations
- Receiving Data Using Alternative Methods
- Streaming Data In and Out
- Working With Binary Data
- Canceling Operations
- Asynchronous Cancellation
- Synchronous Cancellation
- Other Operations
- Error Handling
- Power-Off Handling
- Linking the Endpoint With an Application
- Summary of the Endpoint Interface
- Constants and Symbols
- Data Structures
- Protos
- Functions and Methods
- Chapter 24
Built-in Communications Tools
- Serial Tool
- Standard Asynchronous Serial Tool
- Serial Tool with MNP Compression
- Framed Asynchronous Serial Tool
- Modem Tool
- Infrared Tool
- AppleTalk Tool
- Resource Arbitration Options
- AppleTalk Functions
- Summary
- Built-in Communications Tool Service Option Labels
- Options
- Constants
- Functions and Methods
- Chapter 25
Modem Setup Service
- About the Modem Setup Service
- The Modem Setup User Interface
- The Modem Setup Process
- Modem Communication Tool Requirements
- Defining a Modem Setup
- Setting Up General Information
- Setting the Modem Preferences Option
- Setting the Modem Profile Option
- Setting the Fax Profile Option
- Summary of the Modem Setup Service
- Constants
- Chapter 26
Utility Functions
- Compatibility
- New Functions
- New Object System Functions
- New String Functions
- New Array Functions
- New Sorted Array Functions
- New Integer Math Functions
- New Financial Functions
- New Exception Handling Functions
- New Message Sending Functions
- New Deferred Message Sending Functions
- New Data Stuffing Functions
- New Functions to Get and Set Globals
- New Debugging Functions
- New Miscellaneous Functions
- Enhanced Functions
- Obsolete Functions
- Summary of Functions and Methods
- Object System Functions
- String Functions
- Bitwise Functions
- Array Functions
- Sorted Array Functions
- Integer Math Functions
- Floating Point Math Functions
- Financial Functions
- Exception Functions
- Message Sending Functions
- Deferred Message Sending Functions
- Data Extraction Functions
- Data Stuffing Functions
- Getting and Setting Global Variables and Functions
- Debugging Functions
- Miscellaneous Functions
- Appendix
The Inside Story on Declare
- Compile-Time Results
- Run-Time Results
-
Glossary
-
Index