package com.technofovea.hllib.methods;
import com.technofovea.hllib.DirectoryItem;
import com.sun.jna.ptr.ByteByReference;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.LongByReference;
import com.sun.jna.ptr.PointerByReference;
import com.technofovea.hllib.HlPackage;
import com.technofovea.hllib.enums.PackageType;
/**
* The interface defines functions which exist on the DLL but are not usually exposed via the Java-side API.
* @author Darien Hager
*/
public interface FullLibrary extends BasicLibrary {
/**
* Called to initialize the DLL library.
*/
public void initialize();
/**
* Called to shut down the DLL library.
*/
public void shutdown();
public boolean itemGetSize(DirectoryItem item, IntByReference size);
public boolean itemGetSizeEx(DirectoryItem item, LongByReference size);
public boolean itemGetSizeOnDisk(DirectoryItem item, IntByReference size);
public boolean itemGetSizeOnDiskEx(DirectoryItem item, LongByReference size);
public void itemGetPath(DirectoryItem item, byte[] buffer, int bufsize);
public boolean createPackage(PackageType ePackageType, IntByReference packageId);
public void packageClose();
public void deletePackage(HlPackage pkg);
public boolean packageGetExtractable(DirectoryItem file, ByteByReference extractable);
public boolean packageGetFileSize(DirectoryItem file, IntByReference size);
public boolean packageGetFileSizeOnDisk(DirectoryItem file, IntByReference size);
public boolean packageCreateStream(DirectoryItem file, PointerByReference stream);
public boolean fileCreateStream(DirectoryItem item, PointerByReference stream);
}