beautypg.com

Step 6: compiling the licensed fpm application, Implement some mechanism in, Compile your licensed fpm application – Echelon i.LON SmartServer 2.0 User Manual

Page 174

background image

160

Creating FPM Application Licenses

char

msg[100];

sprintf(msg, "FPM license key is invalid: file

\"%s\"\n", taskCallBlock.pFilePath);

taskCallBlock.pGeneric

=

(void*)msg;

LICMGR_TaskCall_LogLicenseError(&taskCallBlock);

}

}else
{
char

msg[100];

sprintf(msg, "FPM license not found: file \"%s\"\n",

taskCallBlock.pFilePath);
taskCallBlock.pGeneric

=

(void*)msg;

LICMGR_TaskCall_LogLicenseError(&taskCallBlock);
}

// free the license data, if any

LICMGR_TaskCall_FreeLicenseData(&taskCallBlock);
}

Step 5: Implementing the License Validation Call Mechanism

After you have written your license validation algorithm, you need to implement some mechanism in
your FPM application that results in the license validation routine being called. This can be done in a
variety of ways using the pre-defined code and routines in your FPM application; however, you are
solely responsible for designing and implementing this mechanism.

Step 6: Compiling the Licensed FPM Application

Once you have created the license validation call mechanism, you can compile your licensed FPM
application. To compile your FPM, click File and then click Save. If your code has any errors, they
will be listed with any warnings in the Problems view at the bottom of the document window. You
can click on the errors and warnings listed in this view to debug your FPM. If the build is not
performed, click Project and then click Build Project. You can then click Project and select Build
Automatically
so that your FPM applications are built automatically when you save them.

Building the Release Version of a Licensed FPM Application

After you enable license validation in your FPM application and compile it, you can build the release
version of your FPM application that you will make available to customers. Building the release
version entails removing the internal-only symbols from your FPM executable module (.app
extension). Stripping the internal-only symbols greatly enhances the security of your licensing
scheme, as it obscures the location of the routines and data in your code.

To remove the internal-only symbols from your FPM executable module, follow these steps:

1. Open a Command Prompt window.

2. At the command prompt, change the directory to the path of your FPM executable module.

For example, you type the following (without the break):

cd C:\LonWorks\iLON\Development\eclipse\workspace.fpm\
9000010000000000[3].UFPTHVACController/Release

3. Use the set path command to set the path to the directory containing the GNU strip utility

(strip.exe). This utility is located in the
C:\LonWorks\iLON\Development\eclipse\plugins\com.echelon
.eclipse.ilon100.fpm_0.9.0\compiler\3.3.2-vxworks-6.2\x86-win32\i586-wrs-vxworks\bin
directory.

For example, you type the following (without the breaks):