unsigned PuertoSerie::LeerString(unsigned char *Ptr, unsigned Max, unsigned TiempoEspera) throw(Excepcion) { #ifdef P_WIN32 PortInformation p = GetPort(); DWORD CountRead; SetTimeout(TiempoEspera); if (!ReadFile(p.Handle, Ptr, Max, &CountRead, &p.Overlapped)) { if (GetLastError() != ERROR_IO_PENDING) // Error throw Excepcion(Excepcion::TRANSPORTE_ERROR_LECTURA, Excepcion::GetLastErrorDesc()); // ERROR_IO_PENDING: Hay que esperar el evento. const unsigned TIMEOUT_SLICE = 200; //msecs while (WaitForSingleObject(p.Overlapped.hEvent, Eventos? TIMEOUT_SLICE : INFINITE) == WAIT_TIMEOUT) Eventos->Evento(0); if (!GetOverlappedResult(p.Handle, &p.Overlapped, &CountRead, FALSE)) throw Excepcion(Excepcion::TRANSPORTE_ERROR_LECTURA, Excepcion::GetLastErrorDesc()); } if(!CountRead) throw Excepcion(Excepcion::TRANSPORTE_ERROR_TIEMPO_DE_ESPERA_AGOTADO); return CountRead; #endif #ifdef P_LINUX Select(fd, TiempoEspera); int rc; if ((rc = read(fd, Ptr, Max)) == -1) throw Excepcion(Excepcion::TRANSPORTE_ERROR_LECTURA, Excepcion::GetLastErrorDesc()); return rc; #endif };
void PuertoSerie::EnviarString(const unsigned char *Ptr, unsigned Len) throw(Excepcion) { #ifdef P_WIN32 PortInformation p = GetPort(); unsigned long BytesWritten; if (!WriteFile (p.Handle, Ptr, Len, &BytesWritten, &p.Overlapped)) { if (GetLastError() != ERROR_IO_PENDING) // Error throw Excepcion(Excepcion::TRANSPORTE_ERROR_ESCRITURA, Excepcion::GetLastErrorDesc()); // ERROR_IO_PENDING: Hay que esperar el evento. const unsigned TIMEOUT_SLICE = 200; //msecs while (WaitForSingleObject(p.Overlapped.hEvent, Eventos? TIMEOUT_SLICE : INFINITE) == WAIT_TIMEOUT) Eventos->Evento(0); if (!GetOverlappedResult(p.Handle, &p.Overlapped, &BytesWritten, FALSE)) throw Excepcion(Excepcion::TRANSPORTE_ERROR_ESCRITURA, Excepcion::GetLastErrorDesc()); } if (BytesWritten != Len) throw Excepcion(Excepcion::TRANSPORTE_ERROR_ESCRITURA, Excepcion::GetLastErrorDesc()); #endif #ifdef P_LINUX if (write(fd, Ptr, Len) != Len) throw Excepcion(Excepcion::TRANSPORTE_ERROR_ESCRITURA, Excepcion::GetLastErrorDesc()); #endif }
void Camara::Pintar(int ojo) { try { glLoadIdentity(); if ( objetivo ) { Vector orientacion = objetivo->GetOrientacion(); glRotatef( orientacion.GetX(), 1, 0, 0); glRotatef( orientacion.GetY()+(ojo?5:-5), 0, 1, 0); Vector posicion = objetivo->GetPosicion(); glTranslatef( -posicion.GetX(), -posicion.GetY()-1, -posicion.GetZ() ); } } catch ( Excepcion &ex ) { throw Excepcion(ex, "Camara::Pintar()"); } catch ( exception &ex ) { throw Excepcion(ex, "Camara::Pintar()"); } }
Camara::Camara() { try { objetivo = NULL ; } catch ( Excepcion &ex ) { throw Excepcion(ex, "Camara::Camara()"); } catch ( exception &ex ) { throw Excepcion(ex, "Camara::Camara()"); } }
void Camara::Linkar(Item *item) { try { objetivo = item ; } catch ( Excepcion &ex ) { throw Excepcion(ex, "Camara::Linkar(Item *)"); } catch ( exception &ex ) { throw Excepcion(ex, "Camara::Linkar(Item *)"); } }
// // Descripción del Estado del Controlador Fiscal // // Nota: este método no es válido para este modelo. // std::string ImpresorFiscalP950_100::DescripcionEstadoControlador () throw(Excepcion) { // printf ("Comando DescripcionEstadoControlador ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Descripción del Estado del Controlador Fiscal"); }
// // Estado del Controlador Fiscal // // Nota: este método no es válido para este modelo. // ImpresorFiscal::TiposDeEstadoControlador ImpresorFiscalP950_100::EstadoControlador () throw(Excepcion) { // printf ("Comando EstadoControlador ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Estado del Controlador Fiscal"); }
// // Obtener Tabla de IVAs // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ObtenerTablaIVAs (TablaIVAs & /* Tabla */) throw (Excepcion) { // printf ("Comando ObtenerTablaIVAs ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Obtener Tabla de IVAs"); }
// // Reporte de Cierre Z Individual por Fecha // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ReporteZIndividualPorFecha (FECHA /* FechaZ */, RTA_ReporteZIndividual * /* R */) throw (Excepcion) { // printf ("Comando ReporteZIndividualPorFecha ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Reporte de Cierre Z Individual por Fecha"); }
// // Especificar Monto de IVA No Inscripto // void ImpresorFiscalPPL9_100::EspecificarIVANoInscripto (double /* Monto */) throw (Excepcion) { // printf ("Comando EspecificarIVANoInscripto ejecutado en PPL9_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Especificar Monto de IVA No Inscripto"); }
// // Reporte de Cierre Z Individual por Número // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ReporteZIndividualPorNumero (unsigned /* NumeroZ */, RTA_ReporteZIndividual * /* R */) throw (Excepcion) { // printf ("Comando ReporteZIndividualPorNumero ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Reporte de Cierre Z Individual por Número"); }
// // Imprimir Voucher de Tarjeta // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ImprimirVoucher ( const std::string & /* NombreCliente */, const std::string & /* NombreTarjeta */, TiposDeVouchers /* TipoVoucher */, const std::string & /* NumeroDeTarjeta */, FECHA /* FechaDeVencimiento */, TiposDeTarjetas /* TipoTarjeta */, unsigned /* Cuotas */, const std::string & /* CodigoDeComercio */, unsigned /* NumeroDeTerminal */, unsigned /* NumeroDeLote */, unsigned /* NumeroCupon */, TiposDeIngresoDeTarjeta /* TipoIngreso */, TiposOperacionDeTarjeta /* TipoOperacion */, unsigned /* NumeroAutorizacion */, const std::string & /* Monto */, const std::string & /* NumeroComprobanteAsociado */, unsigned /* Copias */, const std::string & /* Vendedor */, TiposDeEstacion /* Estacion */) throw (Excepcion) { // printf ("Comando ImprimirVoucher ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Imprimir Voucher de Tarjeta"); }
// // Emitir un DNFH de Reparto // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::DNFHReparto (unsigned /* Copias */) throw (Excepcion) { // printf ("Comando DNFHReparto ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Emitir un DNFH de Reparto"); }
// // Obtener Datos de Inicialización // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ObtenerDatosDeInicializacion (RTA_ObtenerDatosDeInicializacion * /* R */) throw (Excepcion) { // printf ("Comando ObtenerDatosDeInicializacion ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Obtener Datos de Inicialización"); }
// // Obtener Datos de Memoria de Trabajo // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ObtenerDatosMemoriaDeTrabajo (RTA_ObtenerDatosMemoriaDeTrabajo * /* R */) throw (Excepcion) { // printf ("Comando ObtenerDatosMemoriaDeTrabajo ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Obtener Datos de Memoria de Trabajo"); }
void Celda::Inicializar() { try { tile[icFondo] = new Imagen("Graficos\\fondo.bmp"); tile[icBordeArriba] = new Imagen("Graficos\\borde_top.bmp"); tile[icBordeAbajo] = new Imagen("Graficos\\borde_bottom.bmp"); tile[icBordeDerecha] = new Imagen("Graficos\\borde_right.bmp"); tile[icBordeIzquierda] = new Imagen("Graficos\\borde_left.bmp"); tile[icBordeArribaIzquierda] = new Imagen("Graficos\\borde_top_left.bmp"); tile[icBordeArribaDerecha] = new Imagen("Graficos\\borde_top_right.bmp"); tile[icBordeAbajoIzquierda] = new Imagen("Graficos\\borde_bottom_left.bmp"); tile[icBordeAbajoDerecha] = new Imagen("Graficos\\borde_bottom_right.bmp"); tile[icGusanoHorizontal] = new Imagen("Graficos\\gusano_horizontal.bmp"); tile[icGusanoVertical] = new Imagen("Graficos\\gusano_vertical.bmp"); tile[icGusanoArribaIzquierda] = new Imagen("Graficos\\gusano_arriba_izquierda.bmp"); tile[icGusanoArribaDerecha] = new Imagen("Graficos\\gusano_arriba_derecha.bmp"); tile[icGusanoAbajoIzquierda] = new Imagen("Graficos\\gusano_abajo_izquierda.bmp"); tile[icGusanoAbajoDerecha] = new Imagen("Graficos\\gusano_abajo_derecha.bmp"); tile[icColaArriba] = new Imagen("Graficos\\cola_arriba.bmp"); tile[icColaDerecha] = new Imagen("Graficos\\cola_derecha.bmp"); tile[icColaAbajo] = new Imagen("Graficos\\cola_abajo.bmp"); tile[icColaIzquierda] = new Imagen("Graficos\\cola_izquierda.bmp"); } catch ( Excepcion &ex ) { throw Excepcion(ex, "Celda::Inicializar()"); } }
// // Obtener Configuracion del Controlador // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ObtenerConfiguracion (RTA_ObtenerConfiguracion * /* R */) throw (Excepcion) { // printf ("Comando ObtenerConfiguracion ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Obtener Configuracion del Controlador"); }
// // Especificar Línea de Nombre de Fantasía // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::EspecificarNombreDeFantasia (unsigned /* Linea */, const std::string & /* Texto */) throw (Excepcion) { // printf ("Comando EspecificarNombreDeFantasia ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Especificar Línea de Nombre de Fantasía"); }
// // Configurar Controlador por Parámetros Individuales // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ConfigurarControlador (ParametrosDeConfiguracion /* Parametro */, const std::string & /* Valor */) throw (Excepcion) { // printf ("Comando ConfigurarControlador ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Configurar Controlador por Parámetros Individuales"); }
PuertoSerie::PortInformation PuertoSerie::GetPort() const throw(Excepcion) { std::map<unsigned, PortInformation>::const_iterator i = Handles.find(PortNumber); if (i == Handles.end() || i->second.Handle == INVALID_HANDLE_VALUE) throw Excepcion(Excepcion::TRANSPORTE_ERROR_PUERTO_NO_ABIERTO); return i->second; }
Jugador::Jugador(Vector posicion, Nivel *nivel): Item(nivel, -1, posicion) { try { if ( !nivel ) { throw Excepcion("Error"); } } catch ( Excepcion &ex ) { throw Excepcion(ex, "Jugador::Jugador(Vector, Nivel *)"); } catch ( exception &ex ) { throw Excepcion(ex, "Jugador::Jugador(Vector, Nivel *)"); } }
// // Imprimir Código de Barras // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ImprimirCodigoDeBarras (TiposDeCodigoDeBarras /* Tipo */, const std::string & /* Codigo */, bool /* ImprimeNumeros */, bool /* ImprimeAhora */) throw(Excepcion) { // printf ("Comando ImprimirCodigoDeBarras ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Imprimir Código de Barras"); }
void Celda::Cerrar() { try { for ( int i = 0 ; i < NUM_TILES ; i++ ) { if ( !tile[i] ) { throw Excepcion("Celda::Cerrar()"); } delete tile[i] ; } } catch ( Excepcion &ex ) { throw Excepcion(ex, "Celda::Cerrar()"); } }
void Celda::Pintar(int x, int y) { try { tile[imagenCelda]->Pintar(x, y); } catch ( Excepcion &ex ) { throw Excepcion(ex, "Celda::Pintar(int, int)"); } }
Jugador::Jugador(Nivel *nivel): Item(nivel, -1) { try { if ( !nivel ) { throw Excepcion("Error"); } empujable = true ; velocidadMuerte = false ; } catch ( Excepcion &ex ) { throw Excepcion(ex, "Jugador::Jugador(Nivel *)"); } catch ( exception &ex ) { throw Excepcion(ex, "Jugador::Jugador(Nivel *)"); } }
// // Bonificación, Recargo y Devolución de Envases // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::DevolucionDescuento ( const std::string & /* Texto */, double /* Monto */, double /* IVA */, double /* ImpuestosInternos */, bool /* EnNegativo */, TiposDeDescuento /* Tipo */) throw (Excepcion) { // printf ("Comando DevolucionDescuento ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Bonificación, Recargo y Devolución de Envases"); }
Imagen::Imagen(string fichero) { bitmap = NULL ; bitmap = load_bitmap(fichero.c_str(), NULL); if ( !bitmap ) { string temp = "Imagen::Imagen(string): No se pudo cargar el fichero: "; temp += fichero ; throw Excepcion(temp); } mascara = false ; alpha = 255 ; }
// // Configurar Controlador por Bloque de Parámetros // // Nota: este método no es válido para este modelo. // void ImpresorFiscalP950_100::ConfigurarControladorPorBloque ( double /* LimiteConsumidorFinal */, double /* LimiteTicketFactura */, double /* PorcentajeIVANoInscripto */, NumerosDeCopias /* TipoDeCopiasMaximo */, bool /* ImpresionCambio */, bool /* ImpresionLeyendasOpcionales */, TiposDeCorteDePapel /* TipoDeCorte */) throw (Excepcion) { // printf ("Comando ConfigurarControladorPorBloque ejecutado en P950_100\n"); throw Excepcion(Excepcion::IMPRESOR_FISCAL_ERROR_NO_IMPLEMENTADO, "Configurar Controlador por Bloque de Parámetros"); }
Puerta::Puerta(Nivel *nivel, int cod, Vector centroCelda, Vector radioCelda, int orien): Item(nivel, cod) { float rad = 0.3 ; estado = Cerrada ; posicion = centroCelda ; switch (orien) { case Orientacion::Norte: posicion.SetZ( posicion.GetZ() - radioCelda.GetZ() + rad ) ; posicion.SetY( posicion.GetY() + 0.8*radioCelda.GetY() ); radio = Vector( radioCelda.GetX(), 0.8*radioCelda.GetY(), rad); break ; case Orientacion::Este: posicion.SetX( posicion.GetX() + radioCelda.GetX() - rad ) ; posicion.SetY( posicion.GetY() + 0.8*radioCelda.GetY() ); radio = Vector( rad, 0.8*radioCelda.GetY(), radioCelda.GetZ()); break ; case Orientacion::Sur: posicion.SetZ( posicion.GetZ() + radioCelda.GetZ() - rad ) ; posicion.SetY( posicion.GetY() + 0.8*radioCelda.GetY() ); radio = Vector( radioCelda.GetX(), 0.8*radioCelda.GetY(), rad); break ; case Orientacion::Oeste: posicion.SetX( posicion.GetX() - radioCelda.GetX() + rad ) ; posicion.SetY( posicion.GetY() + 0.8*radioCelda.GetY() ); radio = Vector( rad, 0.8*radioCelda.GetY(), radioCelda.GetZ()); break ; } posicionCerrada = posicion ; posicionAbierta = posicionCerrada - Vector(0, 1.6*radioCelda.GetY(), 0) ; obstaculo = true ; orientacion = orien; BITMAP * bitmap = load_bitmap("Texturas\\puerta.bmp", NULL); if (!bitmap) { throw Excepcion("No se puedo cargar la textura puerta.bmp"); } // Creamos la textura glTexPuerta = allegro_gl_make_texture_ex(AGL_TEXTURE_MIPMAP | AGL_TEXTURE_MASKED | AGL_TEXTURE_FLIP | AGL_TEXTURE_RESCALE, bitmap, -1); }
void Imagen::CargarFichero(string fichero) { if ( bitmap ) { destroy_bitmap(bitmap); bitmap = NULL ; } bitmap = load_bitmap(fichero.c_str(), NULL); if ( !bitmap ) { string temp = "Imagen::CargarFichero(string): No se pudo cargar el fichero: "; temp += fichero ; throw Excepcion(temp); } }