home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 197.img / TCPLUS-8.ZIP / CLASSEXM.ZIP / DIRECTRY.H < prev    next >
C/C++ Source or Header  |  1990-05-04  |  3KB  |  127 lines

  1. #ifndef __DIRECTRY_H
  2. #define __DIRECTRY_H
  3.  
  4. //
  5. // This file contains proprietary information of Borland International.
  6. // Copying or reproduction without prior written approval is prohibited.
  7. //
  8. // Copyright (c) 1990
  9. // Borland International
  10. // 1800 Scotts Valley Dr.
  11. // Scotts Valley, CA 95066
  12. // (408) 438-8400
  13. //
  14.  
  15. // Contents ----------------------------------------------------------------
  16. //
  17. //      directoryClass
  18. //
  19. //      Directory
  20. //
  21. // Description
  22. //
  23. //      Defines class Directory.
  24. //
  25. // End ---------------------------------------------------------------------
  26.  
  27. // Interface Dependencies ---------------------------------------------------
  28.  
  29. #ifndef __DIR_H
  30. #include <dir.h>
  31. #define __DIR_H
  32. #endif
  33.  
  34. #ifndef __CLSTYPES_H
  35. #include <clstypes.h>
  36. #endif
  37.  
  38. #ifndef __SORTARRY_H
  39. #include <sortarry.h>
  40. #endif
  41.  
  42. #ifndef __FILEDATA_H
  43. #include "filedata.h"
  44. #endif
  45.  
  46. // End Interface Dependencies ------------------------------------------------
  47.  
  48.  
  49. // Macro //
  50.  
  51. // Summary -----------------------------------------------------------------
  52. //
  53. //      Defines a value for the directory class.  We use the next available
  54. //      number after the class which sorts files by date.
  55. //
  56. // End ---------------------------------------------------------------------
  57.  
  58. #define    directoryClass           (filesBySizeClass+1)
  59.  
  60.  
  61. // Class //
  62.  
  63. class Directory:  public SortedArray
  64. {
  65. public:
  66.     virtual ~Directory() {}
  67.             enum sortOrder { byName, byDate, bySize };
  68.             Directory( char *, sortOrder );
  69.  
  70.     virtual classType       isA() { return directoryClass; }
  71.     virtual char           *nameOf() { return "Directory"; }
  72.     virtual hashValueType   hashValue() { return 0; }
  73.  
  74.     virtual void            printHeader( ostream& ) const;
  75.     virtual void            printSeparator( ostream& ) const;
  76.     virtual void            printTrailer( ostream& ) const;
  77.  
  78. private:
  79.     void                    addFile( ffblk&, sortOrder );
  80.     String                  mask;
  81. };
  82.  
  83. // Description -------------------------------------------------------------
  84. //
  85. //      Defines a directory class.  Class Directory is derived from the
  86. //      class SortedArray, which is part of the class library.
  87. //
  88. // Constructor
  89. //
  90. //      Directory
  91. //
  92. //      Constructs a directory object from the given name and sorting
  93. //      order.
  94. //
  95. // Destructor
  96. //
  97. //      ~Directory
  98. //
  99. // Public Members
  100. //
  101. //      sortOrder
  102. //
  103. //      Enumerated order for sorting directories.
  104. //
  105. //      isA
  106. //
  107. //      Returns the class type of Directory.
  108. //
  109. //      nameOf
  110. //
  111. //      Returns a pointer to the character string "Directory."
  112. //
  113. //      hashValue
  114. //
  115. //      Returns a pre-defined hash value for a directory object.
  116. //
  117. // Private Members
  118. //
  119. //      addFile
  120. //
  121. //      Adds a file to the directory structure.
  122. //
  123. // End ---------------------------------------------------------------------
  124.  
  125.  
  126. #endif    // __DIRECTRY_H
  127.