To integrate the licensing into the Add-ons, SloopTools provides libraries in different languages (C ++, C# and CONTROL-WinCC OA) for integration. Details about the bibliotecs can be found under Code Snippets and Best Practices.
The CtrlExtension, for using the licensing in CONTROL-WinCC OA, is included in the installation layer, which is available in the store.
The C++ or C# libraries must be requested via firstname.lastname@example.org.
Note for C++: In order to be able to compile successfully, the following libraries must be integrated in addition to the SLTLicence library:
If "YOUR_ITEM_NUMBER_OR_PRODUCT_CODE" is required, this can be determined as follows:
The Item Number can be found in the backend of the respective Add-on in the General Tab. The Product Code can be formed from the Item Number. For this, the leading zeros and the hyphen must be omitted. (Example: 00024-00041 -> 2400041)
If "YOUR_ADDON_INTERNAL_VERSION" is required, it can be determined as follows:
If a new version is created in the backend you can choose between Major, Minor and Patch. Depending on the selection, this results in the next internal version. This is then displayed in the backend under Versions -> "probably next internal version" or after a successful save in the left table. This version must match the version hard-coded in the code. This also means that every time a new version is created, this version has to be updated in the code. In CONTROL this happens automatically.
It is also possible to occupy a license. Thus, e.g. when using singlesite licenses to prevent another project from accessing the license at the same time.
If extras (features) can be purchased, it is additionally necessary to check the feature list supplied with the license "sltGetFeatureMap".
For this type of licenses, the same procedure applies as for one-time payment licenses. However, the license check includes the due date. As soon as the current date does not fall into the due date of the license, the license is invalid.
With the method / Funtkion "sltGetExpirationTime" the seconds can be queried until the license expires.
Features can be checked with One-Time Payment via the Feature Map.
If the Add-on is to be sold as a pay-per-use, it is important to reduce the unit counter integrated in the license for certain actions.
If it is eg. Clicks, Usage or similar trading should be used sltDecreaseUnitCounter ". If the purchased usage unit is used up, the entire license becomes invalid. These must be bought or renewed again.
If it is eg. registered UIs, hardware connections or similar, should be used sltDecreaseUnitCounterChecked ". The usage unit can not fall below 1 and the license therefore remains valid.
With "sltGetUnitCounter" you can check if there are more units available.
Otherwise, the basic procedures of one-time payment apply.