Creating Your Own Provider Module
In general, to create your own provider module, you must implement the following set of interfaces.
- $module::SimpleUsage()
- Purpose
- Displays simple module usage information to STDOUT.
- Parameters
- None
- Return Value
- None
- $module::VerboseUsage()
- Purpose
- Displays in-depth module usage information to STDOUT.
- Parameters
- None
- Return Value
- None
- $objref = $module::new(@CommandArguments)
- Purpose
- Initializes an instance of the provider module.
- Parameters
- @CommandArguments
- All @ARGV arguments that are not recognized by ssindex.cmd as being general arguments.
- Return Value
- A reference that can be used in later operations.
- $objref->GatherFileInformation($SourcePath, $ServerHashReference)
- Purpose
- Enables the module to gather the required source-indexing information for the directory specified by the $SourcePath parameter. The module should not assume that this entry is called only once for each object instancebecause SSIndex may call it multiple times for different paths.
- Parameters
- $SourcePath
- The local directory containing the source to be indexed.
- $ServerHashReference
- A reference to a hash containing all of the entries from the specified Srcsrv.ini file.
- Return Value
- None
- ($VariableHashReference, $FileEntry) = $objref->GetFileInfo($LocalFile)
- Purpose
- Provides the necessary information to extract a single, specific file from the source control system.
- Parameters
- $LocalFile
- A fully qualified file name.
- Return Values
- $VariableHashReference
- A hash reference of the variables necessary to interpret the returned $FileEntry. Ssindex.cmd caches these variables for every source file used by a single debug file to reduce the amount of information written to the source index stream.
- $FileEntry
- The file entry to be written to the source index stream to allow SrcSrv to extract this file from source control. The exact format of this line is specific to the source control system.
- $TextString = $objref->LongName()
- Purpose
- Provides a descriptive string to identify the source control system to the end user.
- Parameters
- None
- Return Value
- $TextString
- The descriptive name of the source control system.
- @StreamVariableLines=$objref->SourceStreamVariables()
- Purpose
- Enables the source control system to add source-control-specific variables to the source stream for each debug file. The sample modules use this method for writing the required EXTRACT_CMD and EXTRACT_TARGET variables.
- Parameters
- None
- Return Value
- @StreamVariableLines
- The list of entries for the source stream variables.
Build machine: CAPEBUILD