text: /* -*- C++ -*- */
  /* Class hierarchy for the File I/O tests. */
  
  #include "ace/Profile_Timer.h"
  
  #if !defined (ACE_LACKS_PRAGMA_ONCE)
  # pragma once
  #endif /* ACE_LACKS_PRAGMA_ONCE */
  
  /* Base class for all the File I/O tests. */
  
  class IO_Test
  {
  public:
  
    // Initialize the test name
    IO_Test (const char *name,
             ACE_Profile_Timer &tm);
  
    // Destructor.
    virtual ~IO_Test (void);
  
    // Return the name of the test
    const char *name (void);
  
    // Execute the IO test (note this is a pure virtual function...)
    virtual int run_test (int iterations,
                          FILE *input_fp,
                          FILE *output_fp) = 0;
  
  protected:
    // Name of the test
    const char *name_;
  
    // Reference to a timer
    ACE_Profile_Timer &tm_;
  };
  
  class Slow_Read_Write_Test : public IO_Test
  {
  public:
    Slow_Read_Write_Test (const char *name,
                          ACE_Profile_Timer &tm);
    virtual int run_test (int iterations,
                          FILE *input_fp,
                          FILE *output_fp);
  };
  
  class Stdio_Test : public IO_Test
  {
  public:
    Stdio_Test (const char *name,
                ACE_Profile_Timer &tm);
    virtual int run_test (int iterations,
                          FILE *input_fp,
                          FILE *output_fp);
  };
  
  class Block_Read_Write_Test : public IO_Test
  {
  public:
    Block_Read_Write_Test (const char *name,
                           ACE_Profile_Timer &tm);
    virtual int run_test (int iterations,
                          FILE *input_fp,
                          FILE *output_fp);
  };
  
  class Block_Fread_Fwrite_Test : public IO_Test
  {
  public:
    Block_Fread_Fwrite_Test (const char *name,
                             ACE_Profile_Timer &tm);
    virtual int run_test (int iterations,
                          FILE *input_fp,
                          FILE *output_fp);
  };
  
  class Mmap1_Test : public IO_Test
  {
  public:
    Mmap1_Test (const char *name,
                ACE_Profile_Timer &tm);
    virtual int run_test (int iterations,
                          FILE *input_fp,
                          FILE *output_fp);
  };
  
  class Mmap2_Test : public IO_Test
  {
  public:
    Mmap2_Test (const char *name,
                ACE_Profile_Timer &tm);
    virtual int run_test (int iterations,
                          FILE *input_fp,
                          FILE *output_fp);
  };
  
  