Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
P6R::p6ILicense Interface Referenceabstract

#include <p6license.h>

Inherits P6R::p6ICom.

Public Member Functions

virtual P6INT32 addref (void)=0
 
virtual P6R::P6ERR createLicenseFile (const P6WCHAR *pFilePath)=0
 
virtual P6R::P6ERR enumLicense (p6IEnumLicense **ppEnum)=0
 
virtual P6R::P6ERR enumLicenseValueList (const P6R::P6WCHAR *pszKeyName, p6IEnumLicenseValueList **ppEnum)=0
 
virtual P6R::P6ERR getPropInt (const P6WCHAR *pPropName, P6INT32 *pValue)=0
 
virtual P6R::P6ERR getPropString (const P6WCHAR *pPropName, P6WCHAR *pBuffer, P6UINT32 cBuffer, P6UINT32 *pWritten)=0
 
virtual P6R::P6ERR initialize (P6LICENSEFLAGS flags, P6LICENSE_OPERATION mode)=0
 
virtual P6R::P6ERR queryInterface (const P6R::P6IID &iid, P6VOID **ppIface)=0
 
virtual P6INT32 release (void)=0
 
virtual P6R::P6ERR setKeys (p6ICryptoKey *pPublicKey, p6ICryptoKey *pPrivateKey, P6SIGNHMAC algorithm)=0
 
virtual P6R::P6ERR setMode (P6LICENSE_OPERATION mode)=0
 
virtual P6R::P6ERR setPropInt (const P6WCHAR *pPropName, P6INT32 value)=0
 
virtual P6R::P6ERR setPropString (const P6WCHAR *pPropName, const P6WCHAR *pValue)=0
 
virtual P6R::P6ERR setPropStringList (const P6WCHAR *pPropName, const P6WCHAR *pValue)=0
 
virtual P6R::P6ERR verifyLicenseFile (const P6WCHAR *pFilePath)=0
 

Detailed Description

This interface supports the generation and verification of p6I18n licenses.

This interface supports a structured licenses format consisting of many name - value pairs. The license file is signed using a private key and verified using a public key.

A p6License object can only be used for either creating new licenses or verifying existing licenses at any one time. However, a single license object can be re-initialized any number of times changing the keys used and changing the LICENSE_OPERATION. So it is possible to use the same license object to first create a license and second by re-initializing the object to be in "LICENSE_VERIFY mode" then immediately verify the same license.

Note, that once a license file is generated it cannot be modified and re-signed. To change a p6License means creating a new license file with a different set of properties. Properties can only be set in a license via a call to one of the setPropxxx functions.

Also note, that LICENSE_VERIFY means that the license in question is read only. If the license is determined to be valid, then and only then, can the contents of the license be obtained via a call to one of the getPropXXX functions or via a call to enumLicense.

Definition at line 184 of file p6license.h.


The documentation for this interface was generated from the following file: