]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/zipstrm.h
Changed version number
[wxWidgets.git] / include / wx / zipstrm.h
index 7b83d0bc0b122773ec43c4f7cecf229f61b850bd..47995d9bac89c8db4e52a0e5bc6a781b15d704e0 100644 (file)
@@ -164,7 +164,7 @@ public:
     // set accessors
     void SetDateTime(const wxDateTime& dt)      { m_DateTime = dt; }
     void SetSize(wxFileOffset size)             { m_Size = size; }
-    void SetMethod(int method)                  { m_Method = method; }
+    void SetMethod(int method)                  { m_Method = (wxUint16)method; }
     void SetComment(const wxString& comment)    { m_Comment = comment; }
     void SetExternalAttributes(wxUint32 attr )  { m_ExternalAttributes = attr; }
     void SetSystemMadeBy(int system);
@@ -200,15 +200,15 @@ protected:
     int GetDiskStart() const                    { return m_DiskStart; }
     int GetInternalAttributes() const           { return m_InternalAttributes; }
 
-    void SetVersionNeeded(int version)          { m_VersionNeeded = version; }
+    void SetVersionNeeded(int version)          { m_VersionNeeded = (wxUint16)version; }
     void SetOffset(wxFileOffset offset)         { m_Offset = offset; }
-    void SetFlags(int flags)                    { m_Flags = flags; }
-    void SetVersionMadeBy(int version)          { m_VersionMadeBy = version; }
+    void SetFlags(int flags)                    { m_Flags = (wxUint16)flags; }
+    void SetVersionMadeBy(int version)          { m_VersionMadeBy = (wxUint8)version; }
     void SetCrc(wxUint32 crc)                   { m_Crc = crc; }
     void SetCompressedSize(wxFileOffset size)   { m_CompressedSize = size; }
     void SetKey(wxFileOffset offset)            { m_Key = offset; }
-    void SetDiskStart(int start)                { m_DiskStart = start; }
-    void SetInternalAttributes(int attr)        { m_InternalAttributes = attr; }
+    void SetDiskStart(int start)                { m_DiskStart = (wxUint16)start; }
+    void SetInternalAttributes(int attr)        { m_InternalAttributes = (wxUint16)attr; }
 
     virtual wxZipEntry *ZipClone() const        { return new wxZipEntry(*this); }
 
@@ -262,7 +262,7 @@ private:
 /////////////////////////////////////////////////////////////////////////////
 // wxZipOutputStream 
 
-WX_DECLARE_LIST_WITH_DECL(wxZipEntry, _wxZipEntryList, class WXDLLIMPEXP_BASE);
+WX_DECLARE_LIST_WITH_DECL(wxZipEntry, wx__ZipEntryList, class WXDLLIMPEXP_BASE);
 
 class WXDLLIMPEXP_BASE wxZipOutputStream : public wxArchiveOutputStream
 {
@@ -320,7 +320,7 @@ private:
     class wxStoredOutputStream *m_store;
     class wxZlibOutputStream2 *m_deflate;
     class wxZipStreamLink *m_backlink;
-    _wxZipEntryList m_entries;
+    wx__ZipEntryList m_entries;
     char *m_initialData;
     size_t m_initialSize;
     wxZipEntry *m_pending;
@@ -347,7 +347,11 @@ public:
     typedef wxZipEntry entry_type;
 
     wxZipInputStream(wxInputStream& stream, wxMBConv& conv = wxConvLocal);
+
+#if 1 //WXWIN_COMPATIBILITY_2_6
     wxZipInputStream(const wxString& archive, const wxString& file);
+#endif
+
     virtual ~wxZipInputStream();
 
     bool OpenEntry(wxZipEntry& entry)   { return DoOpen(&entry); }
@@ -363,8 +367,12 @@ public:
 protected:
     size_t OnSysRead(void *buffer, size_t size);
     wxFileOffset OnSysTell() const { return m_decomp ? m_decomp->TellI() : 0; }
+
+#if 1 //WXWIN_COMPATIBILITY_2_6
     wxFileOffset OnSysSeek(wxFileOffset seek, wxSeekMode mode);
+#endif
 
+    // this protected interface isn't yet finalised
     virtual wxInputStream *OpenDecompressor(wxInputStream& stream);
     virtual bool CloseDecompressor(wxInputStream *decomp);
 
@@ -415,16 +423,40 @@ private:
     friend bool wxZipOutputStream::CopyArchiveMetaData(
                     wxZipInputStream& inputStream);
 
+#if 1 //WXWIN_COMPATIBILITY_2_6
+    bool m_allowSeeking;
+    friend class wxZipFSInputStream;
+#endif
+
     DECLARE_NO_COPY_CLASS(wxZipInputStream)
 };
 
 
