static void handle_set_proxy_settings(char* buf, MIOFILE& fout) {
    MIOFILE in;
    in.init_buf_read(buf);
    gui_proxy_info.parse(in);
    gstate.set_client_state_dirty("Set proxy settings RPC");
    fout.printf("<success/>\n");
    select_proxy_info();

    // tell running apps to reread app_info file (for F@h)
    //
    gstate.active_tasks.request_reread_app_info();
}
Ejemplo n.º 2
0
int CERT_SIGS::parse_buffer_embed(char* buf) {
    MIOFILE mf;
    char tag[4096];
    int is_tag;
    int s_found = false;

    mf.init_buf_read(buf);
    XML_PARSER xp(&mf);
    while (!xp.get(tag, sizeof(tag), (bool&)is_tag)) {
        if (!strcmp(tag, "signatures")) {
            s_found = true;
            break;
        }
    }
    if (s_found)
        return this->parse(xp);
    else
        return false;
}
/*
 * request: receive battery info
 */
static void handle_battery_info(char* buf, bool is_local, MIOFILE& fout) {
    if (is_local) {
        MIOFILE in;
        in.init_buf_read(buf);
    
        if (gstate.battery_info.parse(in)!=0)
            return;
        
        /*msg_printf(0, MSG_INFO, "Battery info reveived: %s,%s,%f,%f\n",
                gstate.battery_info.present?"1":"0",
                gstate.battery_info.plugged?"1":"0",
                gstate.battery_info.level,
                gstate.battery_info.temperature);*/
        gstate.battery_info_initialized = true;
        fout.printf("<success/>\n");
    } else { // no access if not local
        fout.printf("<failed/>\n");
        return;
    }
}
Ejemplo n.º 4
0
int get_output_file_info(RESULT& result, FILE_INFO& fi) {
    char path[1024];
    string name;
    MIOFILE mf;
    mf.init_buf_read(result.xml_doc_in);
    XML_PARSER xp(&mf);
    while (!xp.get_tag()) {
        if (!xp.is_tag) continue;
        if (xp.match_tag("file_ref")) {
            int retval = fi.parse(xp);
            if (retval) return retval;
            dir_hier_path(
                fi.name.c_str(), config.upload_dir, config.uldl_dir_fanout, path
            );
            fi.path = path;
            return 0;
        }
    }
    return ERR_XML_PARSE;
}
Ejemplo n.º 5
0
void CDlgDiagnosticLogFlags::CreateCheckboxes() {
    SET_LOCALE sl;
    char buf[64000];
    MIOFILE mf;
    bool val;

    m_checkbox_list.clear();
    
    mf.init_buf_write(buf, sizeof(buf));
    m_cc_config.write(mf, log_flags);
    
    mf.init_buf_read(buf);
    XML_PARSER xp(&mf);

    while (!xp.get_tag()) {
        if (!xp.is_tag) {
            continue;
        }
        if (xp.match_tag("log_flags")) break;
    }
    
    while (!xp.get_tag()) {
        if (!xp.is_tag) {
            continue;
        }
        if (xp.match_tag("/log_flags")) break;
        wxString label = wxString(xp.parsed_tag);
        xp.parse_bool(xp.parsed_tag, val);

        wxCheckBox* ckbox = new wxCheckBox(m_scrolledWindow, wxID_ANY, label);
        m_checkboxSizer->Add(ckbox, 0, wxLEFT, 25);
        m_checkbox_list.push_back(ckbox);
        ckbox->SetValue(val);
    }

    m_scrolledWindow->SetSizer( m_checkboxSizer );
    m_scrolledWindow->Layout();
    m_checkboxSizer->Fit( m_scrolledWindow );
}
Ejemplo n.º 6
0
int get_output_file_infos(RESULT& result, vector<FILE_INFO>& fis) {
    char path[1024];
    MIOFILE mf;
    string name;
    mf.init_buf_read(result.xml_doc_in);
    XML_PARSER xp(&mf);
    fis.clear();
    while (!xp.get_tag()) {
        if (!xp.is_tag) continue;
        if (xp.match_tag("file_ref")) {
            FILE_INFO fi;
            int retval =  fi.parse(xp);
            if (retval) return retval;
            dir_hier_path(
                fi.name.c_str(), config.upload_dir, config.uldl_dir_fanout, path
            );
            fi.path = path;
            fis.push_back(fi);
        }
    }
    return 0;
}