/** @file Compress class. This class is to call CompressDll.dll to compress section. Copyright (c) 2006, Intel Corporation All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. **/ package org.tianocore.framework.tasks; import java.io.File; /** This class is to call CompressDll.dll to compress section. **/ public class Compress { byte[] inputBuffer; byte[] outputBuffer; int size; static { String dllPath; dllPath = GenFfsFileTask.path; dllPath = dllPath + File.separator + "CompressDll.dll"; System.load(dllPath); } /** CallCompress This function is to call the compressDll.dll to compress the contents in buffer. @param inputBuffer The input buffer. @param size The size of buffer in byte. @param dllPath The compressDll.dll path. @return The buffer contained the comrpessed input. **/ public native byte[] CallCompress (byte[] inputBuffer, int size, String dllPath); /** Construct function This function is to initialize the class member and call the compress function. @param inBuffer The input buffer. @param size The size of buffer in byte. **/ public Compress (byte[] inBuffer, int size){ this.inputBuffer = inBuffer; this.size = size; String path = GenFfsFileTask.path; // // Call Compress function. // this.outputBuffer = CallCompress ( this.inputBuffer, this.size, path ); } }