int WidgetAgregar::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QDialog::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: agregarDatos(); break; case 1: otro((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< string(*)>(_a[2]))); break; default: ; } _id -= 2; } return _id; }
void escribirAccionBitacora(int pProcesoId, char* pAccion, char* pHora, int pLineasAsigandas, int pCantidadAsignadas){ char *buffId = convertirIntAString(pProcesoId); char **buffLinea = (char **) malloc(sizeof(char*)*(pCantidadAsignadas+1)); int contador; /* Calcula las lineas ocupadas por el hilo */ for(contador=0; contador<pCantidadAsignadas; contador++){ buffLinea[contador] = convertirIntAString(pLineasAsigandas+contador); } /* Crea el string de datos */ char * datosStr = (char *) malloc(1 +sizeof(char*) * (strlen(pAccion)+ strlen(pHora)) + sizeof(int) * 2); strcpy(datosStr, "Identificador: "); strcat(datosStr, buffId); strcat(datosStr, "\nAccion: "); strcat(datosStr, pAccion); strcat(datosStr, "\nHora: "); strcat(datosStr, pHora); strcat(datosStr, "Lineas afectadas: "); for (contador = 0; contador < pCantidadAsignadas; contador++) { strcat(datosStr, buffLinea[contador]); strcat(datosStr, " - "); } strcat(datosStr, "\n"); free(buffId); printf(" \nBitacora: \n%s \n",datosStr); for ( contador = 0; contador < pCantidadAsignadas; contador++ ) free( buffLinea[contador] ); free(buffLinea); agregarDatos(datosStr); }