csaRecord.h
Go to the documentation of this file.
00001 #ifndef OSL_CSARECORD_H
00002 #define OSL_CSARECORD_H
00003 
00004 #include "osl/record/record.h"
00005 #include "osl/record/csa.h"
00006 #include "osl/state/numEffectState.h"
00007 #include <boost/shared_ptr.hpp>
00008 #include <string>
00009 #include <iosfwd>
00010 namespace osl
00011 {
00012   namespace record
00013   {
00014     namespace csa
00015     {
00016       class InputStream : public IRecordStream
00017       {
00018       private:
00019         std::istream& is;
00020         SimpleState state;
00021         boost::shared_ptr<RecordVisitor> rv;
00022       public:
00023         InputStream(std::istream& is);
00024         InputStream(std::istream& is, boost::shared_ptr<RecordVisitor> rv);
00025         virtual ~InputStream();
00026 
00028         virtual void load(Record*);
00029         const SimpleState& getState() const { return state;}
00030       };
00031 
00032       class CsaFile
00033       {
00034       private:
00035         Record rec;
00036       public:
00037         CsaFile(const std::string& fileName);
00038         ~CsaFile();
00039 
00040         Record const& getRecord() const;
00041         const NumEffectState getInitialState() const;
00042       };
00043 
00044     } // namespace csa
00045   } // namespace record
00046   using record::csa::CsaFile;
00047 
00048 } // namespace osl
00049 #endif /* OSL_CSARECORD_H */
00050 // ;;; Local Variables:
00051 // ;;; mode:c++
00052 // ;;; c-basic-offset:2
00053 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines