private with Zip;
private with Zip_Streams.Array_Streams;
package Archives.Zip_Archives is
private
use Zip;
use Zip_Streams.Array_Streams;
type Zip_Archive is new Archive with
record
zipArray : A_Array_Stream;
zipInfo : Zip_info;
end record;
procedure Construct( this : access Zip_Archive; path : String );
procedure Construct( this : access Zip_Archive;
resource : not null A_Resource_File );
procedure Delete( this : in out Zip_Archive );
function Exists( this : access Zip_Archive;
filename : String ) return Boolean;
function Load_Bitmap( this : access Zip_Archive;
filename : String ) return A_Bitmap;
pragma Postcondition( Load_Bitmap'Result /= null );
function Open( this : access Zip_Archive;
filename : String ) return A_Packfile;
pragma Postcondition( Open'Result /= null );
function Open_Chunk( this : access Zip_Archive;
filename : String ) return access Stream_Element_Array;
pragma Postcondition( Open_Chunk'Result /= null );
end Archives.Zip_Archives;