Method and system for accessing shell folder capabilities by...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S215000

Reexamination Certificate

active

06360280

ABSTRACT:

TECHNICAL FIELD
This invention relates generally to a method and system for managing folders and, in particular, to a method and system in which an application program can access the folder management capabilities of a shell program.
BACKGROUNG OF THE INVENTION
Computer systems have operating systems that have functions through which an application program can interact with files maintained by the operating system. These functions include opening, moving, copying, deleting, or renaming a file. These functions can also include creating and naming directories (also known as “folders”) or subdirectories in which to store files.
Typical computer systems include a shell, which is a program that provides direct communications between a user and the operating system. For example, a shell may provide the capability to list, delete, and copy files, to start the execution of other programs, to configure resources, etc. The shell may be implemented as a single computer program or as several computer programs. For example, a shell may include a file manager program that allows a user to manage the files stored by a file system portion of the operating system. Such a file manager program can move a file from one folder to another, copy a file, delete a file, rename a file, change various properties associated with the file, and launch an application program associated with a file. A file manager program can also create new folders. File manager programs typically provide comprehensive functionality for managing files and folders.
Application programs often provide capabilities to manage files, but such capabilities are often limited. For example, typical word processing programs can only open files and save files which are the capabilities needed to support word processing. Thus, a user wishing to manipulate a file using a function other than opening or saving needs to switch from the word processing program to the file manager program to manipulate the file. For example, when a user enters new data using a word processing program; the user often wishes to save that new data in a new file stored in a new folder. In order to do this, the user enters the new data using the word processing program, switches from the word processing program to the file manager program to create the new folder, and then switches back to the word processing program to save the new data in a new file in the newly created folder.
Some application programs include additional file manipulation functions that include moving, renaming, and deleting files. However, each developer of an application program that wants to include additional file manipulation functions needs to develop the user interface and computer code to support such functions. This development increases the burden on the application developer and creates a lack of consistency of the user interface for managing files between the operating system and the application programs. Additionally, even if an application developer modeled the user interface after that provided by the file manager program, if the user interface of the file manager program was later changed, there would then be a lack of consistency.
The present invention is described below using some object-oriented techniques; thus, an overview of well-known object-oriented programming techniques is provided. Two common characteristics of object-oriented programming languages are support for data encapsulation and data type inheritance. Data encapsulation refers to the binding of functions and data. Inheritance refers to the ability to declare a data type in terms of other data types. In the C++ language, data encapsulation and inheritance are supported through the use of classes. A class is a user-defined type. A class declaration describes the data members and function members of the class. A function member is also referred to as a method of a class. The data members and function members of a class are bound together in that the function operates on an instance of the class. An instance of a class is also called an object of the class. Thus, a class provides a definition for a group of objects with similar properties and common behavior.
To allocate storage for an object of a particular type (class), an object is instantiated. Once instantiated, data can be assigned to the data members of the particular object. Also, once instantiated, the function members of the particular object can be invoked to access and manipulate the data members. Thus, in this manner, the function members implement the behavior of the object, and the object provides a structure for encapsulating data and behavior into a single entity.
To support the concept of inheritance, classes may be derived from (based upon the declaration of) other classes. A derived class is a class that inherits the characteristics—data members and function members—of its base classes. A class that inherits the characteristics of another class is a derived class. A class that does not inherit the characteristics of another class is a primary (root) class. A class whose characteristics are inherited by another class is a base class. A derived class may inherit the characteristics of several classes; that is, a derived class may have several base classes. This is referred to as multiple inheritance.
A class may also specify whether its function members are virtual. Declaring that a function member is virtual means that the function can be overridden in a polymorphic manner by a function of the same name and type in a derived class. If a virtual function is declared without providing an implementation, then it is referred to as a pure virtual function. A pure virtual function is a virtual function declared with the pure specifier, “=0”. If a class specifies a pure virtual function, then any derived class needs to specify an implementation for that function member before that function member may be invoked. A class which contains at least one pure virtual function member is an abstract class.
FIG. 1
is a block diagram illustrating typical data structures used to represent an object. An object is composed of instance data (data members) and function members, which implement the behavior of the object. The data structures used to represent an object comprise instance data structure
101
, virtual function table
102
, and the function members
103
,
104
,
105
. The instance data structure
101
contains a pointer to the virtual function table
102
and contains data members. The virtual function table
102
contains an entry for each virtual function member defined for the object. Each entry contains a reference to the code that implements the corresponding function member. The layout of this sample object conforms to models described in U.S. Pat. No. 5,297,284, entitled “A Method for Implementing Virtual Functions and Virtual Bases in a Compiler for an Object Oriented Programming Language,” which is hereby incorporated by reference. In the following, an object will be described as an instance of a class as defined by the C++ programming language. One skilled in the art would appreciate that other object models can be defined using other programming languages.
An advantage of using object-oriented techniques is that these techniques can be used to facilitate the sharing of objects. For example, a program implementing the function members of an instantiated object (a “server program”) can share the object with another program (a “client program”). To allow an object of an arbitrary class to be shared with a client program, interfaces are defined through which an object can be accessed without the need for the client program to have access to the class definitions at compile time. An interface is a named set of logically related function members. In C++, an interface is an abstract class with no data members and whose virtual functions are all pure. Thus, an interface provides a published protocol for two programs to communicate. Interfaces are typically used for derivation; a program defines (implements) class

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for accessing shell folder capabilities by... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for accessing shell folder capabilities by..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for accessing shell folder capabilities by... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2854347

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.