diff --git a/rfb/FileWriter.h b/rfb/FileWriter.h
new file mode 100644
index 0000000..bb261a7
--- /dev/null
+++ b/rfb/FileWriter.h
@@ -0,0 +1,35 @@
+/* Copyright (C) 2005 TightVNC Team.  All Rights Reserved.
+ *    
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+
+// -=- FileWriter.h
+
+#ifndef __RFB_FILEWRITER_H__
+#define __RFB_FILEWRITER_H__
+
+#include "FileManager.h"
+
+namespace rfb {
+  class FileWriter : public FileManager {
+  public:
+    FileWriter(char *pFilename);
+
+    bool write(const void *pBuf, unsigned int count, unsigned int *pBytesWritten);
+  };
+}
+
+#endif // __RFB_FILEWRITER_H__
\ No newline at end of file
