summaryrefslogtreecommitdiffstats
path: root/utils/license.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/license.go')
-rw-r--r--utils/license.go19
1 files changed, 17 insertions, 2 deletions
diff --git a/utils/license.go b/utils/license.go
index 54bad45b5..fa731c6b5 100644
--- a/utils/license.go
+++ b/utils/license.go
@@ -75,7 +75,24 @@ func LoadLicense(licenseBytes []byte) {
l4g.Warn(T("utils.license.load_license.invalid.warn"))
}
+var licenseListeners = map[string]func(){}
+
+func AddLicenseListener(listener func()) string {
+ id := model.NewId()
+ licenseListeners[id] = listener
+ return id
+}
+
+func RemoveLicenseListener(id string) {
+ delete(licenseListeners, id)
+}
+
func SetLicense(license *model.License) bool {
+ defer func() {
+ for _, listener := range licenseListeners {
+ listener()
+ }
+ }()
if license == nil {
SetIsLicensed(false)
@@ -95,7 +112,6 @@ func SetLicense(license *model.License) bool {
licenseValue.Store(license)
SetIsLicensed(true)
clientLicenseValue.Store(getClientLicense(license))
- ClientCfg = getClientConfig(Cfg)
return true
}
@@ -105,7 +121,6 @@ func SetLicense(license *model.License) bool {
func RemoveLicense() {
SetLicense(nil)
- ClientCfg = getClientConfig(Cfg)
}
func ValidateLicense(signed []byte) (bool, string) {