X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Fwriter.cpp;h=60914090f742acaa97b90f1f1f9c58fd03756523;hp=cdd78b62e18e5e636994f0bf674da9aba39d3676;hb=19179a622c1de88de5ed7047643eec79f285bf2a;hpb=27630d44298cb67e075c166f4421288cc8ca117e diff --git a/source/writer.cpp b/source/writer.cpp index cdd78b6..6091409 100644 --- a/source/writer.cpp +++ b/source/writer.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspdatafile -Copyright © 2006 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #include "binarywriter.h" #include "statement.h" #include "textwriter.h" @@ -15,12 +8,17 @@ using namespace std; namespace Msp { namespace DataFile { -Writer::Writer(ostream &o): +Writer::Writer(IO::Base &o): out(o), mode(new TextWriter(out)), binary(false) { } +Writer::~Writer() +{ + delete mode; +} + void Writer::write(const Statement &st) { mode->write(st); @@ -31,21 +29,26 @@ void Writer::set_binary(bool b) if(b==binary) return; - binary=b; + binary = b; Statement st; if(binary) - st.keyword="__bin"; + st.keyword = "__bin"; else - st.keyword="__text"; + st.keyword = "__text"; mode->write(st); delete mode; if(binary) - mode=new BinaryWriter(out); + mode = new BinaryWriter(out); else - mode=new TextWriter(out); + mode = new TextWriter(out); +} + +void Writer::set_float_precision(unsigned fp) +{ + mode->set_float_precision(fp); } } // namespace DataFile