01: /*
02: * IzPack - Copyright 2001-2008 Julien Ponge, All Rights Reserved.
03: *
04: * http://izpack.org/
05: * http://izpack.codehaus.org/
06: *
07: * Copyright 2005 Klaus Bartz
08: *
09: * 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.coi.tools.os.izpack;
23:
24: import com.coi.tools.os.win.RegistryImpl;
25: import com.izforge.izpack.util.NativeLibraryClient;
26:
27: /**
28: * Wrapper class for com.coi.tools.os.win.RegistryImpl for using it with IzPack. This class
29: * implements only the methods of interface NativeLibraryClient. All other methods are used directly
30: * from RegistryImpl.
31: *
32: * @author Klaus Bartz
33: *
34: */
35: public class Registry extends RegistryImpl implements
36: NativeLibraryClient {
37:
38: /**
39: * Default constructor.
40: * @exception Exception if initialize of native part fails
41: */
42: public Registry() throws Exception {
43: super ();
44: initialize();
45: }
46:
47: /**
48: * Initialize native part of this class and other settings.
49: *
50: * @exception Exception if problems are encountered
51: */
52: /*--------------------------------------------------------------------------*/
53: private void initialize() throws Exception {
54: COIOSHelper.getInstance().addDependant(this );
55: }
56:
57: /*--------------------------------------------------------------------------*/
58: /**
59: * This method is used to free the library at the end of progam execution. This class has no own
60: * library else it shares it in the COI common lib. To free the library, the helper class is
61: * called. After this call, any instance of this class will not be usable any more! <b><i>
62: * <u>Note that this method does NOT return </u> at the first call, but at any other </i> </b>
63: * <br>
64: * <br>
65: * <b>DO NOT CALL THIS METHOD DIRECTLY! </b> <br>
66: * It is used by the librarian to free the native library before physically deleting it from its
67: * temporary loaction. A call to this method will freeze the application irrecoverably!
68: *
69: * @param name the name of the library to free. Use only the name and extension but not the
70: * path.
71: *
72: * @see com.izforge.izpack.util.NativeLibraryClient#freeLibrary
73: */
74: /*--------------------------------------------------------------------------*/
75: public void freeLibrary(String name) {
76:
77: COIOSHelper.getInstance().freeLibrary(name);
78: }
79:
80: }
|