+/////////////////////////////////////////////////////////////////////////////
+// Iterators
+
+#if wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
+typedef wxArchiveIterator<wxZipInputStream> wxZipIter;
+typedef wxArchiveIterator<wxZipInputStream,
+         std::pair<wxString, wxZipEntry*> > wxZipPairIter;
+#endif
+
+
 /////////////////////////////////////////////////////////////////////////////
 // wxZipClassFactory
 
 class WXDLLIMPEXP_BASE wxZipClassFactory : public wxArchiveClassFactory
 {
 public:
+    typedef wxZipEntry        entry_type;
+    typedef wxZipInputStream  instream_type;
+    typedef wxZipOutputStream outstream_type;
+    typedef wxZipNotifier     notifier_type;
+#if wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
+    typedef wxZipIter         iter_type;
+    typedef wxZipPairIter     pairiter_type;
+#endif
+
     wxZipEntry *NewEntry() const
         { return new wxZipEntry; }
     wxZipInputStream *NewStream(wxInputStream& stream) const
@@ -449,35 +481,25 @@ private:
 };
 
 
-/////////////////////////////////////////////////////////////////////////////
-// Iterators
-
-#if wxUSE_STL || defined WX_TEST_ARCHIVE_ITERATOR
-typedef wxArchiveIterator<wxZipInputStream> wxZipIter;
-typedef wxArchiveIterator<wxZipInputStream,
-         std::pair<wxString, wxZipEntry*> >  wxZipPairIter;
-#endif
-
-
 /////////////////////////////////////////////////////////////////////////////
 // wxZipEntry inlines
 
-bool wxZipEntry::IsText() const
+inline bool wxZipEntry::IsText() const
 {
     return (m_InternalAttributes & TEXT_ATTR) != 0;
 }
 
-bool wxZipEntry::IsDir() const
+inline bool wxZipEntry::IsDir() const
 {
     return (m_ExternalAttributes & wxZIP_A_SUBDIR) != 0;
 }
 
-bool wxZipEntry::IsReadOnly() const
+inline bool wxZipEntry::IsReadOnly() const
 {
     return (m_ExternalAttributes & wxZIP_A_RDONLY) != 0;
 }
 
-bool wxZipEntry::IsMadeByUnix() const
+inline bool wxZipEntry::IsMadeByUnix() const
 {
     const int pattern =
         (1 << wxZIP_SYSTEM_OPENVMS) |
@@ -492,7 +514,7 @@ bool wxZipEntry::IsMadeByUnix() const
         || ((pattern >> m_SystemMadeBy) & 1);
 }
 
-void wxZipEntry::SetIsText(bool isText)
+inline void wxZipEntry::SetIsText(bool isText)
 {
     if (isText)
         m_InternalAttributes |= TEXT_ATTR;
@@ -500,7 +522,7 @@ void wxZipEntry::SetIsText(bool isText)
         m_InternalAttributes &= ~TEXT_ATTR;
 }
 
-void wxZipEntry::SetIsReadOnly(bool isReadOnly)
+inline void wxZipEntry::SetIsReadOnly(bool isReadOnly)
 {
     if (isReadOnly)
         SetMode(GetMode() & ~0222);
@@ -508,8 +530,8 @@ void wxZipEntry::SetIsReadOnly(bool isReadOnly)
         SetMode(GetMode() | 0200);
 }
 
-void wxZipEntry::SetName(const wxString& name,
-                         wxPathFormat format /*=wxPATH_NATIVE*/)
+inline void wxZipEntry::SetName(const wxString& name,
+                                wxPathFormat format /*=wxPATH_NATIVE*/)
 {
     bool isDir;
     m_Name = GetInternalName(name, format, &isDir);