00001 /* ki2.h 00002 */ 00003 00004 #ifndef _KI2_H 00005 #define _KI2_H 00006 00007 #include "osl/record/record.h" 00008 #include "osl/record/kanjiMove.h" 00009 #include <string> 00010 #include <iosfwd> 00011 00012 namespace osl 00013 { 00014 namespace record 00015 { 00016 namespace ki2 00017 { 00018 class InputStream : public IRecordStream 00019 { 00020 private: 00021 std::istream& is; 00022 SimpleState state; 00023 osl::record::KanjiMove kmove; 00024 RecordVisitor rv; 00025 public: 00026 InputStream(std::istream& is, bool verbose=false); 00027 virtual ~InputStream(); 00028 00030 virtual void load(Record*); 00031 const SimpleState& getState() const { return state;} 00032 }; 00033 00039 class Ki2File 00040 { 00041 private: 00042 Record rec; 00043 bool verbose; 00044 public: 00045 Ki2File(const std::string& fileName, bool verbose=false); 00046 Record const& getRecord() const; 00047 SimpleState const& getInitialState() const; 00048 }; 00049 } // namespace ki2 00050 } // namespace record 00051 using record::ki2::Ki2File; 00052 } // namespace osl 00053 00054 #endif /* _KI2_H */ 00055 // ;;; Local Variables: 00056 // ;;; mode:c++ 00057 // ;;; c-basic-offset:2 00058 // ;;; End: