66 lines
2.1 KiB
Haxe
66 lines
2.1 KiB
Haxe
package lib;
|
|
|
|
import bin.srsc.PackageTypes.UnregisterRequest;
|
|
import kernel.log.Log;
|
|
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 {
|
|
private static final SITE_CONTROLLER:NetworkID = 0; // Temporary TODO: Change to real ID
|
|
|
|
public static function get(name: String, controllerID: NetworkID = -1): Promise<Null<NetworkID>> {
|
|
if (controllerID == -1) controllerID = SITE_CONTROLLER;
|
|
|
|
var payload: GetRequest = {name: name, type: "get"};
|
|
|
|
return Net.instance.sendAndAwait(
|
|
SITE_CONTROLLER,
|
|
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<Bool> {
|
|
if (controllerID == -1) controllerID = SITE_CONTROLLER;
|
|
|
|
var payload: RegisterRequest = {name: name, netID: netID, type: "register"};
|
|
|
|
return Net.instance.sendAndAwait(
|
|
SITE_CONTROLLER,
|
|
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<Noise> {
|
|
if (controllerID == -1) controllerID = SITE_CONTROLLER;
|
|
|
|
var payload: UnregisterRequest = {name: name, type: "unregister"};
|
|
|
|
return Net.instance.sendAndAwait(
|
|
SITE_CONTROLLER,
|
|
SiteRessourceController.SITE_CONTROLLER_RESSOURCE_MANAGER_PROTO,
|
|
payload
|
|
);
|
|
}
|
|
} |