Namespaces

Component blpapi_versioninfo
[Package blpapi]

Provide BLPAPI SDK library version information. More...

Namespaces

namespace  blpapi

Detailed Description

Provide BLPAPI SDK library version information.

Outline
Purpose:
Provide BLPAPI SDK library version information.
Classes:
blpapi::VersionInfo basic BLPAPI SDK library version attribute class
Description:
This component provides access the BLPAPI SDK library version information. Each version of the BLPAPI library is identified by four integers: major, minor, patch, and build.
The current major version is 3; there is no guarantee of compatibility between different major versions.
Differences in minor version numbers indicate significant feature additions. Standard distributions of the BLPAPI have minor version numbers below 128, and higher minor numbers are expected to provide APIs that are a superset of the APIs provided by lower minor version numbers; i.e. all functionality and interfaces supported by BLPAPI 3.7 is also provided by BLPAPI 3.8, while the inverse is not typically true. (Bloomberg occasionally distributes library versions with version numbers above 127; consult the release information distributed with these libraries to determine interoperability with other minor versions.)
Increments to patch numbers indicate performance or stability enhancements to the library.
Build numbers typically do not carry any information about the library version's functionality, but can be used along with the other parts of the build number to uniquely identity a precise library binary version (e.g. for the purpose of code signing and auditing).
Usage:
C++ usage:
This example logs the BLPAPI version in order to make the logs analysis more productive:

  blpapi::VersionInfo blpapiVersion;
  // Client log the library version for reference and future debugging
  log("BLPAPI version: %d.%d.%d.%d",
      blpapiVersion.majorVersion(),
      blpapiVersion.minorVersion(),
      blpapiVersion.patchVersion(),
      blpapiVersion.buildVersion());


C usage:
This example logs the BLPAPI version in order to make the logs analysis more productive:

  int majorVersion, minorVersion, patchVersion, buildVersion;
  blpapi_getVersionInfo(&majorVersion, &minorVersion, &patchVersion,
      &buildVersion);
  // Client log the library version for reference and future debugging
  log("BLPAPI version: %d.%d.%d.%d", majorVersion, minorVersion,
      patchVersion, buildVersion);


This example provide shows how to use the backward API signature compatibility macros BLPAPI_SDK_VERSION and BLPAPI_MAKE_VERSION (see blpapi_dispatchtbl.h):

  #if BLPAPI_SDK_VERSION >= BLPAPI_MAKE_VERSION(3, 3, 7)
      // Do version 3.3.7 specific stuff here (e.g. adding functions with old
      // signature to an array so a client code that was compiled with
      // version 3.3.7 will still be able to run using the new version.
      ...
  #elif BLPAPI_SDK_VERSION ...