void ProcesoSalida::terminarEjecucion() { std::stringstream info; info << getNombre() << ": Ejecutando metodo terminarEjecucion"; Log::getLog()->logMensaje(info.str()); info.str(""); while (getCantidadAutos() > 0) { info << getNombre() << ": El estacionamiento tiene [" << getCantidadAutos() << "] autos"; Log::getLog()->logMensaje(info.str()); info.str(""); procesarIngresoOEgreso(); } while (cantidadEntradasOcupadas > 0) { info << getNombre() << ": El estacionamiento esta vacío, entradas ocupadas = " << cantidadEntradasOcupadas; Log::getLog()->logMensaje(info.str()); info.str(""); procesarEgreso(); } info << getNombre() << ": Terminando Ejecucion"; Log::getLog()->logMensaje(info.str()); info.str(""); }
bool AlmacenCertificadoCAPI::open() { wchar_t *nombre; close(); // ATENCION: // En caso de abrir almacenes desde Servicios en LocalSystem, habría que hacer // cambios en la llamada CertOpenStore, con las banderas: // CERT_SYSTEM_STORE_SERVICES // CERT_SYSTEM_STORE_CURRENT_SERVICE // Ver CertOpenStore en MSDN. if ( EsNombreAlmacenSistema(getNombre()) ) handle = ::CertOpenSystemStore(csp, getNombre().cadena()); else { nombre = ConversorDatos::ConvertirCadenaAUnicode(getNombre().cadena()); handle = ::CertOpenStore(CERT_STORE_PROV_PHYSICAL, 0, csp, CERT_SYSTEM_STORE_CURRENT_USER | CERT_STORE_OPEN_EXISTING_FLAG | CERT_STORE_NO_CRYPT_RELEASE_FLAG, nombre); // hay que liberar la cadena Unicode porque "ConvertirCadenaAUnicode" lo ha creado delete [] nombre; } return (handle != NULL); }
int irc_recv_nick(void *data) { struct irc_msgdata *msgdata = (struct irc_msgdata *) data; char prefix[MAX_NICK_LEN + 1]; char *params[1]; irc_get_prefix(msgdata->msg, prefix, MAX_NICK_LEN + 1); if (irc_parse_paramlist(msgdata->msg, params, 1) != 1) { slog(LOG_ERR, "Mensaje NICK mal formado: %s", msgdata->msg); return OK; } messageText("%s cambió su apodo a %s", prefix, params[0]); if (!strncmp(prefix, msgdata->clientdata->nick, MAX_NICK_LEN)) { msgdata->clientdata->connected = 1; strncpy(msgdata->clientdata->nick, params[0], MAX_NICK_LEN); setApodo(params[0]); saveUserSettings(params[0], getNombre(), getNombreReal()); } return OK; }
void Tamagotchi::on_SaludB_clicked() { if(create_window.granja->getPos(buscar(getNombre()))->enfermedad > 0 && create_window.granja->getPos(buscar(getNombre()))->enfermedad <= 100) { if(enfermedades->getPrimero()) { enfermedades->sacar(); if(enfermedades->getPrimero()) create_window.granja->getPos(buscar(getNombre()))->enfermedad = enfermedades->getPrimero()->valor; else create_window.granja->getPos(buscar(getNombre()))->enfermedad = 0; } } valores(getNombre()); }
void Situacion::imprimirSituacion() { Consola consola = Consola::obtenerInstancia(); // Muestra el nombre y la descripción de la situación consola.imprimirCadena("~~~~~~~~ " + getNombre() + " ~~~~~~~~"); consola.imprimirCadena(getDescripcion()); // Muestra la información de cada opción unsigned int i; for (i = 0; i < opciones.size(); ++i) { opciones[i].imprimirOpcion(); } // Muestra una línea delimitadora consola.imprimirCadena("~~~~~~~~~" + std::string(getNombre().size(), '~') + "~~~~~~~~~"); }
/** * Función que borra un delincuente en la lista del programa. * @param delincuente Delincuente que queremos borrar. * @see agregarDelincuente(), modificarDelincuente() */ void __fastcall TDelincuentes::borrarDelincuente (TDelincuente delincuente) { if(!borraDelincuente(this->delincuentes, getNombre(delincuente))) { if(getNumero(this->delincuentes) > 0) MessageBox(Application->Handle, "El registro que intenta borrar no existe.", "Registro inexistente", MB_ICONWARNING); else MessageBox(Application->Handle, "La base de datos de criminales está vacía.", "Base de datos vacía", MB_ICONWARNING); } }
ArsCadena AlmacenCertificadoCL::getRutaAlmacen() { ArsCadena ret; if ( !esAlmacenEnTarjeta() ) { ret = getNombre(); if (ret[ret.longitud()-1] != '\\') ret += "\\"; } return (ret); }
/** Se encarga de guardar las propiedades que serán introducidas al preparar el objeto para ser ejecutado. */ void GestorPropiedades::masPropiedades(NMMta *mta) { NMMta * nuevo = new(std::nothrow) NMMta( *mta ); if ( nuevo == NULL ) { throw ENoHayMemoria( std::string( "Creando propiedad '" + mta->listar() + "' en objeto '" + getNombre() + '\'' ).c_str() ); } vPropsIniciales.push_back( nuevo ); }
/** * Función que modifica un delincuente en la lista del programa. * @param delincuente Delincuente que queremos modificar. * @see agregarDelincuente(), borrarDelincuente() */ void __fastcall TDelincuentes::modificarDelincuente (TDelincuente delincuente) { int indice; if(getDelincuente(this->delincuentes, getNombre(delincuente), indice)) { this->delincuentes.delincuentes[indice] = delincuente; } else { MessageBox(Application->Handle, "El criminal no existe, por lo que debería agregarlo.", "Registro inexistente", MB_ICONWARNING); } }
/** * Función que agrega un delincuente a la lista del programa. * @param delincuente Delincuente que queremos agregar. * @see modificarDelincuente(), borrarDelincuente() */ void __fastcall TDelincuentes::agregarDelincuente (TDelincuente delincuente) { int indice; if(!getDelincuente(this->delincuentes, getNombre(delincuente), indice)) { if(!agregaDelincuente(this->delincuentes, delincuente)) MessageBox(Application->Handle, "No hay espacio en la base de datos.", "Base de datos completa", MB_ICONWARNING); } else { MessageBox(Application->Handle, "El criminal ya existe, por lo que debería modificarlo.", "Registro ya existente", MB_ICONWARNING); } }
int hiloCPU() { t_cpu* cpu = crearCPU(); list_add(procCPU->listaCPU, cpu); pthread_mutex_lock(&mutexCPULogs); log_info(logger, identificaCPU(queHiloSoy())); log_info(logger, "comienza ejecucion de un HILO "); log_info(logger, string_from_format("Me estoy levantando soy la cpu , %s \n", cpu->nombre)); pthread_mutex_unlock(&mutexCPULogs); // printf("Me estoy levantando soy la cpu , %s", cpu->nombre); // printf("Creando CPU la id del hilo es %lu \n", cpu->idCPU); //conexiones = dictionary_create(); int socketPlanificador; int socketMemoria; int resultConexion_mem = 0; int resultConexion_planif = 0; resultConexion_planif = conectar(configuracion->vg_ipPlanificador, string_itoa(configuracion->vg_puertoPlanificador), &socketPlanificador); if (resultConexion_planif == -1) pthread_mutex_lock(&mutexCPULogs); log_info(logger, identificaCPU(queHiloSoy())); log_error(logger, "[ERROR]no se conecto el CPU al Planificador"); pthread_mutex_unlock(&mutexCPULogs); //dictionary_put(conexiones, "Planificador", string_itoa(socketPlanificador)); cpu->socketPlanificador = socketPlanificador; enviarStruct(socketPlanificador, HANDSHAKE_CPU, getNombre()); resultConexion_mem = conectar(configuracion->vg_ipMemoria, string_itoa(configuracion->vg_puertoMemoria), &socketMemoria); if (resultConexion_mem == -1) log_info(logger, identificaCPU(queHiloSoy())); log_error(logger, "[ERROR]no se conecto el CPU a la memoria"); //dictionary_put(conexiones, "Memoria", string_itoa(socketMemoria)); cpu->socketMemoria = socketMemoria; escucharConexiones("0", socketPlanificador, socketMemoria, 0, procesarMensajes, NULL, logger); return 0; }
// ------------------------------------------------------ IdsPorObjeto::toXML() std::string IdsPorObjeto::toXML() const { Metodos::const_iterator it; std::string toret = "\n<Object name=\""; toret.append( getNombre() ); toret.append( "\" parent=\"" ); toret.append( getNombrePadre() ); toret.append( "\">\n" ); // Poner los atributos for(register unsigned int n = 0; n < nombresDeAtributos->getNumero(); ++n) { toret.append( "<Attribute name=\"" ); toret.append( nombresDeAtributos->getID( n ) ); toret.append( "\" visible=\"" ); toret.push_back( ( nombresDeAtributos->esVisible( n ) ? '1' : '0' ) ); toret.append( "\"/>\n" ); } // Poner los métodos for(register unsigned int n = 0; n < nombresDeMetodos->getNumero(); ++n) { toret.append( "<Method name=\"" ); toret.append( nombresDeMetodos->getID( n ) ); toret.append( "\" visible=\"" ); toret.append( ( nombresDeMetodos->esVisible( n ) ? "1" : "0" ) ); toret.append( "\">\n" ); // Poner las variables locales del método it = metodos.find( nombresDeMetodos->getID( n ) ); if ( it != metodos.end() ) { for(unsigned int i = 0; i < it->second->getNumero(); ++i) { toret.append( "<LocalReference name=\"" ); toret.append( it->second->getID( i ) ); toret.append( "\"/>\n" ); } } else throw EInterno( "Mth no encontrado (?)" ); toret.append( "</Method>\n" ); } toret.append( "</Object>\n" ); return toret; }
/** * Función que carga en el formulario los datos de una posición dada de la * lista de delincuentes que tenemos almacenados. * @param i Número de delincuente dentro de la lista. */ void __fastcall TDelincuentes::posicionar (int i) { if(i < getNumero(this->delincuentes)) { TDelincuente aux; getDelincuente(this->delincuentes, i, aux); this->TxtNombre->Text = (getNombre(aux)).c_str(); this->TxtDelitos->Text = (getDelitos(aux)).c_str(); this->Retrato->Text = dameCara(getCara(aux)).c_str(); this->ActualizarCheckButtons(getCara(aux)); this->index = i; MeterNumeroEnLabel(this->LblNumFicha, this->index); } }
bool TarjetaCAPI::conectar(Certificado *cert /*=NULL*/) { bool ok; char *keyContainer; ArsCadena aux; if (cert == NULL) { keyContainer = NULL; } else { aux = cert->getKeyContainer(); keyContainer = aux.cadena(); } ok = CryptAcquireContext(&handle, keyContainer, getNombre().cadena(), PROV_RSA_FULL, CRYPT_SILENT); return (ok); }
void BuscarFavoritos() { int i,f=0; for(i=0;i<_contactos.size();i++) { if(_contactos.favorito==1) { f=1; std::cout<<"Nombre: "<<getNombre()<<endl; std::cout<<"Apellidos: "<<getApellidos()<<endl; std::cout<<"DNI: "<<getDNI()<<endl; //cout<<"Telefono fijo: "<<get std::cout<<"Direcciones: "<<getDirecciones()<<endl; std::cout<<"Redes: "<<getRedes()<<enld; } } if(f=0) { cout<<"No hay ningun contacto favorito"<<enld; } }
/** * prepararProps() * Prepara las propiedades de un objeto. Al terminar este método, el atributo * props está apuntando a un vector de Zero con los punteros a las propiedades. */ void GestorPropiedades::prepararProps() { register unsigned int n; Atributo *atrInfo; Objeto *objInfo; AlmacenObjetos *cDest = Runtime::rt()->getContainerEjecucion(); Objeto *objProp; // Copiar un vector vacío props = Runtime::gestorVectores->nuevo( "__" + getNombre() + "Props__" ); if ( props != NULL ) { props->asignarA( cDest ); props->incrementaReferencias(); } else throw ENoHayMemoria( "Creando objeto de propiedades" ); // Añadir las propiedades iniciales LiteralVector_Zero * vReal = Runtime::gestorVectores->busca( props ); if ( vReal == NULL ) { throw ENoHayMemoria( std::string( "Creando propiedades de: " + getNombre() ).c_str() ); } for(n = 0; n < vPropsIniciales.size(); ++n) { // Localizar el objeto en cuestión objProp = Runtime::rt()->getContainerIntStdLib()->busca( vPropsIniciales[n]->getIdObj() ); if ( objProp == NULL || !( objProp->esDescendienteDe( Runtime::objetoPropiedades ) ) ) { Runtime::ponExcepcionObjeto( vPropsIniciales[n]->getIdObj() ); break; } // Crear el objeto a meter objProp = objProp->copiaSistema( getNombre() + objProp->getNombre() ); // Darle la info if ( !( vPropsIniciales[n]->getDatos().empty() ) ) { objInfo = Runtime::gestorCadenas->nuevo( "", vPropsIniciales[n]->getDatos() ); atrInfo = new(std::nothrow) Atributo( objProp, "info", objInfo, Atributo::PUBLICO ); if ( objInfo != NULL && atrInfo != NULL ) { objProp->lAtrs.inserta( atrInfo->getNombre(), atrInfo ); } else throw ENoHayMemoria( "creando atributo info en props" ); } vReal->mas( objProp ); } // Eliminar las propiedades iniciales for(n = 0; n < vPropsIniciales.size(); ++n) { delete vPropsIniciales[n]; } vPropsIniciales.clear(); }
bool AlmacenCertificadoCL::esAlmacenEnTarjeta() { return (getNombre() == ""); }
void EstructuraDeExamen::mensaje(){ std::cout << "La estructura: " << getNombre() << " no puede ejecutar esta operacion" << std::endl; }
/** * @brief Sends a request to connect a client to a server using gtk fields. * @details */ void connectClient(void){ char *name, *real_name; char message[BUFFER]; /*Checks if it is already connected*/ semaphore_br(&readers_num, readers, writer, mutex_access, mutex_rvariables); if(connected){ interfaceText(NULL, "Ya está conectado a un servidor.", ERROR_TEXT, MAIN_THREAD); semaphore_ar(&readers_num, writer, mutex_rvariables); return; } semaphore_ar(&readers_num, writer, mutex_rvariables); /* Getting text of fields */ semaphore_bw(writer, readers); strcpy(nick, getApodo()); semaphore_aw(writer, readers); name = getNombre(); real_name = getNombreReal(); semaphore_bw(writer, readers); if(server_called){ server_called = 0; } else{ strcpy(client_server, getServidor()); port = getPuerto(); } semaphore_aw(writer, readers); /* Empty nick, name, real_name or client_server field */ semaphore_br(&readers_num, readers, writer, mutex_access, mutex_rvariables); if(!(strlen(nick) && strlen(name) && strlen(real_name) && strlen(client_server))) { interfaceErrorWindow("Los campos\n\t-Apodo\n\t-Nombre\n\t-Nombre real\n\t-Servidor\nno pueden estar vacíos", MAIN_THREAD); semaphore_ar(&readers_num, writer, mutex_rvariables); return; } semaphore_ar(&readers_num, writer, mutex_rvariables); /* Empty port field */ if(port <= 0){ port = DFLT_PORT; } /*Beginning of connection*/ sprintf(message, "Conectando con %s:%d ...", client_server, port); interfaceText(NULL, message, MSG_TEXT, MAIN_THREAD); /*Connecting to the server*/ if (client_connect_to_server(client_server, port, client_thread_listener) == ERROR){ sprintf(message, "Fallo en la conexión con %s\nEn el sistema de logs ha quedado registrado el error" "correspondiente a este intento de conexión.", client_server); interfaceErrorWindow(message, MAIN_THREAD); syslog(LOG_ERR, "Failed while connecting to %s: %s", client_server, strerror(errno)); interfaceText(NULL, "Error de conexión", ERROR_TEXT, MAIN_THREAD); return; } /*New session*/ semaphore_br(&readers_num, readers, writer, mutex_access, mutex_rvariables); if (client_new_session(nick, name, real_name, client_server) == ERROR){ sprintf(message, "Fallo en la conexión con %s\nEn el sistema de logs ha quedado registrado el error" "correspondiente a este intento de conexión.", client_server); interfaceErrorWindow(message, MAIN_THREAD); syslog(LOG_ERR, "Failed while connecting to %s: %s", client_server, strerror(errno)); interfaceText(NULL, "Error de conexión", ERROR_TEXT, MAIN_THREAD); cerrar_canal_SSL(ssl); semaphore_ar(&readers_num, writer, mutex_rvariables); return; } semaphore_ar(&readers_num, writer, mutex_rvariables); /*Connection successful*/ semaphore_bw(writer, readers); connected = 1; semaphore_aw(writer, readers); }
void Tamagotchi::pierdeVida() { switch(rand()%4) { case 0: if(create_window.granja->getPos(buscar(getNombre()))->defecar >= 0 && create_window.granja->getPos(buscar(getNombre()))->defecar < 500) { if(desechos->getPrimero()) { if(desechos->getPrimero()->valor >= 0) { NodoT* tempo = new NodoT(desechos->getPrimero()->valor+10); desechos->meter(tempo); } } else if(!desechos->getPrimero()) { defecar = new NodoT(30); desechos->meter(defecar); } create_window.granja->getPosi(buscar(getNombre()))->defecar = desechos->getPrimero()->valor; } valores(getNombre()); break; case 1: if(create_window.granja->getPos(buscar(getNombre()))->comer >= 0 && create_window.granja->getPos(buscar(getNombre()))->comer < 500) { if(hambre->getPrimero()) { if(hambre->getPrimero()->valor >= 0) { NodoT* tempo = new NodoT(hambre->getPrimero()->valor+10); hambre->meter(tempo); } } else if(!hambre->getPrimero()) { comer = new NodoT(30); hambre->meter(comer); } create_window.granja->getPos(buscar(getNombre()))->comer = hambre->getPrimero()->valor; } valores(getNombre()); break; case 2: if(create_window.granja->getPos(buscar(getNombre()))->sanar >= 0 && create_window.granja->getPos(buscar(getNombre()))->sanar < 100) { if(enfermedades->getPrimero()) { if(enfermedades->getPrimero()->valor >= 0) { NodoT* tempo = new NodoT(enfermedades->getPrimero()->valor+10); enfermedades->meter(tempo); } } else if(!enfermedades->getPrimero()) { sanar = new NodoT(10); enfermedades->meter(sanar); } create_window.granja->getPos(buscar(getNombre()))->sanar = enfermedades->getPrimero()->valor; } valores(getNombre()); break; case 3: if(create_window.granja->getPos(buscar(getNombre()))->dormir >= 0 && create_window.granja->getPos(buscar(getNombre()))->dormir < 100) { if(sueno->getPrimero()) { if(sueno->getPrimero()->valor >= 0) { NodoT* tempo = new NodoT(sueno->getPrimero()->valor+10); sueno->meter(tempo); } } else if(!sueno->getPrimero()) { dormir = new NodoT(10); sueno->meter(dormir); } create_window.granja->getPos(buscar(getNombre()))->sueno = sueno->getPrimero()->valor; } valores(getNombre()); break; } }
void connectToServer(const char *server, const char* port) { char *nick = getApodo(); char *user = getNombre(); char *name = getNombreReal(); int sock; const char *err; char addr_str[100]; int retval; struct serv_info serv; if (!server || strlen(server) == 0) { errorText("Error: servidor inválido."); return; } if (!port || strlen(port) == 0) { errorText("Error: puerto inválido."); return; } if (!nick || !user || !name || strlen(nick) == 0 || strlen(user) == 0 || strlen(name) == 0) { errorWindow("Rellene los datos de nombre/usuario/apodo"); return; } if(client->connected) disconnectClient(NULL); messageText("Conectando con %s...", server); retval = client_connect_to(server, port, addr_str, 100); if (retval == ERR_SYS) err = strerror(errno); else if (retval == ERR_AIR) err = "no se ha podido resolver la dirección"; else if (retval == ERR_NOTFOUND) err = "no se ha podido conectar."; else err = "error desconocido."; if (retval <= 0) { errorText("Error resolviendo %s: %s", server, err); return; } sock = retval; if (send_message(rcv_sockcomm, &sock, sizeof(int)) == ERR_SOCK) { errorText("Error al configurar la nueva conexión: %s", strerror(errno)); close(sock); return; } irc_send_message(snd_qid, sock, "NICK %s", getApodo()); irc_send_message(snd_qid, sock, "USER %s %s %s :%s", getNombre(), "0", "*", getNombreReal()); client->connected = 1; strncpy(client->nick, nick, MAX_NICK_LEN); client->serv_sock = sock; setUserConnectionState(TRUE); strncpy(serv.servname, server, SERV_NAMELEN); strncpy(serv.port, port, MAX_PORT_LEN); serv_save_connection(&serv); client->connected = 1; messageText("Conectado a %s", addr_str); saveUserSettings(nick, user, name); }
void Tamagotchi::bajarVida() { int dano = ui->BarraComida->value() + ui->BarraDormir->value() + ui->BarraHigiene->value() + ui->BarraSalud->value(); create_window.granja->getPos(buscar(getNombre()))->vida = 100 - (dano * 0.25); valores(getNombre()); }