blob: 4410ecdda150026810c58738a9a900e027f344b3 [file] [log] [blame]
/** @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
);
}
}