X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdom%2Fio%2Fgzipstream.h;h=4af5ada2b49f05284554ada30ab448320fb653d2;hb=ef9ea67d077bf2cbec9eaa47e057e7ac6559e34c;hp=ed7462488bbef97bc7b9648c0860d2625f7ba565;hpb=6232b46968ade11dd56fdb9627a2bda45d0dda7d;p=inkscape.git diff --git a/src/dom/io/gzipstream.h b/src/dom/io/gzipstream.h index ed7462488..4af5ada2b 100644 --- a/src/dom/io/gzipstream.h +++ b/src/dom/io/gzipstream.h @@ -1,125 +1,125 @@ -#ifndef __GZIPSTREAM_H__ -#define __GZIPSTREAM_H__ -/** - * Zlib-enabled input and output streams - * - * This provides a simple mechanism for reading and - * writing Gzip files. We use our own 'ZipTool' class - * to accomplish this, avoiding a zlib dependency. - * - * Authors: - * Bob Jamison - * - * Copyright (C) 2006 Bob Jamison - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - - - - -#include "domstream.h" - -namespace org -{ -namespace w3c -{ -namespace dom -{ -namespace io -{ - -//######################################################################### -//# G Z I P I N P U T S T R E A M -//######################################################################### - -/** - * This class is for deflating a gzip-compressed InputStream source - * - */ -class GzipInputStream : public BasicInputStream -{ - -public: - - GzipInputStream(InputStream &sourceStream); - - virtual ~GzipInputStream(); - - virtual int available(); - - virtual void close(); - - virtual int get(); - -private: - - bool load(); - - bool loaded; - - std::vector buffer; - unsigned int bufPos; - - -}; // class GzipInputStream - - - - -//######################################################################### -//# G Z I P O U T P U T S T R E A M -//######################################################################### - -/** - * This class is for gzip-compressing data going to the - * destination OutputStream - * - */ -class GzipOutputStream : public BasicOutputStream -{ - -public: - - GzipOutputStream(OutputStream &destinationStream); - - virtual ~GzipOutputStream(); - - virtual void close(); - - virtual void flush(); - - virtual void put(int ch); - -private: - - std::vector buffer; - - -}; // class GzipOutputStream - - - - - - - -} // namespace io -} // namespace dom -} // namespace w3c -} // namespace org - - -#endif /* __GZIPSTREAM_H__ */ +#ifndef __GZIPSTREAM_H__ +#define __GZIPSTREAM_H__ +/** + * Zlib-enabled input and output streams + * + * This provides a simple mechanism for reading and + * writing Gzip files. We use our own 'ZipTool' class + * to accomplish this, avoiding a zlib dependency. + * + * Authors: + * Bob Jamison + * + * Copyright (C) 2006 Bob Jamison + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + + +#include "domstream.h" + +namespace org +{ +namespace w3c +{ +namespace dom +{ +namespace io +{ + +//######################################################################### +//# G Z I P I N P U T S T R E A M +//######################################################################### + +/** + * This class is for deflating a gzip-compressed InputStream source + * + */ +class GzipInputStream : public BasicInputStream +{ + +public: + + GzipInputStream(InputStream &sourceStream); + + virtual ~GzipInputStream(); + + virtual int available(); + + virtual void close(); + + virtual int get(); + +private: + + bool load(); + + bool loaded; + + std::vector buffer; + unsigned int bufPos; + + +}; // class GzipInputStream + + + + +//######################################################################### +//# G Z I P O U T P U T S T R E A M +//######################################################################### + +/** + * This class is for gzip-compressing data going to the + * destination OutputStream + * + */ +class GzipOutputStream : public BasicOutputStream +{ + +public: + + GzipOutputStream(OutputStream &destinationStream); + + virtual ~GzipOutputStream(); + + virtual void close(); + + virtual void flush(); + + virtual int put(XMLCh ch); + +private: + + std::vector buffer; + + +}; // class GzipOutputStream + + + + + + + +} // namespace io +} // namespace dom +} // namespace w3c +} // namespace org + + +#endif /* __GZIPSTREAM_H__ */