|
|
@ -225,14 +225,30 @@ void ipc_client_handle_command(struct ipc_client *client) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case IPC_GET_VERSION:
|
|
|
|
case IPC_GET_VERSION:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
#if defined SWAY_GIT_VERSION && defined SWAY_GIT_BRANCH && defined SWAY_VERSION_DATE
|
|
|
|
|
|
|
|
char *full_version = calloc(strlen(SWAY_GIT_VERSION) + strlen(SWAY_GIT_BRANCH) + strlen(SWAY_VERSION_DATE) + 20, 1);
|
|
|
|
|
|
|
|
strcat(full_version, SWAY_GIT_VERSION);
|
|
|
|
|
|
|
|
strcat(full_version, " (");
|
|
|
|
|
|
|
|
strcat(full_version, SWAY_VERSION_DATE);
|
|
|
|
|
|
|
|
strcat(full_version, ", branch \"");
|
|
|
|
|
|
|
|
strcat(full_version, SWAY_GIT_BRANCH);
|
|
|
|
|
|
|
|
strcat(full_version, "\")");
|
|
|
|
json_object *json = json_object_new_object();
|
|
|
|
json_object *json = json_object_new_object();
|
|
|
|
json_object_object_add(json, "human_readable", json_object_new_string(SWAY_GIT_VERSION));
|
|
|
|
json_object_object_add(json, "human_readable", json_object_new_string(full_version));
|
|
|
|
|
|
|
|
// Todo once we actually release a version
|
|
|
|
json_object_object_add(json, "major", json_object_new_int(0));
|
|
|
|
json_object_object_add(json, "major", json_object_new_int(0));
|
|
|
|
json_object_object_add(json, "minor", json_object_new_int(0));
|
|
|
|
json_object_object_add(json, "minor", json_object_new_int(0));
|
|
|
|
json_object_object_add(json, "patch", json_object_new_int(1));
|
|
|
|
json_object_object_add(json, "patch", json_object_new_int(1));
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
json_object_object_add(json, "human_readable", json_object_new_string("version not found"));
|
|
|
|
|
|
|
|
json_object_object_add(json, "major", json_object_new_int(0));
|
|
|
|
|
|
|
|
json_object_object_add(json, "minor", json_object_new_int(0));
|
|
|
|
|
|
|
|
json_object_object_add(json, "patch", json_object_new_int(0));
|
|
|
|
|
|
|
|
#endif
|
|
|
|
const char *json_string = json_object_to_json_string(json);
|
|
|
|
const char *json_string = json_object_to_json_string(json);
|
|
|
|
ipc_send_reply(client, json_string, (uint32_t) strlen(json_string));
|
|
|
|
ipc_send_reply(client, json_string, (uint32_t) strlen(json_string));
|
|
|
|
json_object_put(json); // free
|
|
|
|
json_object_put(json); // free
|
|
|
|
|
|
|
|
free(full_version);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|