Claims
- 1. A method for abstracting a user interface, comprising the operations of:
receiving a request from an application program to present data to a user; determining which user interface devices are currently available; selecting a particular user interface device; providing abstract controls for the selected user interface device to the application program; presenting the data to the user using the selected user interface device.
- 2. A method as recited in claim 1, further comprising the operation of providing the application with an interface object, the interface object providing an abstract context and a direct context.
- 3. A method as recited in claim 2, wherein the direct context allows the application program to interact directly with the user interface devices that are currently available using direct controls.
- 4. A method as recited in claim 3, wherein the abstract context allows the application program to interact with the user interface devices that are currently available using abstract controls.
- 5. A method as recited in claim 4, wherein the abstract context utilizes the direct context to interact with the user interface devices that are currently available.
- 6. A method as recited in claim 5, wherein the request is received using an abstract context code segment.
- 7. A method as recited in claim 6, wherein the request is a list of data to be presented to the user.
- 8. A method as recited in claim 7, wherein the abstract context utilizes the direct context to present the list of data to the user via a currently available user interface device.
- 9. A method as recited in claim 8, wherein the direct context receives a response from the currently available user interface device and communicates the response to the abstract context.
- 10. A method as recited in claim 9, wherein the abstract context provides the response to the application program, wherein the response is formatted in a generic manner.
- 11. An abstract user interface manager for abstracting a user interface, comprising:
an abstract context that allows an application program to abstractly interact with user interface devices that are currently available using abstract controls; and a direct context that allows the application program to interact directly with the user interface devices that are currently available using direct controls, wherein the abstract context is capable of determining which user interface devices are currently available, and wherein the abstract context utilizes the direct context to present data to the user.
- 11. An abstract user interface manager as recited in claim 10, further comprising an interface object, the interface object be provided to the application, the interface object providing access to the abstract context and access to the direct context.
- 12. An abstract user interface manager as recited in claim 11, wherein the abstract context is used to receive a request to present data to the user.
- 13. An abstract user interface manager as recited in claim 12, wherein the request is a list of data to be presented to the user.
- 14. An abstract user interface manager as recited in claim 13, wherein the abstract context utilizes the direct context to present the list of data to the user via a currently available user interface device.
- 15. An abstract user interface manager as recited in claim 14, wherein the direct context receives a response from the currently available user interface device and communicates the response to the abstract context.
- 16. An abstract user interface manager as recited in claim 9, wherein the abstract context provides the response to the application program, wherein the response is formatted in a generic manner.
- 17. A method for abstracting a user interface, comprising the operations of:
providing an application program with an interface object, the interface object providing access to a abstract context and a direct context, wherein the abstract context allows the application program to interact with the user interface devices that are currently available using abstract controls, and wherein the direct context allows the application program to interact directly with the user interface devices that are currently available using direct controls; receiving a request from the application program to present data to a user using the abstract context; determining which user interface devices are currently available using the abstract context; selecting a particular user interface device using the abstract context; providing abstract controls for the selected user interface device to the application program; presenting the data to the user using the selected user interface device.
- 18. A method as recited in claim 17, wherein the abstract context utilizes the direct context to interact with the user interface devices that are currently available.
- 19. A method as recited in claim 18, wherein the request is a list of data to be presented to the user.
- 20. A method as recited in claim 19, wherein the direct context receives a response from the currently available user interface device and communicates the response to the abstract context, and wherein the abstract context provides the response to the application program, wherein the response is formatted in a generic manner.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to (1) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP084), filed Mar. 22, 2002, and entitled “Adaptive Connection Routing Over Multiple Communication Channels,” (2) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP086), filed Mar. 22, 2002, and entitled “Arbitration of Communication Channel Bandwidth,” (3) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP087), filed Mar. 22, 2002, and entitled “System and Method for Distributed Preference Data Services,” (4) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP088), filed Mar. 22, 2002, and entitled “Asynchronous Protocol Framework,” (5) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP089), filed Mar. 22, 2002, and entitled “Business-Model Agnostic Service Deployment Management Service,” (6) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP090), filed Mar. 22, 2002, and entitled “Manager Level Device/Service Arbitrator,” (7) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP092), filed Mar. 22, 2002, and entitled “Java Telematics System Preferences,” (8) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP093), filed Mar. 22, 2002, and entitled “System and Method for Testing Telematics Software,” (9) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP094), filed Mar. 22, 2002, and entitled “System and Method for Simulating an Input to a Telematics System,” and (10) U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP095), filed Mar. 22, 2002, and entitled “Java Telematics Emulator,” which are incorporated herein be reference.