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_
|