libMVRgdtf 40bc00a
A library for GDTF and MVR
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
IZIPFile.h
Go to the documentation of this file.
1//
2// Copyright Nemetschek Vectorworks, Inc.
3// Use of this file is governed by the Nemetschek Vectorworks SDK License Agreement
4// http://developer.vectorworks.net/index.php?title=Vectorworks_SDK_License
5//
6
7
8#pragma once
9
10#include "IFileIdentifier.h"
11
12namespace VectorworksMVR
13{
14 namespace Filing
15 {
16 // ----------------------------------------------------------------------------------------------------
36
37 // ----------------------------------------------------------------------------------------------------
39 {
40 public:
41 virtual ~IZIPFileIOBuffer() {}
42
43 virtual VCOMError VCOM_CALLTYPE GetDataSize(size_t& outSize) = 0;
44 virtual VCOMError VCOM_CALLTYPE CopyDataInto(void* pBuffer, size_t bufferSize) = 0;
45 virtual VCOMError VCOM_CALLTYPE SetData(void* pBuffer, size_t bufferSize) = 0;
46 };
47
48 // ----------------------------------------------------------------------------------------------------
49 // {3D7D62FB-4D99-40F2-8E87-9994DF64ED5D}
50 static const VWIID IID_ZIPFile = { 0x3d7d62fb, 0x4d99, 0x40f2, { 0x8e, 0x87, 0x99, 0x94, 0xdf, 0x64, 0xed, 0x5d } };
51
53 {
54 public:
56 virtual VCOMError VCOM_CALLTYPE OpenRead(const char* buffer, size_t length) = 0;
58 virtual VCOMError VCOM_CALLTYPE OpenNewWrite(IFileIdentifier* pFileID, bool compressFiles = true) = 0;
60 virtual VCOMError VCOM_CALLTYPE ToBuffer(char*& p, size_t& lengt) = 0;
61
62 virtual VCOMError VCOM_CALLTYPE GetSize(Uint64& outValue) = 0;
63
64 // 'path' uses '/' delimited string to identify a file or folder within the zip file
65 // empty 'path' denotes the root folder of the zip file
66
67 virtual VCOMError VCOM_CALLTYPE GetNextFile(const std::string& path, std::string& outPath) = 0;
68 virtual VCOMError VCOM_CALLTYPE GetNextFile(const std::string& path, const std::string& extension, std::string& outPath) = 0;
69
70 virtual VCOMError VCOM_CALLTYPE GetFileInfo(const std::string& path, SZIPFileInfo& outInfo) = 0;
71
72 virtual VCOMError VCOM_CALLTYPE GetFile(const std::string& path, IZIPFileIOBuffer* outputBuffer) = 0;
73 virtual VCOMError VCOM_CALLTYPE GetFile(const std::string& path, IFileIdentifier* outputFile) = 0;
74
75 virtual VCOMError VCOM_CALLTYPE AddFile(const TXString& path, IZIPFileIOBuffer* inputBuffer) = 0;
76 virtual VCOMError VCOM_CALLTYPE AddFile(const TXString& path, IFileIdentifier* inputFile) = 0;
77
78 virtual VCOMError VCOM_CALLTYPE RemoveFile(const TXString& path) = 0;
79 //virtual VCOMError VCOM_CALLTYPE MoveFile(const TXString& path) = 0;
80 };
82 }
83}
84
85
uint16_t Uint16
Definition GSTypes.h:26
uint64_t Uint64
Definition GSTypes.h:28
uint32_t Uint32
Definition GSTypes.h:27
#define VCOM_CALLTYPE
Definition VectorworksMVR.h:93
#define DYNAMIC_ATTRIBUTE
Definition VectorworksMVR.h:104
Definition IFileIdentifier.h:21
Definition IZIPFile.h:53
virtual VCOMError VCOM_CALLTYPE OpenRead(const char *buffer, size_t length)=0
virtual VCOMError VCOM_CALLTYPE OpenWrite(IFileIdentifier *pFileID)=0
virtual VCOMError VCOM_CALLTYPE GetSize(Uint64 &outValue)=0
virtual VCOMError VCOM_CALLTYPE AddFile(const TXString &path, IFileIdentifier *inputFile)=0
virtual VCOMError VCOM_CALLTYPE GetNextFile(const std::string &path, const std::string &extension, std::string &outPath)=0
virtual VCOMError VCOM_CALLTYPE OpenRead(IFileIdentifier *pFileID)=0
virtual VCOMError VCOM_CALLTYPE AddFile(const TXString &path, IZIPFileIOBuffer *inputBuffer)=0
virtual VCOMError VCOM_CALLTYPE GetNextFile(const std::string &path, std::string &outPath)=0
virtual VCOMError VCOM_CALLTYPE Close()=0
virtual VCOMError VCOM_CALLTYPE GetFile(const std::string &path, IZIPFileIOBuffer *outputBuffer)=0
virtual VCOMError VCOM_CALLTYPE RemoveFile(const TXString &path)=0
virtual VCOMError VCOM_CALLTYPE GetFile(const std::string &path, IFileIdentifier *outputFile)=0
virtual VCOMError VCOM_CALLTYPE OpenNewWrite(IFileIdentifier *pFileID, bool compressFiles=true)=0
virtual VCOMError VCOM_CALLTYPE ToBuffer(char *&p, size_t &lengt)=0
virtual VCOMError VCOM_CALLTYPE GetFileInfo(const std::string &path, SZIPFileInfo &outInfo)=0
virtual VCOMError VCOM_CALLTYPE CopyDataInto(void *pBuffer, size_t bufferSize)=0
virtual VCOMError VCOM_CALLTYPE SetData(void *pBuffer, size_t bufferSize)=0
virtual ~IZIPFileIOBuffer()
Definition IZIPFile.h:41
virtual VCOMError VCOM_CALLTYPE GetDataSize(size_t &outSize)=0
Definition VectorworksMVR.h:109
Definition GSString.h:134
Definition VectorworksMVR.h:149
VCOMPtr< IZIPFile > IZIPFilePtr
Definition IZIPFile.h:81
Definition CieColor.h:9
uint32_t VCOMError
Definition VectorworksMVR.h:119
Definition IZIPFile.h:18
Uint32 dwOffsetOfLocalHeader
Definition IZIPFile.h:33
Uint32 dwCompressedSize
Definition IZIPFile.h:29
Uint32 dwUncompressedSize
Definition IZIPFile.h:30
bool bFolder
Definition IZIPFile.h:34
TXString fComment
Definition IZIPFile.h:20
Uint16 dwDosTime
Definition IZIPFile.h:26
Uint16 dwVersion
Definition IZIPFile.h:22
TXString fFileName
Definition IZIPFile.h:19
Uint32 dwExternalAttrib
Definition IZIPFile.h:32
Uint32 dwVersionNeeded
Definition IZIPFile.h:23
Uint16 dwFlags
Definition IZIPFile.h:24
Uint16 dwInternalAttrib
Definition IZIPFile.h:31
Uint16 dwCompressionMethod
Definition IZIPFile.h:25
Uint16 dwDosDate
Definition IZIPFile.h:27
Uint32 dwCRC
Definition IZIPFile.h:28
Definition VectorworksMVR.h:32