Method and system for aggregating objects
AssigneeMicrosoft Corporation
InventorsPaul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsPaul Leach, Antony S. Williams, Edward Jung, C. Douglas Hodges, Srinivasa R. Koppolu, Barry B. MacKichan, Craig Wittenberg
Estimating the term…
A method and system for aggregating objects within a computer system are provided. In a preferred embodiment, the method aggregates an enclosed object within an enclosing object. The enclosed object has an object management interface and an external interface, while the enclosing object has a controlling object management interface. The controlling object management interface and the external interface of the enclosed object have query function members for receiving an identifier of an interface and for returning a reference to the identified interface. A preferred embodiment creates an instance of an enclosing object and an object to be enclosed. In static aggregation, the controlling object management interface of the enclosing object knows in advance how to return an identifier to the external interface of the enclosed object. In dynamic aggregation, an object to be enclosed is added to the enclosing object after the enclosing object is instantiated. Once aggregated, when the query function member of the object management interface of the enclosed object receives an identifier of an interface, it invokes the query function member of the controlling object management interface forwarding the interface identifier and returns the reference to an interface returned by the invoked query function member of the controlling object management interface. In dynamic aggregation, rules for determining to which interface to return a reference can by added to the enclosing object and used by the query function member of the controlling object management interface.
A method in a computer system of reference counting for an enclosing object and an enclosed object, the enclosing object and the enclosed object being aggregated into an aggregate object, the enclosing object having a reference count, the enclosing object having an add reference function member and a release reference function member, the enclosed object having an add reference function member and a release reference function member, the method comprising the steps of:
A method in a computer system of reference counting for an enclosing object and an enclosed object, the enclosing object having a reference count, the enclosing object having an add reference function member and a release reference function member, the enclosed object having an add reference function member and a release reference function member, the enclosing object having an implementation of an object management interface, the enclosed object having an implementation of an external interface, wherein the add reference function member of the enclosing object is part of the object management interface implementation, wherein the add reference function member of the enclosed object is part of the external interface implementation, the method comprising the steps of:
A method in a computer system of reference counting for an enclosing object and an enclosed object, the enclosing object having a reference count, the enclosing object having an add reference function member and a release reference function member, the enclosed object having an add reference function member and a release reference function member, the enclosing object having an implementation of an object management interface, the enclosed object having an implementation of an external interface, wherein the release reference function member of the enclosing object is part of the object management interface implementation, wherein the release reference function member of the enclosed object is part of the external interface implementation, the method comprising the steps of:
A method in a computer system of reference counting for an enclosed object aggregated within an enclosing object, the enclosed object having an object management interface and an external interface, the enclosing object having a controlling object management interface, each interface having a query function member for receiving an identifier of an interface and for returning a reference to the identified interface, the controlling object management interface having an add reference function member and a release reference function member for maintaining a reference count, the method comprising the steps of:
A method in a computer system of implementing a class defining an aggregatable object, the class having an object management interface and an external interface, the object management interface and external interface having an add reference function member for providing reference counting, the method comprising the steps of:
A method in a computer system of creating an aggregate object, the aggregate object having an enclosed object, the enclosed object having an external interface that is exposed by the aggregate object, the method comprising the steps of:
A method in a computer system of enclosing an enclosed object within an enclosing object, the enclosing object having a query function member, the enclosed object having a query function member, the query function members for retrieving references to interfaces exposed by the enclosing object, the enclosed object having an external interface that is exposed by the enclosing object, the method comprising the steps of:
A method in a computer system of enclosing an enclosed object within an enclosing object, the enclosing object having an query function member, the enclosed object having an query function member, the query function members for retrieving references to interfaces exposed by the enclosing object, the enclosed object having an external interface that is exposed by the enclosing object, the method comprising the steps of:
A method in a computer system of implementing a class that specifies an aggregatable object, the class having an object management interface and an external interface, the object management interface and the external interface having add reference function members for providing reference counting and query function members for providing access to the interfaces of the aggregatable object, the method comprising the steps of:
A computer-readable memory device that contains instructions for controlling a computer system to enclose an enclosed object within an enclosing object, the enclosing object having a query function member, the enclosed object having a query function member, the query function members for retrieving references to interfaces exposed by the enclosing object, the enclosed object having an external interface that is exposed by the enclosing object, by performing the steps of:
A computer-readable memory device that contains:
Dependencies are inferred from the claim text.