- new_object(ID cla, ID obj out);
- delete_object(ID obj) async;
-
- new_interface(ID cd, ID cla out);
- delete_interface(ID cla, bool call_del) async;
-
- open_object(ID obj, uint handle out);
- close_object(uint handle) async;
-
- // Create a filter object that implements only some of the
- // interfaces implemented by "obj". This is useful to create a
- // more limited reference to pass to less trusted processes. If
- // "exclude" is true, then all interfaces but those specified will
- // be included. Otherwise, only those interfaces specified will be
- // included. A filter with no interfaces may be created to act as
- // a (mostly) opaque handle.
- //
- // A holder of a filter reference can convert it into the real
- // object if it already has (or later obtains) a reference to to
- // the real object. It can also compare the identities of
- // separately created filters pointing at the same object
- // regardless of what it has a real reference to. Thus, filters
- // should be used only to limit access granted by passing a
- // reference to another process; it should not be used to hide the
- // identity of the real object.
+ // Delete an object regardless of the number of references.
+ // If the object is local, then all remote references will
+ // become dangling; any attempt to pass the handle to the
+ // ORB will result in an InvalidReference exception.
+
+ revoke(ID obj);
+
+ // Return the number of references to an object.
+ // This method is intended for debugging only.