Skip to main content
Version: 0.6

License Management Guide

Scope​

This document describes how to generate fingerprints, install and replace licenses, and diagnose common licensing issues for the Vantor Raptor Guide SDK and the Raptor Guide Server.

Concepts​

  • License file
    A file distributed by Vantor that grants the right to use the SDK or server on a specific machine or set of machines. Depending on the license, different features may be enabled.
  • Fingerprint
    A device identifier generated on the target machine and sent to Vantor when requesting a license. It is represented as an opaque string; its internal structure is private and may change between versions. Treat it only as a token.

Generating a fingerprint​

C++ Raptor Guide SDK​

To generate a fingerprint directly from the SDK, call:

  • raptor::Guide::generateFingerprint()

Notes:

  • Returns std::optional<std::string>.
  • On success, the string identifies the current machine for licensing purposes.
    • The value is opaque; do not parse, modify, or validate it yourself.
    • If the SDK cannot determine a valid machine identifier on this platform, the function returns std::nullopt.

Recommended workflow

  1. Build a small provisioning tool that calls raptor::Guide::generateFingerprint().
  2. Run it on the target system and capture the returned string.
  3. Provide that string to Vantor when requesting a license.
  4. Store the license file you receive at a stable location on the target system.

Raptor Guide Server​

When using the Guide Server, the server can expose the fingerprint through its status API:

  • The GetStatusResponse message includes a fingerprint_b64 field that, when present, contains the server's fingerprint.
  • Use this value in the same way as the C++ SDK fingerprint when requesting a license for the server.

Installing a license​

C++ Raptor Guide applications​

  1. Choose a location for the license file
  • Use a stable, readable path.
  1. Configure the license path
  • In C++:
    • Set config.licensePath in raptor::guide::Config before constructing raptor::Guide.
  • From JSON:
    • Set the licensePath field in the configuration JSON that you parse with parseConfigFromJson().
  1. Handling license issues
  • If the license file is missing, invalid, expired, or not intended for Raptor Guide, license-related errors will be reported.
  • See the Troubleshooting section below for common messages and recommended actions.

Raptor Guide Server​

For the Guide Server, the license path is typically configured in the server's JSON configuration:

  • Use the license field in the deployment configuration to point to the license file.
  • The server uses this file to determine its license status, which is exposed via the status API.

Replacing or updating a license​

When you receive a new license file (for example, after renewal or adding features):

  1. Generate a fingerprint for the target machine if required and request a new license.
  2. Copy the new license file to the configured path, replacing the old file or updating the path in your configuration.
  3. Restart the application or service:
    • For C++ applications, destroy any existing raptor::Guide instances and create a new one, or restart the process.
    • For the Guide Server, restart the server process.

Troubleshooting​

Initialization errors​

If you encounter an exception related to licensing, the message typically indicates the cause. Common messages and actions:

  • "License file not found or invalid path"
    • Check that the path in licensePath exists and is readable by the application.
  • "Invalid license"
    • The file is present but not a valid Raptor Guide license. Verify that the correct file was installed.
  • "Expired license"
    • The license has passed its expiration date. Request an updated license.
  • "License ApplicationId does not match Raptor Guide"
    • The license targets a different product. Install a license specifically issued for Raptor Guide.
  • Fingerprint-related messages (for example, fingerprint mismatch or invalid fingerprint data)
    • Ensure that the license was issued for the fingerprint of the current machine.
    • Regenerate the fingerprint on this machine and request a new license if necessary.

Runtime "InvalidLicense" results​

If updatePose() or updatePosition() returns Result::InvalidLicense:

  • There is a problem with the license (for example, expired or missing required features).
  • Check the license expiry and the licensed feature set, and install an updated license if needed.

For detailed integration steps and configuration examples, see: