Interface IDesignerLicenseSystem

All Superinterfaces:
IBasicUserInfoDetailNames, IGenericLicenseSystem

public interface IDesignerLicenseSystem extends IGenericLicenseSystem
The license system interface.
Author:
Christopher Mindus
  • Method Details

    • getAppDeveloperID

      String getAppDeveloperID()
      Gets the Developer ID to use for app licensing.
      Returns:
      The Developer Group ID or the Developer ID, whichever comes first as non-null.
    • getDeveloperGroupID

      String getDeveloperGroupID()
      Gets the developer group ID. A group can be a Company, or other, rather than the developer ID.
      Returns:
      The developer group ID, null if not yet registered, empty string for individual developer.
    • getDeveloperID

      String getDeveloperID()
      Gets the developer ID.
      Returns:
      The developer ID, null if not yet registered.
    • getLicenseDocument

      LicenseDocument getLicenseDocument()
      Gets the current licence document: the verified document iiziGo holds (LICENSE-V2-DESIGN.md sections 2.2 and 2.5). An installation without one was never activated, whatever IGenericLicenseSystem.validate() answers from the version 1 data.
      Returns:
      The document, or null when iiziGo holds none or the stored one is refused.
    • isLicenseServerVerifiable

      boolean isLicenseServerVerifiable()
      Tells whether this build can verify a licence server at all: whether its verifier has a root key (section 2.4). While it has none every licence server fails its proof (5.1), so the installation can neither be registered nor its document refreshed - a state of its own for the gate, which is not "revoked" and not "unreachable".
      Returns:
      true when a root key is known, false when none is or the licence system is not initialized.
    • releaseInstallation

      String releaseInstallation(GenericCallback<Void,String> callback)
      Releases this installation at the licence server: the owner gives it up (LICENSE-V2-DESIGN.md section 7.3, DEACTIVATE, event 23), so that it no longer counts against the installations of its account and iiziGo can be registered on another machine. The licence server answers with the last document of the installation, whose state is deactivated; it is stored, IGenericLicenseSystem.validate() answers ValidateReply.DEACTIVATED from then on, and the gate locks iiziGo at its next start. Nothing is shut down here.

      The event is sent on the proven connection only: open one with IGenericLicenseSystem.preOpen() and wait for IGenericLicenseSystem.isConnected(). The release cannot be undone from this installation.

      Parameters:
      callback - The callback for the result, invoked on a thread of the licence system. The String in the callback argument is null when the installation is released and its last document is stored, otherwise the error message.
      Returns:
      null when the request was sent: the callback is then invoked once, also when the connection closes before the answer. Otherwise the error message - no document to release, an installation that is deactivated or revoked already, a release under way, no connection - and the callback is not invoked.
      Throws:
      NullPointerException - If the callback is null.
    • addDeveloperAppPropCnrData

      void addDeveloperAppPropCnrData(PropCnr appPropCnr) throws IOException
      Adds the required information in the AppPropCnr property container for the application.
      Parameters:
      appPropCnr - The application property container.
      Throws:
      IOException - For failures in the AppPropCnr structure.