Coding a Commuter License

Declare Variables/Constants

#define FEATURE_NAME           "FeatureCommuter"
#define CONTACT_SERVER         "localhost"

sntl_licensing_attr_t *pAttrAppContext = NULL;
sntl_licensing_app_context_t *pAppContext = NULL;
static const char *pcScopeRecipientInfo = "<?xmlversion=\"1.0\"encoding=\"UTF-8\"?>"
                                              "<sentinelScope>"  
                                                   "<lockSelector>0x4</lockSelector>"
                                              "</sentinelScope>";
char*  pcRecipientInfo = NULL;
char*  pcAction ="<commute>"
                 "<featureName>"FEATURE_NAME"</featureName>"
                 "<featureVersion>"FEATURE_VERSION"</featureVersion>"
                 "<duration>1</duration>" 
                 "</commute>";
char*  pcCommuterLicenseString = NULL;

API Calls

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

sntl_licensing_attr_new(&pAttrAppContext);
sntl_licensing_attr_set_appcontext_contact_server(pAttrAppContext, CONTACT_SERVER);
sntl_licensing_app_context_new(0, pAttrAppContext, &pAppContext);
sntl_licensing_get_info(pAppContext,pcScopeRecipientInfo, SNTL_QUERY_RECIPIENT_INFO_VERSION(v), &pcRecipientInfo);
sntl_licensing_transfer(pAppContext, pcAction, NULL, NULL, pcRecipientInfo, &pcCommuterLicenseString);
sntl_licensing_install(pAppContext,pcCommuterLicenseString,NULL, NULL);

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

Notes

>Once the commuter license is installed successfully using sntl_licensing_install, it can be requested in the similar way as any license is requested in standalone licensing environment (see Coding a Standard License Authorization/Request).

>The SNTL_QUERY_RECIPIENT_INFO_VERSION(v) constant is defined in the licensing.h header file.

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