QVariantMap RemoteControl::get_conference_room_infos() { QVariantMap args; XletConference* conference_xlet = this->get_xlet<XletConference>("conference"); QAbstractItemModel* conflist_model = conference_xlet->findChild<QAbstractItemModel*>("conflist_model"); args["conference_xlet"] = conference_xlet != NULL; args["conflist_model"] = conflist_model != NULL; QVariantList content; QVariantMap header_data; header_data["name"] = ConfListModel::NAME; header_data["number"] = ConfListModel::NUMBER; header_data["pin_required"] = ConfListModel::PIN_REQUIRED; header_data["member_count"] = ConfListModel::MEMBER_COUNT; header_data["started_since"] = ConfListModel::STARTED_SINCE; int nb_rows = conflist_model->rowCount(QModelIndex()); for (int row = 0; row < nb_rows; row++) { QVariantMap header_value; QVariantMap::const_iterator i; for(i = header_data.begin(); i != header_data.end(); ++i) { header_value[i.key()] = getValueInModel(conflist_model, row, i.value().toInt()); } content.append(header_value); } args["content"] = content; return args; }
QVariantMap RemoteControl::get_switchboard_infos() { QVariantMap args; Directory *xlet = this->get_xlet<Directory>("directory"); QAbstractItemModel *model = xlet->ui.entry_table->model(); QVariantList content; int nb_rows = model->rowCount(); int nb_cols = model->columnCount(); for (int row = 0; row < nb_rows; row++) { QVariantMap header_value; for (int col = 0; col < nb_cols; col++) { header_value[getHeaderValueInModel(model, col)] = getValueInModel(model, row, col); } content.append(header_value); } args["content"] = content; return args; }