Patent ID: 7784065

Claim:
In a computing environment, having a main computer system and one or more auxiliary devices coupled thereto, a method comprising: implementing an application programming interface (API), using a processor of the main computer system, by which client applications running on the main computer system provide information for sending to one or more auxiliary devices independent of any particular device implementation of the one or more auxiliary devices, wherein the API comprises a registration object, a content manager object, a lifetime manager, a devices capabilities object, and a notification manager object; receiving a registration request at the registration object from a client application, running on the main computer system, for sending the information from the client application to at least one of the one or more auxiliary devices; receiving a specified endpoint of the at least one of the one or more auxiliary devices from the client application during the registration request, the endpoint corresponding to a program on the at least one of the one or more auxiliary devices; evaluating in response to the registration request, by the registration object, whether the client application is authorized to send the information to the at least one of the one or more auxiliary devices using the endpoint; the registration object instantiating the content manager object and returning a pointer to the content manager object to the client application in response to the registration request; receiving a request, from the client application that content be sent to the endpoint, at the content manager object; in response to the received request, the content manager object calling back to the client application to obtain the content to send to the endpoint, and sending the content obtained from the client application to the endpoint in accordance with a particular device implementation of the at least one of the one or more auxiliary devices; the lifetime manager listening to changes in activation status of the client application, listening to activation status of the at least one of the one or more auxiliary devices, and notifying the client application when the at least one of the one or more auxiliary devices is connected or disconnected; the device capabilities object enumerating the at least one of the one or more auxiliary devices capabilities and returning the at least one of the one or more auxiliary devices capabilities to the client application; and instantiating the notification manager object, by the registration object, in response to a registration request from the client application directed to showing a notification on the endpoint, receiving a show notification request at an interface of the notification manager object from the client application, the notification manager object obtaining notification data from the client application in response to the show notification request from the client application, and communicating the notification data obtained from the client application to the endpoint.