home *** CD-ROM | disk | FTP | other *** search
- #
- # Uninstall.pm
- #
- # Author: Michael Smith (mikes@ActiveState.com)
- #
- # Copyright ⌐ 1998 ActiveState Tool Corp., all rights reserved.
- #
- ###########################################################
- package Uninstall;
- use Data::Dumper;
- use strict;
-
- #
- # Uninstall configuration
- #
- ###########################################################
- my $data_file = 'p_uninst.dat';
- my $data_path = '';
- my $app_name = '';
-
- #
- # Things we need to track
- #
- ###########################################################
-
- # InstallShiel uninstall data file
- my $is_uninstall_string;
-
- # Directories added to the PATH environment variable
- my @path_info;
-
- # IIS4 configuration information
- my @iis_virt_dir;
- my %iis_script_map;
-
- # Netscape configuration information
- my $ns_config_dir;
-
- my %lines_in_file;
-
- # Additional files and directories
- my @directory;
- my @file;
-
- #
- # Function defininitions
- #
- ###########################################################
-
- # Set_DataPath
- sub Set_DataPath {
- $data_path = $_[0];
- }
-
- # Set_AppName
- sub Set_AppName {
- $app_name = $_[0];
- }
-
- # Get_DataFile
- sub Get_DataFile {
- return "$data_path/$data_file";
- }
-
- # Set_IS_UninstallString
- sub Set_IS_UninstallString {
- $is_uninstall_string = $_[0];
- }
-
- # Add_PathInfo
- sub Add_PathInfo {
- push(@path_info, $_[0]);
- }
-
- # Add_IIS_VirtDir
- sub Add_IIS_VirtDir {
- push(@iis_virt_dir, $_[0]);
- }
-
- # Add_IIS_ScriptMap
- sub Add_IIS_ScriptMap {
- my $virt_dir = $_[0];
- my $file_ext = $_[1];
- $virt_dir = '.' if $virt_dir eq '';
- push(@{$iis_script_map{$virt_dir}}, $file_ext);
- }
-
- # Set_NS_ConfigDir
- sub Set_NS_ConfigDir {
- $ns_config_dir = $_[0];
- }
-
- # Add_Line
- sub Add_Line {
- my ($file, $line) = @_;
- $file = lc($file);
- push(@{$lines_in_file{$file}}, $line);
- }
-
- # Add_File
- sub Add_File {
- push(@file, $_[0]);
- }
-
- # Add_Directory
- sub Add_Directory {
- push(@directory, $_[0]);
- }
-
- # Write_Data
- sub Write_Data {
- my $data = Data::Dumper->Dump(
- [
- $app_name,
- $is_uninstall_string,
- \@path_info,
- \@iis_virt_dir,
- \%iis_script_map,
- $ns_config_dir,
- \%lines_in_file,
- \@directory,
- \@file
- ],
-
- [qw(
- app_name
- is_uninstall_string
- path_info
- iis_virt_dir
- iis_script_map
- ns_config_dir
- lines_in_file
- directory
- file
- )]
- );
-
- open(DATA, ">$data_path/$data_file");
- print DATA $data;
- close(DATA);
- }
-
- 1;
- __END__
-
-