package lib; import bin.srsc.PackageTypes.ListRequest; import kernel.KernelSettings; import bin.srsc.PackageTypes.UnregisterRequest; import bin.srsc.PackageTypes.RegisterRequest; import bin.srsc.PackageTypes.GetRequest; import bin.srsc.SiteRessourceController; import kernel.net.Net; import kernel.net.Package.NetworkID; using tink.CoreApi; class RessourceNames { public static function get(name: String, controllerID: NetworkID = -1): Promise> { if (controllerID == -1) controllerID = KernelSettings.siteController; var payload: GetRequest = {name: name, type: "get"}; return Net.instance.sendAndAwait( controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload ).map((res)->{ switch (res){ case Success(pkg): return Success(pkg.data.netID); case Failure(error): return Failure(error); } }); } public static function register(name: String, netID: NetworkID, controllerID: NetworkID = -1): Promise { if (controllerID == -1) controllerID = KernelSettings.siteController; var payload: RegisterRequest = {name: name, netID: netID, type: "register"}; return Net.instance.sendAndAwait( controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload ).map((res)->{ switch (res){ case Success(pkg): return Success(pkg.data.success); case Failure(error): return Failure(error); } }); } public static function unregister(name: String, controllerID: NetworkID = -1): Promise { if (controllerID == -1) controllerID = KernelSettings.siteController; var payload: UnregisterRequest = {name: name, type: "unregister"}; return Net.instance.sendAndAwait( controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload ); } public static function list(controllerID: NetworkID = -1): Promise> { if (controllerID == -1) controllerID = KernelSettings.siteController; var payload: ListRequest = {type: "list"}; return Net.instance.sendAndAwait( controllerID, SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO, payload ).map(res->{ switch (res){ case Success(pkg): return Success(pkg.data); case Failure(error): return Failure(error); } }); } }