ACSMDownloader/include/rmsdk/dpio.h

205 lines
6.2 KiB
C++

/*
File automatically generated by SOAdvancedDissector.py
More information at http://indefero.soutade.fr/p/soadvanceddissector
*/
#ifndef _DPIO_H
#define _DPIO_H
#include <dp.h>
#include <dpdev.h>
#include <dputils.h>
namespace dpio {
class StreamClient;
class BufferedStreamClient;
class DataStream;
class FileRemover;
class FileStream;
class FileWriter;
class Partition;
class FilesystemPartition;
class MessagePipe;
class Stream;
class UniqueFileCreator;
class StreamClient: public dp::Unknown
{
public:
StreamClient();
virtual ~StreamClient();
virtual void* getInterfaceID();
virtual void propertyReady(dp::String const&, dp::String const&) = 0;
virtual void totalLengthReady(unsigned int) = 0;
virtual void propertiesReady() = 0;
virtual void bytesReady(unsigned int, dp::Data const&, bool) = 0;
virtual void reportError(dp::String const&) = 0;
void* fields[20];
};
class BufferedStreamClient: public dpio::StreamClient
{
public:
BufferedStreamClient();
virtual ~BufferedStreamClient();
virtual void* getInterfaceID();
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&);
void* getBuffer() const;
void safeBufferAppend(unsigned char const*, unsigned int);
};
class DataStream: public dputils::GuardedStream
{
public:
DataStream(dp::String const&, dp::Data const&, dpio::StreamClient*, dp::Callback*);
virtual ~DataStream();
virtual void* getInterfaceID();
virtual int getCapabilities();
virtual void requestInfo();
virtual void requestBytes(unsigned int, unsigned int);
virtual void reportWriteError(dp::String const&);
virtual void adjustModifiedStream();
virtual void deleteThis();
void* fields[10];
};
class FileRemover
{
public:
static void remove(dpio::Partition*, dp::String const&, dp::Callback*);
};
class FileStream: public dputils::GuardedStream
{
public:
FileStream(dpio::Partition*, dp::String const&, dpio::StreamClient*, unsigned int);
virtual ~FileStream();
virtual void* getInterfaceID();
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 adjustModifiedStream();
virtual void deleteThis();
virtual void virtfunc12(){}
void propertiesReady(){}
void closeHandles();
void getTemporaryFolder();
void isFolder(dpio::Partition*, dp::String const&);
void listFolder(dpio::Partition*, dp::String const&);
void* fields[10];
};
class FileWriter: public dpio::StreamClient
{
public:
FileWriter();
virtual ~FileWriter();
virtual void* getInterfaceID();
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&);
void write(dpio::Partition*, dp::String const&, dpio::Stream*, dp::Callback*);
void* fields[5];
};
class Partition: public dp::Unknown
{
public:
virtual ~Partition();
virtual void* getInterfaceID();
virtual dpdev::Device* getDevice() = 0;
virtual int getIndex() = 0;
virtual dp::String getPartitionName() = 0;
virtual dp::String getPartitionType() = 0;
virtual dp::String getRootURL() = 0;
virtual dp::String getDocumentFolderURL() = 0;
virtual dp::String getTemporaryFolderURL() = 0;
virtual dpio::Stream* readFile(dp::String const&, dpio::StreamClient*, unsigned int);
virtual void createUniqueFile(dp::String const&, dp::String const&, dp::Callback*) = 0;
virtual void writeFile(dp::String const&, dpio::Stream*, dp::Callback*) = 0;
virtual void removeFile(dp::String const&, dp::Callback*) = 0;
static dpio::FilesystemPartition* createFileSystemPartition(dpdev::Device*, int index, dp::String const& type, dp::String const& rootPath, dp::String const& docPath, dp::String const& tempPath);
void findPartitionForURL(dp::String const&);
void releaseFileSystemPartition(dpio::Partition*);
void setFileSystemPartitionIndex(dpio::Partition*, int);
};
class FilesystemPartition: public dpio::Partition
{
public:
FilesystemPartition(dpdev::Device*, int, dp::String const&, dp::String const&, dp::String const&, dp::String const&);
virtual ~FilesystemPartition();
virtual void* getInterfaceID();
virtual void* getOptionalInterface(char const*);
virtual dpdev::Device* getDevice();
virtual int getIndex();
virtual dp::String getPartitionName();
virtual dp::String getPartitionType();
virtual dp::String getRootURL();
virtual dp::String getDocumentFolderURL();
virtual dp::String getTemporaryFolderURL();
virtual dpio::Stream* readFile(dp::String const&, dpio::StreamClient*, unsigned int);
virtual void createUniqueFile(dp::String const&, dp::String const&, dp::Callback*);
virtual void writeFile(dp::String const&, dpio::Stream*, dp::Callback*);
virtual void removeFile(dp::String const&, dp::Callback*);
void setIndex(int);
void* fields[10];
};
class MessagePipe
{
public:
~MessagePipe();
void processBroadcasts();
};
class UniqueFileCreator: public dp::Unknown
{
public:
virtual ~UniqueFileCreator();
virtual void* getOptionalInterface(char const*);
void createUnique(dpio::Partition*, dp::String const&, dp::String const&, dp::Callback*);
};
}
#endif // _DPIO_H