00001 00024 #ifndef SUIFKERNEL__IO_SUBSYSTEM_DEFAULT_IMPL_H 00025 #define SUIFKERNEL__IO_SUBSYSTEM_DEFAULT_IMPL_H 00026 00027 #include "io_subsystem.h" 00028 00029 class InputSubSystemDefaultImplementation : public InputSubSystem { 00030 public: 00031 InputSubSystemDefaultImplementation( SuifEnv* suif_env ); 00032 00033 virtual FileSetBlock *read( const String& inputFileName ); 00034 }; 00035 00036 00037 class OutputSubSystemDefaultImplementation : public OutputSubSystem { 00038 public: 00039 OutputSubSystemDefaultImplementation( SuifEnv* suif_env ); 00040 00041 virtual void write( const String& outputFileName ); 00042 }; 00043 00044 00045 class CloneSubSystemDefaultImplementation : public CloneSubSystem { 00046 public: 00047 CloneSubSystemDefaultImplementation( SuifEnv* suif_env ); 00048 virtual ~CloneSubSystemDefaultImplementation(); 00049 00050 virtual CloneStream* get_deep_clone_stream(); 00051 00052 virtual CloneStream* get_shallow_clone_stream(); 00053 00054 virtual void set_deep_clone_stream(CloneStream *str); 00055 00056 virtual void set_shallow_clone_stream(CloneStream *str); 00057 00058 private: 00059 CloneStream * _deep_stream; 00060 CloneStream * _shallow_stream; 00061 }; 00062 00063 00064 #endif