Overview
This section provides information on release compatibility, purpose, and architecture of the API.
Release compatibility of the API
The Helix C/C++ API is subject to change from release to release, and is not guaranteed to be source-code compatible from one release to the next. However, applications that you create using the API can run against previous releases of Helix Server and will probably run against later releases of Helix Server.
Support for specific features depends on the version of Helix Server and the API that you use.
Purpose of the API
The Helix C/C++ API enables you to create applications that interact with end users, send commands to the Helix Server and process data returned from the versioning service. The API is a programmatic interface, and does not send commands directly to the server.
Architecture of the API
The basic client session is managed by a C++ class called
ClientApi
. All user interaction is channeled through the
ClientUser
C++ class. The default methods of
ClientUser
implement the p4
command line
interface. To create custom client applications, create subclasses based
on ClientUser
.
API files
The
Helix C/C++ API
consists of header files, link libraries, and the reference
implementation of the ClientUser
class. Only the libraries
are platform-specific.
The API is packaged as an archive or zip file. The source code for the libraries is proprietary and is not included. To download the API, go to the Perforce FTP site and download the file for your platform. For example, to obtain the OS X version using a Web browser, use the following URL:
ftp://ftp.perforce.com/perforce/r15.1/bin.macosx105x86_64/
and download p4api.tgz
.
(Specific API files can vary from release to release, and so are not individually described here.)