VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
JrmLmInterface.h File Reference

More...

Go to the source code of this file.

Functions

JrmLmError JrmLmCheckLicense (JrmLmProduct product, const JrmLmProducts *dependencies, const char *releaseTime, const int reuseExistingLicense, JrmLmLicenseData *const dataOut)
 Checks for the existance of a license for the product specified in the input parameters.
int EncryptDecryptCharacter (char *c, int encrypt)

Detailed Description

  1. All rights reserved.
Attention
This code is the intellectual property of JRM Enterprises, Inc. It may not be used or released as source or compiled binary form without the prior written consent of JRM Enterprises, Inc.
Author
Lou Barbieri
Date
2013-11-07

This module provides a C-compatible interface to our licensing back-end (CodeMeter / WibuKey). Use it to check for licenses or encrypt data / files.

Warning
THIS FILE MUST NEVER BE DISTRIBUTED.

Function Documentation

JrmLmError JrmLmCheckLicense ( JrmLmProduct  product,
const JrmLmProducts dependencies,
const char *  releaseTime,
const int  reuseExistingLicense,
JrmLmLicenseData *const  dataOut 
)

Checks for the existance of a license for the product specified in the input parameters.

    Each licensing backend for which the specified product is defined is searched until a license is found, in this order:  CodeMeter, WibuKey.
Parameters
[in]productThe product for which to look for a license.
[in]dependencies(optional) Other products upon which the main product depends. If a license is found for the specified product, then these products are also considered licensed within the currently-running process. This allows a product to use other products without providing explicit licenses for its dependencies that would allow any linking process to use them. For example, Osv requires MatLib, SigSim3a, and SenSim, but we do not want to provide licenses for all of these as that would effectivily be giving away the SDK for free. Specify as NULL to indicate no dependencies.
[in]releaseTime(optional) Software release time. For licenses that specify a maintenance period, this time must fall within that period for the software to run. Always specify this as NULL except when testing or to back-date a release for some reason. When specified as NULL, this defaults to the compilation time of JrmLicenseManager/core/LicenseManager.cpp. Format is equivalent to that of the string (DATE " " TIME), which is ANSI-defined.
[in]reuseExistingLicenseFlag indicating if a license for product found by a previous check may be used to satisfy the current check. When non-zero, if a license has already been found then no backend check is done and success is returned immediately. Otherwise, a backend check is always done, which consumes an additional available license. This will usually be specified as non-zero. An example of an appropriate time to specifiy as zero would be to implement a "license per channel" licensing policy, e.g. from SenSim's constructor.
[out]dataOut(optional) If specified as non-NULL, then this is populated with data either describing the acquired license or the errors encountered. Upon success, output includes a human-readable string describing the license policies in effect. Upon failure, output includes an error message (which may or may not be helpful to the end user).
Returns
JrmLmError_None iff successful.
int EncryptDecryptCharacter ( char *  c,
int  encrypt 
)
Deprecated:
Had to bring over from old JRMRegister module. Do NOT use for new development.


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)