Provides objects for interacting with processes. All of our interaction with perforce happens through the command line client: p4.

This package provides methods for simplifying the interaction with system calls. Additionally, it abstracts this interaction so that other methods could be used. For example, the perforce native DLL for windows.

@{link ExecutorFactory} provides an interface for an object that is responsible for holding on to the system environment passed to the child process. It has a method to obtain a new child process wrapper.

@{link Executor} provides an interface that represents the basic functionality needed for working with a child process. This boils down to 4 methods:

Currently there is an executor implementation for command line interaction. If the native libraries for p4 where used, we would need a dll implementation.