ACSMDownloader/include/rmsdk/zip.h
2021-05-13 09:39:51 +02:00

253 lines
6.9 KiB
C++

/*
File automatically generated by SOAdvancedDissector.py
More information at http://indefero.soutade.fr/p/soadvanceddissector
*/
#ifndef _ZIP_H
#define _ZIP_H
#include <dpio.h>
#include <uft.h>
#include <dp.h>
#include <dputils.h>
namespace zip {
class AdeptKey;
class Archive;
class ArchiveListener;
class FilteredStream;
class BufferingStream;
class CDEntry;
class EditableStream;
class Entry;
class Request;
class XORPadStream;
class ZLibDecompressorStream;
class ZipEntryStream;
class AdeptKey
{
public:
void staticInit();
void* s_descriptor;
};
class Archive: public dpio::StreamClient
{
public:
Archive(dpio::Stream*, zip::ArchiveListener*);
virtual ~Archive();
virtual void propertyReady(dp::String const&, dp::String const&);
virtual void totalLengthReady(unsigned int);
virtual void propertiesReady();
virtual void bytesReady(unsigned int, dp::Data const&, bool);
virtual void reportError(dp::String const&);
zip::EditableStream* createStream(uft::String const& newFile, uft::String const& data);
void* findEntryIndexByOffset(unsigned int);
void* getEntry(uft::String const&);
unsigned int getMaxSizeForEntryAt(unsigned int);
void readDirectory();
void sendCommonProperties(dpio::StreamClient*);
void* fields[30];
};
class ArchiveListener
{
public:
virtual ~ArchiveListener();
virtual void endReadDirectory(zip::Archive* archive) = 0;
virtual void virtfunc20() = 0;
};
class FilteredStream: public dputils::GuardedStream, public dpio::StreamClient
{
public:
FilteredStream(dpio::Stream*);
virtual ~FilteredStream();
virtual int getCapabilities();
virtual void requestInfo();
virtual void requestBytes(unsigned int, unsigned int);
virtual void reportWriteError(dp::String const&);
virtual void deleteThis();
virtual void bytesReady(unsigned int, dp::Data const&, bool);
virtual void propertyReady(dp::String const&, dp::String const&);
virtual void propertiesReady();
virtual void totalLengthReady(unsigned int);
virtual void reportError(dp::String const&);
};
class BufferingStream: public zip::FilteredStream
{
public:
BufferingStream(dpio::Stream*, unsigned int);
virtual ~BufferingStream();
virtual int getCapabilities();
virtual void requestInfo();
virtual void requestBytes(unsigned int, unsigned int);
virtual void reportWriteError(dp::String const&);
virtual void deleteThis();
virtual void bytesReady(unsigned int, dp::Data const&, bool);
virtual void propertyReady(dp::String const&, dp::String const&);
virtual void propertiesReady();
virtual void totalLengthReady(unsigned int);
virtual void reportError(dp::String const&);
virtual void mimeTypeReady(dp::String const&);
void request();
};
class Central_Directory
{};
class CDEntry
{
public:
CDEntry(zip::CDEntry const&);
CDEntry(zip::Central_Directory*);
CDEntry(zip::Central_Directory*, uft::String const&);
virtual ~CDEntry();
void getOffset() const;
void staticInit();
void updateOffset(unsigned int);
void* s_descriptor;
};
class EditableStream: public dputils::GuardedStream, public dpio::StreamClient
{
public:
EditableStream(zip::Archive*);
virtual ~EditableStream();
virtual void setStreamClient(dpio::StreamClient*);
virtual int getCapabilities();
virtual void requestInfo();
virtual void requestBytes(unsigned int, unsigned int);
virtual void reportWriteError(dp::String const&);
virtual void deleteThis();
virtual void propertyReady(dp::String const&, dp::String const&);
virtual void totalLengthReady(unsigned int);
virtual void propertiesReady();
virtual void bytesReady(unsigned int, dp::Data const&, bool);
virtual void reportError(dp::String const&);
virtual void virtfunc12() {};
void addFile(uft::String const&, uft::Buffer const&);
void requestTheRest();
void* fields[16];
};
class Entry
{
public:
Entry(zip::Archive*, zip::Central_Directory*, uft::String const&);
Entry(zip::Entry const&);
virtual ~Entry();
void bytesReady(unsigned int, dp::Data const&, bool);
void checkPartAccess();
void getStream(unsigned int, bool);
void initializeZip(unsigned char const*, unsigned int, unsigned int);
void processDataDesc(unsigned char const*);
void processNextRequest();
void requestBytes(zip::ZipEntryStream*, unsigned int, unsigned int);
void staticInit();
void* s_descriptor;
};
class Request
{
public:
void staticInit();
void* s_descriptor;
};
class XORPadStream: public zip::FilteredStream
{
public:
XORPadStream(dpio::Stream*, uft::Buffer const&, unsigned int);
virtual ~XORPadStream();
virtual int getCapabilities();
virtual void requestInfo();
virtual void requestBytes(unsigned int, unsigned int);
virtual void reportWriteError(dp::String const&);
virtual void deleteThis();
virtual void bytesReady(unsigned int, dp::Data const&, bool);
virtual void propertyReady(dp::String const&, dp::String const&);
virtual void propertiesReady();
virtual void totalLengthReady(unsigned int);
virtual void reportError(dp::String const&);
};
class ZLibDecompressorStream: public zip::FilteredStream
{
public:
ZLibDecompressorStream(dpio::Stream*, bool);
virtual ~ZLibDecompressorStream();
virtual int getCapabilities();
virtual void requestInfo();
virtual void requestBytes(unsigned int, unsigned int);
virtual void reportWriteError(dp::String const&);
virtual void deleteThis();
virtual void bytesReady(unsigned int, dp::Data const&, bool);
virtual void propertyReady(dp::String const&, dp::String const&);
virtual void propertiesReady();
virtual void totalLengthReady(unsigned int);
virtual void reportError(dp::String const&);
};
class ZipEntryStream: public dputils::GuardedStream
{
public:
ZipEntryStream(zip::Entry*, bool);
virtual ~ZipEntryStream();
virtual int getCapabilities();
virtual void requestInfo();
virtual void requestBytes(unsigned int, unsigned int);
virtual void reportWriteError(dp::String const&);
virtual void deleteThis();
void bytesReady(unsigned int, dp::Data const&, bool);
void processNextRequest();
void staticInit();
void* s_descriptor;
};
}
#endif // _ZIP_H