Patent ID: 11900176
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 16:
17. A method for event processing, the method comprising:
processing, by a host bridge, a schema that identifies a first event within a native host, and identifies a first event handler function within a first user application that is configured to handle the first event within an application host for a first programming language, the schema further identifying a second event within the native host, and further identifying a second event handler function within a second user application that is configured to handle the second event within the application host;
generating, by the host bridge and based on the schema, a first function of an application bridge interface that is implemented in a first programming language, executed within the application host, and communicates between the user application and a reusable bridge module of the host bridge;
generating, by the host bridge and based on the schema, a second function of the application bridge interface that is implemented in the first programming language, executed within the application host, and communicates between the second user application and the reusable bridge module of the host bridge;
generating, by the host bridge and based on the schema, a third function of a native bridge interface that is implemented in a second programming language, executed within the native host, communicates between the reusable bridge module and the native host, and includes a first event receiver function for the first event, wherein the first programming language is different from the second programming language;
generating, by the host bridge and based on the schema, a third function of the native bridge interface that is implemented in the second programming language, executed within the native host, communicates between the reusable bridge module and the native host, and includes a second event receiver function for the second event;
receiving, by the host bridge via the native bridge interface, a call to the first event receiver function from the native host;
generating, by the host bridge via the first event receiver function of the native bridge interface, a first common data structure that corresponds to the first event based at least in part on the call to the first event receiver function;
converting, by the host bridge via the application bridge interface, the first common data structure to a first application data structure implemented in the first programming language; and
calling, by the host bridge via the first function of the application bridge interface, the first event handler function within the application host using the first application data structure;
receiving, by the host bridge via the native bridge interface, a call to the second event receiver function from the native host;
generating, by the host bridge via the second event receiver function of the native bridge interface, a second common data structure that corresponds to the second event based at least in part on the call to the second event receiver function;
converting, by the host bridge via the application bridge interface, the second common data structure to a second application data structure implemented in the first programming language; and
calling, by the host bridge via the second function of the application bridge interface, the second event handler function within the application host using the second application data structure.