void CLIENT_STATE::do_cmdline_actions() { unsigned int i; if (show_projects) { printf("projects:\n"); for (i=0; i<projects.size(); i++) { msg_printf(NULL, MSG_INFO, "URL: %s name: %s\n", projects[i]->master_url, projects[i]->project_name ); } exit(0); } if (strlen(detach_project_url)) { canonicalize_master_url(detach_project_url); PROJECT* project = lookup_project(detach_project_url); if (project) { // do this before detaching - it frees the project // msg_printf(project, MSG_INFO, "detaching from %s\n", detach_project_url); detach_project(project); } else { msg_printf(NULL, MSG_INFO, "project %s not found\n", detach_project_url); } exit(0); } if (strlen(reset_project_url)) { canonicalize_master_url(reset_project_url); PROJECT* project = lookup_project(reset_project_url); if (project) { reset_project(project, false); msg_printf(project, MSG_INFO, "Project %s has been reset", reset_project_url); } else { msg_printf(NULL, MSG_INFO, "project %s not found\n", reset_project_url); } exit(0); } if (strlen(update_prefs_url)) { canonicalize_master_url(update_prefs_url); PROJECT* project = lookup_project(update_prefs_url); if (project) { project->sched_rpc_pending = RPC_REASON_USER_REQ; } else { msg_printf(NULL, MSG_INFO, "project %s not found\n", update_prefs_url); } } if (strlen(attach_project_url)) { canonicalize_master_url(attach_project_url); add_project(attach_project_url, attach_project_auth, "", false); } }
static xmlDocPtr create_xml_document_from_project (GPInstructProject *project) { xmlNodePtr current_node = add_project (project); if (!current_node) return NULL; xmlDocPtr doc = xmlNewDoc (BAD_CAST "1.0"); xmlDocSetRootElement (doc, current_node); return doc; }