KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > izforge > izpack > util > NativeLibraryClient


1 /*
2  * IzPack - Copyright 2001-2007 Julien Ponge, All Rights Reserved.
3  *
4  * http://www.izforge.com/izpack/
5  * http://developer.berlios.de/projects/izpack/
6  *
7  * Copyright 2002 Elmar Grom
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */

21
22 package com.izforge.izpack.util;
23
24 /*---------------------------------------------------------------------------*/
25 /**
26  * Any class in IzPack that uses native libraries must implement this interface. See the package
27  * documentation for more details on requirements relating to the use of native libraries within
28  * IzPack.
29  *
30  * @version 0.0.1 / 2/6/2002
31  * @author Elmar Grom
32  */

33 /*---------------------------------------------------------------------------*/
34 public interface NativeLibraryClient
35 {
36
37     /*--------------------------------------------------------------------------*/
38     /**
39      * This method is used to free the library at the end of progam execution. After this call, any
40      * instance of this calss will not be usable any more! <b><i><u>This method is very likely NOT
41      * to return!</u></i></b> <br>
42      * <br>
43      * <b>DO NOT CALL THIS METHOD DIRECTLY!</b><br>
44      * It is used by the librarian to free a native library before physically deleting it from its
45      * temporary loaction. A call to this method is likely to irrecoverably freeze the application!
46      * <br>
47      * <br>
48      * The contract for this method implementation is that a call will bring the native library into
49      * a state where it can be deleted. This translates into an operation to free the library. Since
50      * no libraries should be left behind when the installer shuts down, it is necessary that each
51      * library provides the means to free itself. For instance in a MS-Windows environment the
52      * library must call <code>FreeLibraryAndExitThread()</code>. This will result in a native
53      * fuction call that does not return.
54      *
55      * @param name the name of the library, without path but with extension
56      */

57     /*--------------------------------------------------------------------------*/
58     public void freeLibrary(String JavaDoc name);
59 }
60 /*---------------------------------------------------------------------------*/
61
Popular Tags