A file management system removes an object from the file management system by first deleting a link to the first object. When a link to the first object is deleted the file management system determines whether there are any links to the first object remaining. If there are no links remaining, the first object is destroyed by removing data files associated with the first object.
The method and apparatus of the present invention includes a method for providing a non-container object with the appearance of container object attributes in a graphic user interface operating environment. This method and apparatus includes creating a container manager and associating the container manager with the non-container object. A container pane is created and associated with the container manager. This container pane is in communication with the container manager and a list control in the graphic user interface operating environment. The container pane in the container manager both interact to provide the non-container object with the appearance of the container object attributes. If an item is present in the non-container object when the non-container object is started, a contained object is created for the item to be displayed within the non-container object. Next, if an item is added to the non-container object, a contained object is created for the item to be displayed within the non-container object. When an item is removed from the non-container object, the contained object for the item is deleted. When a contained object is present, the container manager is provided control over the display manipulation of the contained object while that contained object is within the non-container object. Moreover, the container pane graphically displays an icon that represents the contained object in a window. The container pane also relays input by a user to the container manager.
A digital computer system having a prototype list, an activation identifier, and a control portion. The prototype list having a plurality of entries each associated with a prototype object, at least some entries including an interaction list for specifying prototype objects and actions. The activation identifier identifies activation of an instance of an object; and the control portion is responsive to the identification, by the action identifier, of activation of an object for performing operations on objects as-identified by the interaction list of a prototype entry associated with the instance of the activated object.
When an operating system for the computing system opens, creates or renames a file, a new full path name of the file is added to a history queue. When the operating system sends a message to an application process indicating a new window title, the history queue is searched, starting with a most recent entry, for a matching full path name which includes the new window title. When the matching full path name which includes the new window title is found within the history queue, an icon which is attached to the matching full name path is displayed on the computer screen. When the operating system sends a message to the application process indicating the application process is to be closed, the history queue is flushed. When the operating system sends a message to the application process indicating the application process is to be destroyed, the history queue is searched for a full path name which includes an extension for the application process. When the history queue has a full path name which includes an extension for the application process, an icon which is attached to the matching full name path is displayed on the computer screen.
The directory service of the present invention extends the mechanism used to define ordinary properties to define "links," pairs of properties that represent an interobject reference with a certain meaning. Each pair is given a unique "pair ID" and consists of a "link" property and a "backlink" property, which represent the "reference" and "is referenced by" semantics, respectively. Rather than storing interobject references with the referencing and/or the referenced objects themselves and imputing the link, instead the present invention stores the link instance itself as an unnamed object in a link database table, which is separate and distinct from the data information base, and imputes the values to be reported for the relevant properties on the referencing and referenced objects from the existence of records in the link table. When a directory service server learns of the deletion of an object (either via replication or because of a deletion occurring on that server), it removes from its link table all records that refer to that object in either the link ID or backlink ID column, which is an efficient operation. This eliminates any dangling references to the deleted object. Although this implicitly affects the values of the corresponding link and backlink properties on other objects in the directory (i.e., those named in the backlink or link properties of the object being deleted), the changes to those other objects do not need to be noted or replicated in any way, since the replication of the deletion of the original object will cause all other directory service servers to perform the same cleanup, thereby independently removing the same link instances. This allows the directory service to maintain referential integrity in a distributed manner, with minimal replication overhead.
A facility for permitting self-deletion of application programs from a computer's mass-storage device is disclosed. The facility includes a component that tracks new files added in the course of program installation, as well as any modifications to permanent (e.g., system) files. An associated deletion component, actuable by a user, removes the added files from mass storage and reverses changes made to the permanent files. In one embodiment, the two components of the invention are associated with individual application programs; in another embodiment, the components are permanent features of the operating system or graphical user interface, and the tracking component maintains separate information for all application programs as these are installed.