157 lines
2.2 KiB
C++
157 lines
2.2 KiB
C++
/*++
|
||
|
||
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_
|