summaryrefslogtreecommitdiffstats
path: root/src/outputgen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/outputgen.cpp')
-rw-r--r--src/outputgen.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/outputgen.cpp b/src/outputgen.cpp
new file mode 100644
index 0000000..ca07302
--- /dev/null
+++ b/src/outputgen.cpp
@@ -0,0 +1,77 @@
+/******************************************************************************
+ *
+ * $Id$
+ *
+ * Copyright (C) 1997-1999 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * All output generated with Doxygen is not covered by this license.
+ *
+ */
+
+#include <stdlib.h>
+#include "outputgen.h"
+#include <qstring.h>
+#include "message.h"
+
+OutputGenerator::OutputGenerator()
+{
+ //printf("OutputGenerator::OutputGenerator()\n");
+ file=0;
+ b.setBuffer(a);
+ b.open( IO_WriteOnly );
+ t.setDevice(&b);
+ active=TRUE;
+}
+
+OutputGenerator::~OutputGenerator()
+{
+ //printf("OutputGenerator::~OutputGenerator()\n");
+ delete file;
+}
+
+void OutputGenerator::startPlainFile(const char *name)
+{
+ //printf("startPlainFile(%s)\n",name);
+ QString fileName=dir+"/"+name;
+ file = new QFile(fileName);
+ if (!file)
+ {
+ err("Could not create file object for %s\n",fileName.data());
+ exit(1);
+ }
+ if (!file->open(IO_WriteOnly))
+ {
+ err("Could not open file %s for writing\n",fileName.data());
+ exit(1);
+ }
+ fs.setDevice(file);
+}
+
+void OutputGenerator::endPlainFile()
+{
+ //printf("endPlainFile(%s)\n",file->name());
+ fs.writeRawBytes(a.data(),a.size()) ; // write string buffer to file
+ delete file;
+ file=0;
+ b.close();
+ a.resize(0);
+ b.setBuffer(a);
+ b.open(IO_WriteOnly);
+ t.setDevice(&b);
+}
+
+QString OutputGenerator::getContents() const
+{
+ QString s;
+ s.resize(a.size()+1);
+ memcpy(s.data(),a.data(),a.size());
+ s.at(a.size())='\0';
+ return s;
+}
+