summaryrefslogtreecommitdiffstats
path: root/src/io/inkjar.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/inkjar.h')
-rw-r--r--src/io/inkjar.h162
1 files changed, 0 insertions, 162 deletions
diff --git a/src/io/inkjar.h b/src/io/inkjar.h
deleted file mode 100644
index d7de9ff4a..000000000
--- a/src/io/inkjar.h
+++ /dev/null
@@ -1,162 +0,0 @@
-#ifndef __INKJAR_JAR_H_
-#define __INKJAR_JAR_H_
-/*
- * Copyright (C) 1999 Bryan Burns
- * Copyright (C) 2004 Johan Ceuppens
- * Released under GNU GPL, read the file 'COPYING' for more information
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#if defined(WIN32) || defined(__WIN32__)
-# include <zlib.h>
-#endif
-
-#ifdef HAVE_ZLIB_H
-# include <zlib.h>
-#endif
-
-#include <stdint.h>
-
-#include <glib.h>
-#include <cstdio>
-
-namespace Inkjar {
-
-unsigned const RDSZ = 4096;
-
-//#define DEBUG 1 //uncommment for debug messages
-
-enum JarFileReaderState {CLOSED, OPEN};
-
-//fixme: The following will be removed
-typedef uint8_t ub1;
-typedef uint16_t ub2;
-typedef uint32_t ub4;
-
-#define LOC_EXTRA 6 /* extra bytes */
-#define LOC_COMP 8 /* compression method */
-#define LOC_MODTIME 10 /* last modification time */
-#define LOC_MODDATE 12 /* last modification date */
-#define LOC_CRC 14 /* CRC */
-#define LOC_CSIZE 18 /* compressed size */
-#define LOC_USIZE 22 /* uncompressed size */
-#define LOC_FNLEN 26 /* filename length */
-#define LOC_EFLEN 28 /* extra-field length */
-
-#define CEN_COMP 10 /* compression method */
-#define CEN_MODTIME 12
-#define CEN_MODDATE 14
-#define CEN_CRC 16
-#define CEN_CSIZE 20
-#define CEN_USIZE 24
-#define CEN_FNLEN 28
-#define CEN_EFLEN 30
-#define CEN_COMLEN 32
-#define CEN_OFFSET 42
-
-
-/* macros */
-#define PACK_UB4(d, o, v) d[o] = (ub1)((v) & 0x000000ff); \
- d[o + 1] = (ub1)(((v) & 0x0000ff00) >> 8); \
- d[o + 2] = (ub1)(((v) & 0x00ff0000) >> 16); \
- d[o + 3] = (ub1)(((v) & 0xff000000) >> 24)
-
-#define PACK_UB2(d, o, v) d[o] = (ub1)((v) & 0x00ff); \
- d[o + 1] = (ub1)(((v) & 0xff00) >> 8)
-
-#define UNPACK_UB4(s, o) (ub4)s[o] + (((ub4)s[o + 1]) << 8) +\
- (((ub4)s[o + 2]) << 16) + (((ub4)s[o + 3]) << 24)
-
-#define UNPACK_UB2(s, o) (ub2)s[o] + (((ub2)s[o + 1]) << 8)
-
-
-
-/*
- * JarFile:
- *
- * This is a wrapper class for canonical jarfile functions like reading,
- * writing, seeking etc. JarFile is a dumb class with no state information.
- *
- * All memory allocations are done with g_malloc.
- */
-class JarFile {
-public:
-
- JarFile() : _file(NULL), _filename(NULL), _last_filename(NULL) {}
- virtual ~JarFile();
- JarFile(gchar const *new_filename);
-
- GByteArray *get_next_file_contents();
- gchar *get_last_filename() const;
- bool open();
- bool close();
- int read(guint8 *buf, unsigned int count);
-
- JarFile(JarFile const &rhs);
- JarFile &operator=(JarFile const &rhs);
-
-private:
-
- FILE *_file; // File descriptor
- gchar *_filename;
- z_stream _zs;
- gchar *_last_filename;
-
- bool init_inflation();
- bool read_signature();
- guint32 get_crc(guint8 *bytes, guint16 flags);
- guint8 *read_filename(guint16 filename_length);
- bool check_compression_method(guint16 method, guint16 flags);
- bool check_crc(guint32 oldcrc, guint32 crc, guint16 flags);
- guint8 *get_compressed_file(guint32 compressed_size,
- unsigned int &file_length,
- guint32 oldcrc, guint16 flags);
- guint8 *get_uncompressed_file(guint32 compressed_szie, guint32 crc,
- guint16 eflen, guint16 flags);
-}; // class JarFile
-
-
-/*
- * JarFileReader:
- *
- * This provides some smarter functions for operating on a jarfile object
- * It should be able to grep for files or return the contents of a specific
- * file.
- */
-
-class JarFileReader {
-public:
-
- JarFileReader(gchar const *new_filename)
- : _state(CLOSED), _jarfile(new_filename) {}
- JarFileReader() : _state(CLOSED) {}
- virtual ~JarFileReader() { if (_state == OPEN) _jarfile.close(); }
- //fixme return types are incorrect
- GByteArray *get_next_file();//fixme clean up return type
- void set_filename(gchar const *new_filename);
- void set_jarfile(JarFile const &new_jarfile);
- gchar *get_last_filename() const { return _jarfile.get_last_filename(); };
- JarFileReader(JarFileReader const &rhs);
- JarFileReader &operator=(JarFileReader const &rhs);
-private:
- JarFileReaderState _state;
- JarFile _jarfile;
-
-}; // class JarFileReader
-
-} // namespace Inkjar
-#endif // header guard
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :