]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/tarstrm.h
include <string>
[wxWidgets.git] / include / wx / tarstrm.h
index 8a5baf667579520fec5d7f062e255ad668aca42d..e405375925a7005212db242741b526835fa1cdd4 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        tarstrm.h
+// Name:        wx/tarstrm.h
 // Purpose:     Streams for Tar files
 // Author:      Mike Wetherell
 // RCS-ID:      $Id$
@@ -15,6 +15,7 @@
 #if wxUSE_TARSTREAM
 
 #include "wx/archive.h"
+#include "wx/hashmap.h"
 
 
 /////////////////////////////////////////////////////////////////////////////
@@ -43,7 +44,7 @@ enum wxTarFormat
 /////////////////////////////////////////////////////////////////////////////
 // wxTarNotifier
 
-class wxTarNotifier
+class WXDLLIMPEXP_BASE wxTarNotifier
 {
 public:
     virtual ~wxTarNotifier() { }
@@ -55,7 +56,7 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 // Tar Entry - hold the meta data for a file in the tar
 
-class wxTarEntry : public wxArchiveEntry
+class WXDLLIMPEXP_BASE wxTarEntry : public wxArchiveEntry
 {
 public:
     wxTarEntry(const wxString& name = wxEmptyString,
@@ -132,7 +133,7 @@ private:
     wxDateTime   m_ModifyTime;
     wxDateTime   m_AccessTime;
     wxDateTime   m_CreateTime;
-    wxChar       m_TypeFlag;
+    int          m_TypeFlag;
     wxString     m_LinkName;
     wxString     m_UserName;
     wxString     m_GroupName;
@@ -148,7 +149,9 @@ private:
 /////////////////////////////////////////////////////////////////////////////
 // wxTarInputStream
 
-class wxTarInputStream : public wxArchiveInputStream
+WX_DECLARE_STRING_HASH_MAP(wxString, wxTarHeaderRecords);
+
+class WXDLLIMPEXP_BASE wxTarInputStream : public wxArchiveInputStream
 {
 public:
     typedef wxTarEntry entry_type;
@@ -178,7 +181,7 @@ private:
     bool IsOpened() const               { return m_pos != wxInvalidOffset; }
 
     wxStreamError ReadHeaders();
-    bool ReadExtendedHeader(class wxTarHeaderRecords*& recs);
+    bool ReadExtendedHeader(wxTarHeaderRecords*& recs);
 
     wxString GetExtendedHeader(const wxString& key) const;
     wxString GetHeaderPath() const;
@@ -193,8 +196,8 @@ private:
     int m_sumType;
     int m_tarType;
     class wxTarHeaderBlock *m_hdr;
-    class wxTarHeaderRecords *m_HeaderRecs;
-    class wxTarHeaderRecords *m_GlobalHeaderRecs;
+    wxTarHeaderRecords *m_HeaderRecs;
+    wxTarHeaderRecords *m_GlobalHeaderRecs;
 
     DECLARE_NO_COPY_CLASS(wxTarInputStream)
 };
@@ -203,7 +206,7 @@ private:
 /////////////////////////////////////////////////////////////////////////////
 // wxTarOutputStream
 
-class wxTarOutputStream : public wxArchiveOutputStream
+class WXDLLIMPEXP_BASE wxTarOutputStream : public wxArchiveOutputStream
 {
 public:
     wxTarOutputStream(wxOutputStream& stream,
@@ -277,6 +280,7 @@ private:
     char *m_extendedHdr;
     size_t m_extendedSize;
     wxString m_badfit;
+    bool m_endrecWritten;
 
     DECLARE_NO_COPY_CLASS(wxTarOutputStream)
 };
@@ -295,7 +299,7 @@ typedef wxArchiveIterator<wxTarInputStream,
 /////////////////////////////////////////////////////////////////////////////
 // wxTarClassFactory
 
-class wxTarClassFactory : public wxArchiveClassFactory
+class WXDLLIMPEXP_BASE wxTarClassFactory : public wxArchiveClassFactory
 {
 public:
     typedef wxTarEntry        entry_type;