Coding a Standard License Authorization/Request

Declare Variables/Constants

#define FEATURE_NAME           "Feature1"
#define CONTACT_SERVER         "no-net"

sntl_licensing_attr_t *pAttrAppContext = NULL;
sntl_licensing_app_context_t *pAppContext = NULL;
sntl_licensing_login_session_t *pLoginSession = NULL;

API Calls

To request a license, execute the APIs in the specified sequential order only:

sntl_licensing_attr_set_appcontext_contact_server (pAttrAppContext, CONTACT_SERVER);
sntl_licensing_app_context_new(0, pAttrAppContext, &pAppContext);
sntl_licensing_login(pAppContext, FEATURE_NAME, &pLoginSession);

NOTE   If instead the LSFORCEHOST or LSHOST environment variables are set, then the above-mentioned steps are not required.


>In the use case described above, a license is being requested in standalone licensing environment. For network licensing scenario, you need to change the CONTACT_SERVER constant to the IP address or hostname of the system hosting the Sentinel RMS License Manager. For example,

#define CONTACT_SERVER         ""

>If the License Manager is running on the same system as the client application.

#define CONTACT_SERVER         "localhost"

>In the case you want to include additional parameters (like feature version or vendor usage data) at the time of a license request, then you may use sntl_licensing_login_attr along with sntl_licensing_attr_set API function (or a related macros as described below):

>To associate a feature version, use the macro sntl_licensing_attr_set_feature_version prior to the sntl_licensing_login_attr call.

>To associate vendor usage data, use the macro sntl_licensing_attr_set_login_vendor_usage_data prior to the sntl_licensing_login_attr call.

>Refer to the C sample of the Unified API (installed in the Sentinel RMS SDK) for a specific API function, its parameters, and usage.