Embedded application communication
First Claim
Patent Images
1. A computer-implemented method comprising:
- exposing, by a processor, a host application object model to a program embedded in a virtual machine embedded in a host application by registering callback functions or methods in a first Application Programming Interface (API), wherein the first API is configured to provide access to a name space that encompasses class names in the host application object model, and the callback functions or methods registered in the first API allowing the embedded program to;
create one or more class instances in a host application memory space, the class instances being objects;
set and get properties of a first class instance that resides in the host application memory space; and
invoke methods on the first class instance;
exposing, by the processor, a virtual machine object model, which is associated with the embedded program and different from the host application object model, to the host application by registering functions or methods in a second API, wherein the second API is configured to provide access to a name space that encompasses class names in the virtual machine object model, and the functions or methods registered in the second API allowing the host application to;
create one or more class instances in a virtual machine memory space, the class instances being objects;
set and get properties of a second class instance residing in the virtual machine memory space; and
invoke methods on the second class instance with a pointer reference;
using, by the processor, different models of object lifetime for the host application and the embedded program such that a lifetime of a host object and an embedded object associated with the host object are not linked;
transferring, by the processor, data between the host application and the embedded program through the first and second APIs, the first and second APIs not performing encoding or decoding of the data;
using the second API to invoke a method on a class instance in the virtual machine from the host application or using the first API to invoke a method on a class instance in the host application from the virtual machine; and
the callback functions registered in the first API and the functions registered in the second API using pointer references to objects, and the pointer references are passed as atoms between objects used by the host application and the embedded program, without being de-referenced.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for embedded application communication. In one aspect, a method includes providing a first Application Programming Interface (API) in the host application, where the first API is configured to interact with a virtual machine object model of the virtual machine to allow the host application to set and get properties of one or more first class instances residing in a virtual machine memory space, and to invoke methods on the first class instances, and providing a second API in the virtual machine configured to interact with a host application object model in the host application.
-
Citations
13 Claims
-
1. A computer-implemented method comprising:
-
exposing, by a processor, a host application object model to a program embedded in a virtual machine embedded in a host application by registering callback functions or methods in a first Application Programming Interface (API), wherein the first API is configured to provide access to a name space that encompasses class names in the host application object model, and the callback functions or methods registered in the first API allowing the embedded program to; create one or more class instances in a host application memory space, the class instances being objects; set and get properties of a first class instance that resides in the host application memory space; and invoke methods on the first class instance; exposing, by the processor, a virtual machine object model, which is associated with the embedded program and different from the host application object model, to the host application by registering functions or methods in a second API, wherein the second API is configured to provide access to a name space that encompasses class names in the virtual machine object model, and the functions or methods registered in the second API allowing the host application to; create one or more class instances in a virtual machine memory space, the class instances being objects; set and get properties of a second class instance residing in the virtual machine memory space; and invoke methods on the second class instance with a pointer reference; using, by the processor, different models of object lifetime for the host application and the embedded program such that a lifetime of a host object and an embedded object associated with the host object are not linked; transferring, by the processor, data between the host application and the embedded program through the first and second APIs, the first and second APIs not performing encoding or decoding of the data; using the second API to invoke a method on a class instance in the virtual machine from the host application or using the first API to invoke a method on a class instance in the host application from the virtual machine; and the callback functions registered in the first API and the functions registered in the second API using pointer references to objects, and the pointer references are passed as atoms between objects used by the host application and the embedded program, without being de-referenced. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
a computer-readable storage device including a computer program product; one or more processors configured to interact with the storage device and execute the program product to perform operations comprising; exposing a host application object model to a program embedded in a virtual machine embedded in a host application by registering callback functions or methods in a first Application Programming Interface (API), wherein the first API is configured to provide access to a name space that encompasses class names in the host application object model, and the callback functions or methods registered in the first API allowing the embedded program to; create class instances in a host application memory space, the class instances being objects; set and get properties of a first class instance that resides in the host application memory space; and invoke methods on the first class instance; exposing a virtual machine object model, which is associated with the embedded program and different from the host application object model, to the host application by registering functions or methods in a second API, wherein the second API is configured to provide access to a name space that encompasses class names in the virtual machine object model, and the functions or methods registered in the second API allowing the host application to; create one or more class instances in a virtual machine memory space, the class instances being objects; set and get properties of a second class instance residing in the virtual machine memory space; and invoke methods on the second class instance with a pointer reference; using different models of object lifetime for the host application and the embedded program such that a lifetime of a host object and an embedded object associated with the host object are not linked; transferring data between the host application and the embedded program through the first and second APIs, the first and second APIs not performing encoding or decoding of the data; using the second API to invoke a method on a class instance in the virtual machine from the host application or using the first API to invoke a method on a class instance in the host application from the virtual machine; and the callback functions registered in the first API and the functions registered in the second API using pointer references to objects, and the pointer references are passed as atoms between objects used by the host application and the embedded program, without being de-referenced. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer-readable storage device encoding a computer program product that causes data processing apparatus to perform operations comprising:
-
exposing, by a processor, a host application object model to a program embedded in a virtual machine embedded in a host application by registering callback functions or methods in a first Application Programming Interface (API), wherein the first API is configured to provide access to a name space that encompasses class names in the host application object model, and the callback functions or methods registered in the first API allowing the embedded program to; create class instances in a host application memory space, the class instances being objects; set and get properties of a first class instance that resides in the host application memory space; and invoke methods on the first class instance; retrieve an object from the host application memory space comprising; using a pointer reference to the object; and passing, without de-referencing, the pointer reference between the embedded program and the host application memory space; exposing, by the processor, a virtual machine object model, which is associated with the embedded program and different from the host application object model, to the host application by registering functions or methods in a second API, wherein the second API is configured to provide access to a name space that encompasses class names in the virtual machine object model, and the functions or methods registered in the second API allowing the host application to; create one or more class instances in a virtual machine memory space, the class instances being objects; set and get properties of a second class instance residing in the virtual machine memory space; and invoke methods on the second class instance with a pointer reference; and retrieve an object from the virtual machine memory space comprising; using a pointer reference to the object; and passing, without de-referencing, the pointer reference between the host application and the virtual machine memory space; using, by the processor, different models of object lifetime for the host application and the embedded program such that a lifetime of a host object and an embedded object associated with the host object are not linked; transferring, by the processor, data between the host application and the embedded program through the first and second APIs, the first and second APIs not performing encoding or decoding of the data; using the second API to invoke a method on a class instance in the virtual machine from the host application or using the first API to invoke a method on a class instance in the host application from the virtual machine; and the callback functions registered in the first API and the functions registered in the second API using pointer references to objects, and the pointer references are passed as atoms between objects used by the host application and the embedded program, without being de-referenced. - View Dependent Claims (12, 13)
-
Specification