mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-02 05:17:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
63
modules/libjar/zipwriter/nsDeflateConverter.h
Normal file
63
modules/libjar/zipwriter/nsDeflateConverter.h
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#ifndef _nsDeflateConverter_h_
|
||||
#define _nsDeflateConverter_h_
|
||||
|
||||
#include "nsIStreamConverter.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIPipe.h"
|
||||
#include "zlib.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
|
||||
#define DEFLATECONVERTER_CID { 0x461cd5dd, 0x73c6, 0x47a4, \
|
||||
{ 0x8c, 0xc3, 0x60, 0x3b, 0x37, 0xd8, 0x4a, 0x61 } }
|
||||
|
||||
#define ZIP_BUFLEN (4 * 1024 - 1)
|
||||
|
||||
class nsDeflateConverter final : public nsIStreamConverter
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIREQUESTOBSERVER
|
||||
NS_DECL_NSISTREAMLISTENER
|
||||
NS_DECL_NSISTREAMCONVERTER
|
||||
|
||||
nsDeflateConverter()
|
||||
{
|
||||
// 6 is Z_DEFAULT_COMPRESSION but we need the actual value
|
||||
mLevel = 6;
|
||||
}
|
||||
|
||||
explicit nsDeflateConverter(int32_t level)
|
||||
{
|
||||
mLevel = level;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
~nsDeflateConverter()
|
||||
{
|
||||
}
|
||||
|
||||
enum WrapMode {
|
||||
WRAP_ZLIB,
|
||||
WRAP_GZIP,
|
||||
WRAP_NONE
|
||||
};
|
||||
|
||||
WrapMode mWrapMode;
|
||||
uint64_t mOffset;
|
||||
int32_t mLevel;
|
||||
nsCOMPtr<nsIStreamListener> mListener;
|
||||
nsCOMPtr<nsISupports> mContext;
|
||||
z_stream mZstream;
|
||||
unsigned char mWriteBuffer[ZIP_BUFLEN];
|
||||
|
||||
nsresult Init();
|
||||
nsresult PushAvailableData(nsIRequest *aRequest, nsISupports *aContext);
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue