added SRSC
This commit is contained in:
66
src/lib/RessourceNames.hx
Normal file
66
src/lib/RessourceNames.hx
Normal file
@@ -0,0 +1,66 @@
|
||||
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
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user