001/*
002 * IzPack - Copyright 2001-2005 Julien Ponge, All Rights Reserved.
003 * 
004 * http://www.izforge.com/izpack/
005 * http://developer.berlios.de/projects/izpack/
006 * 
007 * Copyright 2004 Klaus Bartz
008 * 
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *     http://www.apache.org/licenses/LICENSE-2.0
014 *     
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 */
021
022package com.izforge.izpack.event;
023
024import com.izforge.izpack.LocaleDatabase;
025import com.izforge.izpack.util.os.WrappedNativeLibException;
026
027/**
028 * This class implements some methods which are needed by installer custom actions with native
029 * parts.
030 * 
031 * @author Klaus Bartz
032 * 
033 */
034public class NativeUninstallerListener extends SimpleUninstallerListener
035{
036
037    /** The packs locale database. */
038    protected static LocaleDatabase langpack = null;
039
040    /**
041     * Default constructor.
042     */
043    public NativeUninstallerListener()
044    {
045        super();
046        // Create langpack for error messages.
047        if (langpack == null)
048        {
049            // Load langpack. Do not stop uninstall if not found.
050            try
051            {
052                NativeUninstallerListener.langpack = new LocaleDatabase(
053                        NativeUninstallerListener.class.getResourceAsStream("/langpack.xml"));
054                WrappedNativeLibException.setLangpack(NativeUninstallerListener.langpack);
055            }
056            catch (Throwable exception)
057            {}
058        }
059    }
060
061    /**
062     * Returns the langpack.
063     * 
064     * @return Returns the langpack.
065     */
066    public static LocaleDatabase getLangpack()
067    {
068        return langpack;
069    }
070}