cli model command (create)

This commit is contained in:
Adrien Bourmault 2021-06-23 21:44:51 +02:00
parent cca06c9ec6
commit e6ac4a3e91
No known key found for this signature in database
GPG Key ID: 6EB408FE0ACEC664
1 changed files with 76 additions and 10 deletions

View File

@ -36,28 +36,96 @@ char *CmdHelp(char **argv, Server_t *args)
char *CmdModel(char **argv, Server_t *args) char *CmdModel(char **argv, Server_t *args)
{ {
char *buf; char *buf;
char temp[255];
int tempsize;
Model_t *newModel;
buf = (char *) calloc(LINE_NUMBER, LINE_LENGTH * sizeof(char)); buf = (char *) calloc(LINE_NUMBER, LINE_LENGTH * sizeof(char));
// invalid use
if (!argv[1]) { if (!argv[1]) {
strcat(buf, "{create | delete | load | run}\n"); strcat(buf, "{create | delete | load | run | list | info}\n");
goto CmdModelEnd; goto CmdModelEnd;
} }
if (strcmp(argv[1], "create") == 0) { if (strcmp(argv[1], "create") == 0) {
strcat(buf, "You asked for us to create a model\n");
if (!argv[2] || !argv[3]) {
goto createEnd;
} }
if (strcmp(argv[1], "delete") == 0) { if (strncmp(argv[2], "name=", 5) == 0) {
strcat(buf, "You asked for us to delete a model\n"); // TODO get the model name
if (strncmp(argv[3], "file=", 5) == 0) {
// TODO get the file content (sent by the client) from args
// Creating model
ModelCreate(&newModel);
// TODO modify model according to things in file
strcat(buf, "Model created with id");
tempsize = sprintf(temp, " %d\n", newModel->id);
strcat(buf, temp);
goto CmdModelEnd;
} else {
goto createEnd;
}
} else {
goto createEnd;
} }
if (strcmp(argv[1], "load") == 0) { createEnd:
strcat(buf, "You asked for us to load a model\n"); // invalid use
strcat(buf, "Creates a model structure\n");
strcat(buf, "Usage: model create name=NAME file=FILENAME\n");
goto CmdModelEnd;
} }
if (strcmp(argv[1], "run") == 0) { else if (strcmp(argv[1], "delete") == 0) {
strcat(buf, "You asked for us to run a model\n"); if (!argv[2]) {
goto deleteEnd;
} }
// TODO delete model
deleteEnd:
// invalid use
strcat(buf, "Deletes a model structure\n");
strcat(buf, "Usage: model delete id=ID\n");
goto CmdModelEnd;
}
else if (strcmp(argv[1], "run") == 0) {
if (!argv[2]) {
goto runEnd;
}
// TODO run model
runEnd:
// invalid use
strcat(buf, "Run a model simulation\n");
strcat(buf, "Usage: model run id=ID\n");
goto CmdModelEnd;
}
else if (strcmp(argv[1], "list") == 0) {
strcat(buf, "You asked for us to list models\n");
}
else if (strcmp(argv[1], "info") == 0) {
if (!argv[2]) {
goto infoEnd;
}
// TODO info model
infoEnd:
// invalid use
strcat(buf, "Print info about a model\n");
strcat(buf, "Usage: model info id=ID\n");
goto CmdModelEnd;
}
// invalid use
else strcat(buf, "{create | delete | load | run | list | info}\n");
CmdModelEnd: CmdModelEnd:
return buf; return buf;
@ -74,7 +142,5 @@ char *CmdShutdown(char **argv, Server_t *args)
args->pleaseStop = true; args->pleaseStop = true;
strcat(buf, "Server stopping\n"); strcat(buf, "Server stopping\n");
CmdShutdownEnd:
return buf; return buf;
} }