You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
2.4 KiB
156 lines
2.4 KiB
/*++
|
|
|
|
Copyright (c) 1991 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
tree.hxx
|
|
|
|
Abstract:
|
|
|
|
This module contains the definition of the TREE class.
|
|
The TREE class implements a tree utility functionally compatible
|
|
with the DOS 5 tree utility.
|
|
This utility displays the directory structure of a path or drive.
|
|
|
|
Usage:
|
|
|
|
TREE [drive:][path] [/F] [/A] [/?]
|
|
|
|
/F Display the names of files in each directory.
|
|
|
|
/A Uses ASCII instead of extended characters.
|
|
|
|
/? Displays a help message.
|
|
|
|
|
|
|
|
Author:
|
|
|
|
Jaime F. Sasson - jaimes - 13-May-1991
|
|
|
|
|
|
Environment:
|
|
|
|
ULIB, User Mode
|
|
|
|
--*/
|
|
|
|
#if ! defined( _TREE_ )
|
|
|
|
#define _TREE_
|
|
|
|
#include "object.hxx"
|
|
#include "keyboard.hxx"
|
|
#include "program.hxx"
|
|
|
|
DECLARE_CLASS( TREE );
|
|
|
|
class TREE : public PROGRAM {
|
|
|
|
public:
|
|
|
|
|
|
DECLARE_CONSTRUCTOR( TREE );
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
Initialize (
|
|
);
|
|
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
DisplayName (
|
|
IN PCFSNODE Fsn,
|
|
IN PCWSTRING String
|
|
);
|
|
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
DisplayVolumeInfo (
|
|
);
|
|
|
|
|
|
NONVIRTUAL
|
|
BOOLEAN
|
|
ExamineDirectory(
|
|
IN PCFSN_DIRECTORY Directory,
|
|
IN PCWSTRING String
|
|
);
|
|
|
|
|
|
NONVIRTUAL
|
|
PFSN_DIRECTORY
|
|
GetInitialDirectory(
|
|
) CONST;
|
|
|
|
|
|
NONVIRTUAL
|
|
VOID
|
|
Terminate(
|
|
);
|
|
|
|
|
|
private:
|
|
|
|
PSTREAM _StandardOutput;
|
|
|
|
FLAG_ARGUMENT _FlagDisplayFiles;
|
|
FLAG_ARGUMENT _FlagUseAsciiCharacters;
|
|
FLAG_ARGUMENT _FlagDisplayHelp;
|
|
|
|
PFSN_DIRECTORY _InitialDirectory;
|
|
|
|
FSN_FILTER _FsnFilterDirectory;
|
|
FSN_FILTER _FsnFilterFile;
|
|
|
|
STREAM_MESSAGE _Message;
|
|
|
|
DSTRING _StringForDirectory;
|
|
DSTRING _StringForLastDirectory;
|
|
DSTRING _StringForFile;
|
|
DSTRING _StringForFileNoDirectory;
|
|
|
|
DSTRING _EndOfLineString;
|
|
|
|
PWSTRING _VolumeName;
|
|
VOL_SERIAL_NUMBER _SerialNumber;
|
|
BOOLEAN _FlagAtLeastOneSubdir;
|
|
BOOLEAN _FlagPathSupplied;
|
|
};
|
|
|
|
|
|
|
|
INLINE
|
|
PFSN_DIRECTORY
|
|
TREE::GetInitialDirectory(
|
|
) CONST
|
|
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Returns to the caller a pointer to the fsnode corresponding to
|
|
the directory to be used as the root of the tree.
|
|
|
|
|
|
Arguments:
|
|
|
|
None.
|
|
|
|
Return Value:
|
|
|
|
PFSN_DIRECTORY - Pointer to the fsnode that describes the starting
|
|
directory.
|
|
|
|
|
|
--*/
|
|
|
|
{
|
|
return( _InitialDirectory );
|
|
}
|
|
|
|
|
|
#endif // _TREE_
|