00001 //=========================================================================== 00002 //= variable.h Junio de 1998 = 00003 //=-------------------------------------------------------------------------= 00004 //= Definicion de la clase VARIABLE_DE_ESTADO = 00005 //=-------------------------------------------------------------------------= 00006 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO = 00007 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN = 00008 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES, = 00009 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO, = 00010 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO, = 00011 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA = 00012 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES = 00013 //= ("ACTIVIDADES DE ALGO RIESGO"). = 00014 //=-------------------------------------------------------------------------= 00015 //= Autor original: Oscar J. Chavarro G. A.K.A. JEDILINK. Copyright (c), = 00016 //= 1997 - 2003, oscarchavarro@hotmail.com = 00017 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia = 00018 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la = 00019 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. = 00020 //=========================================================================== 00021 00022 #ifndef __VARIABLE__ 00023 #define __VARIABLE__ 00024 00025 #include "jed_defs.h" // Incluir antes que nada, en ese modulo se definen 00026 // aspectos importantes para la portabilidad del sistema 00027 #include "entidad.h" 00028 #include "vector.h" 00029 00030 class VARIABLE_DE_ESTADO { 00031 private: 00032 ENTIDAD *objeto; 00033 void *ref; 00034 int tipo_variable; // Uno de los TIPOS_DE_DATOS (jed_defs) 00035 char *_nombre; 00036 00037 VECTOR (*e_vector)(void *ref); 00038 double (*e_double)(void *ref); 00039 public: 00040 VARIABLE_DE_ESTADO(ENTIDAD *e, const char *nom_variable); 00041 ~VARIABLE_DE_ESTADO(); 00042 00043 BOOLEAN es_valida(void); 00044 BOOLEAN soy_yo(ENTIDAD *e, char *nom_variable); 00045 double evaluar_float(void); 00046 char *evaluar_cadena(void); 00047 VECTOR evaluar_vector(void); 00048 void actualizar_vector(VECTOR new_val); 00049 void actualizar_float(double new_val); 00050 }; 00051 00052 #endif // __VARIABLE__ 00053 00054 //=========================================================================== 00055 //= EOF = 00056 //=========================================================================== 00057