00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00031
00032 #pragma once
00033
00034 #include "../api_core.h"
00035 #include "../Text/string_types.h"
00036 #include "../System/sharedptr.h"
00037 #include "../IOData/datatypes.h"
00038
00039 class CL_ZipFileEntry_Impl;
00040
00044 class CL_API_CORE CL_ZipFileEntry
00045 {
00048
00049 public:
00050 CL_ZipFileEntry();
00051
00055 CL_ZipFileEntry(const CL_ZipFileEntry ©);
00056
00057 ~CL_ZipFileEntry();
00058
00062
00063 public:
00065 CL_StringRef get_archive_filename() const;
00066
00068 CL_StringRef get_input_filename() const;
00069
00071 cl_int64 get_uncompressed_size();
00072
00074 cl_int64 get_compressed_size();
00075
00079 bool is_directory() const;
00080
00084
00085 public:
00087 CL_ZipFileEntry &operator =(const CL_ZipFileEntry ©);
00088
00090 void set_input_filename(const CL_StringRef &filename);
00091
00093 void set_archive_filename(const CL_StringRef &filename);
00094
00098 void set_directory(bool is_directory);
00099
00103
00104 private:
00105 CL_SharedPtr<CL_ZipFileEntry_Impl> impl;
00106
00107 friend class CL_ZipArchive;
00108
00109 friend class CL_ZipIODevice_FileEntry;
00111 };
00112