- fprintf(ofp, " -h, --help Show this help\n");
- fprintf(ofp, " -a, --all Load all sessions (default)\n");
- fprintf(ofp, " -i, --input-path Input path of the session configuration(s)\n");
- fprintf(ofp, " -f, --force Override existing session configuration(s)\n");
+ fprintf(ofp, " -h, --help Show this help\n");
+ fprintf(ofp, " -a, --all Load all sessions (default)\n");
+ fprintf(ofp, " -i, --input-path PATH Input path of the session file(s).\n");
+ fprintf(ofp, " If a directory, load all files in it\n");
+ fprintf(ofp, " else try to load the given file.\n");
+ fprintf(ofp, " -f, --force Override existing session(s).\n");
+ fprintf(ofp, " This will destroy existing session(s)\n");
+ fprintf(ofp, " before creating new one(s).\n");
+}
+
+static int mi_partial_session(const char *session_name)
+{
+ int ret;
+ assert(writer);
+ assert(session_name);
+
+ /* Open session element */
+ ret = mi_lttng_writer_open_element(writer, config_element_session);
+ if (ret) {
+ goto end;
+ }
+
+ ret = mi_lttng_writer_write_element_string(writer, config_element_name,
+ session_name);
+ if (ret) {
+ goto end;
+ }
+
+ /* Closing session element */
+ ret = mi_lttng_writer_close_element(writer);
+end:
+ return ret;
+}
+
+/*
+ * Mi print of load command
+ */
+static int mi_load_print(const char *session_name)
+{
+ int ret;
+ assert(writer);
+
+ if (opt_load_all) {
+ /* We use a wildcard to represent all sessions */
+ session_name = "*";
+ }
+
+ /* Print load element */
+ ret = mi_lttng_writer_open_element(writer, mi_lttng_element_load);
+ if (ret) {
+ goto end;
+ }
+
+ /* Print session element */
+ ret = mi_partial_session(session_name);
+ if (ret) {
+ goto end;
+ }
+
+ /* Path element */
+ if (opt_input_path) {
+ ret = mi_lttng_writer_write_element_string(writer, config_element_path,
+ opt_input_path);
+ if (ret) {
+ goto end;
+ }
+ }
+
+ /* Close load element */
+ ret = mi_lttng_writer_close_element(writer);
+
+end:
+ return ret;