package VCP::UIMachines; =begin hackers DO NOT EDIT!!! GENERATED FROM ui_machines/vcp_ui.tt2 by /usr/local/bin/stml AT Wed May 21 16:40:34 2003 =end hackers =head1 NAME VCP::UIMachines - State machines for user interface =head1 SYNOPSIS Called by VCP::UI =head1 DESCRIPTION The user interface module L is a framework that bolts the implementation of the user interface to a state machine representing the user interface. Each state in this state machine is a method. =head1 METHOD =over =cut use strict; =item init Initialize the machine Next state: source_prompt =cut sub init { return 'source_prompt'; } =item source_prompt: Source SCM type (cvs,p4,vss,...)? Prompt user to select the type of source repository Valid answers: p4 => source_p4_run_p4d_prompt =cut sub source_prompt { my ( $ui ) = @_; my $prompt = 'Source SCM type (cvs,p4,vss,...)?'; my @valid_anwsers = ( [ 'p4', 'p4', 'source_p4_run_p4d_prompt' ], ); my $answer = $ui->ask( <<'END_DESCRIPTION', $prompt, \@valid_anwsers ); return $answer->[-1]; END_DESCRIPTION } =item dest_prompt: Destination SCM type (cvs,p4,vss,...)? Prompt user to select the type of destination repository Valid answers: => run =cut sub dest_prompt { my ( $ui ) = @_; my $prompt = 'Destination SCM type (cvs,p4,vss,...)?'; my @valid_anwsers = ( [ '', '', 'run' ], ); my $answer = $ui->ask( <<'END_DESCRIPTION', $prompt, \@valid_anwsers ); return $answer->[-1]; END_DESCRIPTION } =item run Run VCP with the entered data =cut sub run { return undef; } =item source_p4_run_p4d_prompt: Launch a private p4d in a local directory? If you are working with an offline repository in a local directory, vcp can launch a p4d in that directory on a random hi-numbered TCP port for you. Valid answers: No => source_p4_host_prompt yes => source_p4_p4d_dir_prompt =cut sub source_p4_run_p4d_prompt { my ( $ui ) = @_; my $prompt = 'Launch a private p4d in a local directory?'; my @valid_anwsers = ( [ 'No', 'No', 'source_p4_host_prompt' ], [ 'yes', 'yes', 'source_p4_p4d_dir_prompt' ], ); my $answer = $ui->ask( <<'END_DESCRIPTION', $prompt, \@valid_anwsers ); return $answer->[-1]; END_DESCRIPTION } =item source_p4_p4d_dir_prompt: Directory to run p4d in? Enter the directory to launch the p4d in. VCP will test to see if this is a valid directory when you hit Enter. Valid answers: => dest_prompt =cut sub source_p4_p4d_dir_prompt { my ( $ui ) = @_; my $prompt = 'Directory to run p4d in?'; my @valid_anwsers = ( [ '', '', 'dest_prompt' ], ); my $answer = $ui->ask( <<'END_DESCRIPTION', $prompt, \@valid_anwsers ); return $answer->[-1]; END_DESCRIPTION } =item source_p4_host_prompt: source_p4_host_prompt Valid answers: => dest_prompt =cut sub source_p4_host_prompt { my ( $ui ) = @_; my $prompt = 'source_p4_host_prompt'; my @valid_anwsers = ( [ '', '', 'dest_prompt' ], ); my $answer = $ui->ask( <<'END_DESCRIPTION', $prompt, \@valid_anwsers ); return $answer->[-1]; END_DESCRIPTION } =back =head1 WARNING: AUTOGENERATED This module is autogenerated in the pre-distribution build process, so to change it, you need the master repository files in ui_machines/..., not a CPAN/PPM/tarball/.zip/etc. distribution. =head1 COPYRIGHT Copyright 2003, Perforce Software, Inc. All Rights Reserved. This module and the VCP package are licensed according to the terms given in the file LICENSE accompanying this distribution, a copy of which is included in L. =head1 AUTHOR Barrie Slaymaker =cut 1;