/* -*- 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); };