Generic user interface command architecture
First Claim
1. One or more computer readable storage media having stored thereon a plurality of instructions that, when executed by one or more processors, causes the one or more processors to:
- create a command broker by;
identifying an object definition that includes one or more arguments;
for each of the one or more arguments that is a non-literal argument,recursively identifying one or more additional object definitions based on the argument; and
creating, as the command broker, the objects defined by the identified object definitions;
negotiate, with the command broker, for a presentation model to be used in presenting a command via a user interface, the negotiating including obtaining a list of one or more presentation models supported by the command broker and selecting at least one of the one or more presentation models that is supported by the command broker;
notify the command broker of the selected at least one presentation model, the notifying including invoking a GetProvider method exposed by the command broker and including the selected at least one presentation model as a parameter of the GetProvider method;
obtain, based on the negotiated presentation model, a command provider associated with the command;
wherein the command broker is an intermediary between a command host and the command provider; and
wherein the command provider is the final handler for a particular command.
2 Assignments
0 Petitions
Accused Products
Abstract
Certain aspects of a generic user interface command architecture allow an application to host commands for presentation on a computing device. The commands can be written by the same designer or author as the application, or alternatively by other parties (e.g., by a third-party developer). Other aspects of the generic UI command architecture describe an application programming interface (API) that can be used to allow the application to host the commands. Other aspects of the generic UI command architecture describe an activation mechanism by which registered commands can be activated by an application.
26 Citations
17 Claims
-
1. One or more computer readable storage media having stored thereon a plurality of instructions that, when executed by one or more processors, causes the one or more processors to:
-
create a command broker by; identifying an object definition that includes one or more arguments; for each of the one or more arguments that is a non-literal argument, recursively identifying one or more additional object definitions based on the argument; and creating, as the command broker, the objects defined by the identified object definitions; negotiate, with the command broker, for a presentation model to be used in presenting a command via a user interface, the negotiating including obtaining a list of one or more presentation models supported by the command broker and selecting at least one of the one or more presentation models that is supported by the command broker; notify the command broker of the selected at least one presentation model, the notifying including invoking a GetProvider method exposed by the command broker and including the selected at least one presentation model as a parameter of the GetProvider method; obtain, based on the negotiated presentation model, a command provider associated with the command; wherein the command broker is an intermediary between a command host and the command provider; and wherein the command provider is the final handler for a particular command. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. One or more computer readable storage media having stored thereon a plurality of instructions that implement a command broker, the plurality of instructions, when executed by one or more processors, causes the one or more processors to:
-
identify, to a requestor, a plurality of presentation models supported by the command broker, the command broker being associated with a particular command and being created by; identifying an object definition that includes one or more arguments; for each of the one or more arguments that is a non-literal argument, recursively identifying one or more additional object definitions based on the argument; and creating, as the command broker, the objects defined by the identified object definitions; negotiate, with the requestor, which of the plurality of presentation models is to be used to present the command via a user interface, the negotiating including providing a list of the plurality of presentation models supported by the command broker and receiving a selection of at least one of the plurality of presentation models that is supported by the command broker; receive a notification, from the requestor, of the selected at least one presentation model, the receiving including invocation of a GetProvider method exposed by the command broker and including the selected at least one presentation model as a parameter of the GetProvider method; wherein the command broker is an intermediary between a command host and a command provider; and wherein the command provider is the final handler for a particular command. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A system including at least one processor, comprising:
-
a command host to provide a workspace where a plurality of user interface commands can be presented; a command broker, communicatively coupled to the command host, to identify a plurality of supported modes for a command, and further to negotiate with the command host to determine which of the plurality of supported modes is to be used for the command, the negotiating including providing a list of the plurality of supported modes and receiving a selection of at least one of the supported modes, the command broker further being created by; identifying an object definition that includes one or more arguments; for each of the one or more arguments that is a non-literal argument, recursively identifying one or more additional object definitions based on the argument; and creating, as the command broker, the objects defined by the identified object definitions; receive a notification of the selected at least one supported modes, the receiving including invocation of a GetProvider method exposed by the command broker and including the selected at least one presentation model as a parameter of the GetProvider method; presenting one or more commands on a computing device; wherein the command broker is an intermediary between the command host and a command provider; and wherein the command provider is the final handler for a particular command. - View Dependent Claims (15, 16, 17)
-
Specification