VCP::Plugin - A base class for VCP::Source and VCP::Dest
use VCP::Plugin;
@ISA = qw( VCP::Plugin );
...
Some functionality is common to sources and destinations, such as cache access,
help text generation , command-line access shortcut member, etc.
- new
- Creates an instance, see subclasses for options. The options passed are
usually native command-line options for the underlying repository's
client. These are usually parsed and, perhaps, checked for validity by
calling the underlying command line.
- plugin_documentation
-
$text = $p->plugin_documentation;
Returns the text of the DESCRIPTION section of a module's .pm
as contained in VCP::Help. The DESCRIPTION returned is determined by
$self.
This class uses the fields pragma, so you'll need to use base and possibly
fields in any subclasses.
These methods are intended to support subclasses.
- init
- This is called after new() and before processing. No attempt to
connect to or open a repository or database file should be made until
init() is called (ie not in new()).
- usage_and_exit
-
GetOptions( ... ) or $self->usage_and_exit ;
Used by subclasses to die if unknown options are passed
in.
- tmp_dir
- Returns the temporary directory this plugin should use, usually something
like "/tmp/vcp123/dest-p4".
- queue_END_sub
- In order to provide ordered destruction and cleanup at application
shutdown, plugins can queue up code to run before all directories are
deleted.
- mkdir
-
$self->mkdir( $filename ) ;
$self->mkdir( $filename, $mode ) ;
Makes a directory and any necessary parent directories.
The default mode is 770. Does some debug logging if any
directories are created.
Returns nothing.
- mkpdir
-
$self->mkpdir( $filename ) ;
$self->mkpdir( $filename, $mode ) ;
Makes the parent directory of a filename and all directories
down to it.
The default mode is 770. Does some debug logging if any
directories are created.
Returns the path of the parent directory.
Copyright 2000, 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 vcp.
Barrie Slaymaker <barries@slaysys.com>