public static LicenseManagerSingleton GetOrCreateSingleton(string keyPrefix, string[] candidateCacheFolders) { lock (SingletonLock) { return(_singleton ?? (_singleton = new LicenseManagerSingleton( ImazenPublicKeys.Production, new RealClock(), new PersistentGlobalStringCache(keyPrefix, candidateCacheFolders)))); } }
// Actually needs an issue receiver? (or should *it* track?) And an HttpClient and Cache public LicenseChain(LicenseManagerSingleton parent, string licenseId) { this.parent = parent; Id = licenseId; LocalLicenseChange(); }