summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/Output.h26
-rw-r--r--includes/Printer.h1
2 files changed, 27 insertions, 0 deletions
diff --git a/includes/Output.h b/includes/Output.h
new file mode 100644
index 0000000..59d9d67
--- /dev/null
+++ b/includes/Output.h
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <Handle.h>
+
+namespace Balau {
+
+class Output : public SeekableHandle {
+ public:
+ Output(const char * fname, bool truncate = true) throw (GeneralException);
+ virtual void close() throw (GeneralException);
+ virtual ssize_t write(const void * buf, size_t count) throw (GeneralException);
+ virtual bool isClosed();
+ virtual bool canWrite();
+ virtual const char * getName();
+ virtual off_t getSize();
+ virtual time_t getMTime();
+ const char * getFName() { return m_fname.to_charp(); }
+ private:
+ int m_fd;
+ String m_name;
+ String m_fname;
+ off_t m_size;
+ time_t m_mtime;
+};
+
+};
diff --git a/includes/Printer.h b/includes/Printer.h
index e8d9a03..2c40088 100644
--- a/includes/Printer.h
+++ b/includes/Printer.h
@@ -36,6 +36,7 @@ enum {
E_INPUT = 16,
E_SOCKET = 32,
E_THREAD = 64,
+ E_OUTPUT = 128,
};
class Printer {