summaryrefslogtreecommitdiff
path: root/package/inc/ZipPackageBuffer.hxx
diff options
context:
space:
mode:
authorMartin Gallwey <mtg@openoffice.org>2000-12-13 16:00:47 +0000
committerMartin Gallwey <mtg@openoffice.org>2000-12-13 16:00:47 +0000
commit4b11504f4ad039fb2311061c7544f00b6ff23c0f (patch)
tree77bd71291871a03a9a5e577114914fc4f5cfbbe0 /package/inc/ZipPackageBuffer.hxx
parentd6a8a2916c2c00f702b68d427af75d83e2163eb6 (diff)
This rather enormous commit has the following features:
1. Fixed three different memory leaks, one of them quite serious 2. Considerably streamlined the ZipPackageBuffer class - large performance increase, also streamlined EntryInputClass in the same way... 3. Correctly saves embedded zip files as embedded zip files instead of directories 4. Supports the copying of raw streams instead of de-compressing/re- compressing unnecessarily. Marty
Diffstat (limited to 'package/inc/ZipPackageBuffer.hxx')
-rw-r--r--package/inc/ZipPackageBuffer.hxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/package/inc/ZipPackageBuffer.hxx b/package/inc/ZipPackageBuffer.hxx
index 6c458ba51aa1..93e5bd61db61 100644
--- a/package/inc/ZipPackageBuffer.hxx
+++ b/package/inc/ZipPackageBuffer.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: ZipPackageBuffer.hxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: mtg $ $Date: 2000-11-27 16:51:45 $
+ * last change: $Author: mtg $ $Date: 2000-12-13 17:00:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -81,6 +81,8 @@
#include <cppuhelper/weak.hxx>
#endif
+#include <memory.h> // for memcpy
+
class ZipPackageBuffer :
public com::sun::star::io::XInputStream,
public com::sun::star::io::XOutputStream,
@@ -101,6 +103,7 @@ public:
throw();
virtual void SAL_CALL release(void)
throw();
+ // XInputStream
virtual sal_Int32 SAL_CALL readBytes( ::com::sun::star::uno::Sequence< sal_Int8 >& aData, sal_Int32 nBytesToRead )
throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
virtual sal_Int32 SAL_CALL readSomeBytes( ::com::sun::star::uno::Sequence< sal_Int8 >& aData, sal_Int32 nMaxBytesToRead )
@@ -111,12 +114,14 @@ public:
throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL closeInput( )
throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
+ // XOutputStream
virtual void SAL_CALL writeBytes( const ::com::sun::star::uno::Sequence< sal_Int8 >& aData )
throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL flush( )
throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL closeOutput( )
throw(::com::sun::star::io::NotConnectedException, ::com::sun::star::io::BufferSizeExceededException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
+ // XSeekable
virtual void SAL_CALL seek( sal_Int64 location )
throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException);
virtual sal_Int64 SAL_CALL getPosition( )