Hormiga 1.0

/var/www/hormigaproject.com.ar/files/src/defines.h

Go to the documentation of this file.
00001 
00002 /*
00003 # Hormiga - Software de cálculo programable.
00004 #
00005 # Copyright (C) 2008, 2009 Leonardo Román, Hugo J. Curti, Norma  Ercoli,
00006 # Universidad Nacional del Centro de la Provincia de Buenos Aires
00007 # (UNCPBA)
00008 #
00009 # Este programa es parte de Hormiga.
00010 #
00011 # Hormiga es software libre. Puede redistribuirlo y/o modificarlo
00012 # bajo los términos de la Licencia Pública General de GNU según es
00013 # publicada por la Free Software Foundation, versión 2. Vea el archivo
00014 # COPIA (español, no oficial) o COPYING (inglés, oficial) en directorio
00015 # raíz.
00016 #
00017 # Hormiga se distribuye con la esperanza de que sea útil, pero SIN
00018 # NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin
00019 # garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. Véase la
00020 # Licencia Pública General de GNU para más detalles.
00021 #
00022 # Debería haber recibido una copia de la Licencia Pública General junto
00023 # con Hormiga. Si no ha sido así, escriba a la Free Software
00024 # Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU.
00025 # Añada también información sobre cómo contactar con usted mediante
00026 # correo electrónico y postal.
00027 #
00028 # This file is part of Hormiga.
00029 #
00030 # Hormiga is free software; you can redistribute it and/or modify
00031 # it under the terms of the GNU General Public License version 2
00032 # as published by the Free Software Foundation; see the file COPYING
00033 # in the top directory for details.
00034 #
00035 # Hormiga is distributed in the hope that it will be useful,
00036 # but WITHOUT ANY WARRANTY; without even the implied warranty of
00037 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00038 # GNU General Public License for more details.
00039 #
00040 # You should have received a copy of the GNU General Public License
00041 # along with Hormiga; if not, write to the Free Software
00042 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
00043 # USA
00044 */
00045 
00046 #ifndef DEFINES_H
00047 #define DEFINES_H
00048 
00049 #ifndef TRUE
00050 #define TRUE        1
00051 #endif
00052 #ifndef FALSE
00053 #define FALSE       0
00054 #endif
00055 
00057 #define MY_ORGANIZATION "TesisTeam"
00058 #define APPLICATION_NAME "Hormiga"
00059 
00060 #define PROGRAM_VERSION "1.0 - 09/2009"
00061 #define PROGRAM_URL     "http://www.hormigaproject.com.ar"
00062 
00063 #define LICENSE "Copyright 2008-2009 Hormiga Project. All rights reserved.\n\n \
00064 The program is provided AS IS with NO WARRANTY OF ANY KIND, \
00065 INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. \
00066 \n\n \
00067 See the GPL (GNU Public License) at http://www.gnu.org/copyleft/gpl.html for more information.\
00068 "
00069 
00070 #ifndef LOCALES_DIR
00071 #define LOCALES_DIR "locale"
00072 #endif
00073 
00075 #include <QApplication>
00076 //Qt for Embedded Linux: Q_WS_QWS
00077 //Qt for Mac OS X:
00078 #ifdef Q_WS_MAC
00079 //#define HORMIGA_CONFIG_FILE /etc/hormiga.conf
00080 #define DEFAULT_MODULES_PATH "/usr/lib/hormiga/modules"
00081 
00082 //Qt for X11:
00083 #elif defined(Q_WS_X11)
00084 //#define HORMIGA_CONFIG_FILE /etc/hormiga.conf
00085 #define DEFAULT_MODULES_PATH "/usr/lib/hormiga/modules"
00086 
00087 //Qt for Windows:
00088 #elif defined(Q_WS_WIN)
00089 //#define HORMIGA_CONFIG_FILE C:/windows/hormiga.conf
00090 #define DEFAULT_MODULES_PATH "C:/hormiga/modules"
00091 
00092 //#else
00093 #endif
00094 
00095 #include <qstring.h>
00096 #define T_STRING    QString
00097 #define T_MAGNITUDE double
00098 
00099 #include <qlist.h>
00100 #define T_STMT_BLOCK QList<Statement *>
00101 
00102 #include <QHash>
00103 // For Symbols Table:
00104 #define T_ST_HASH QHash<T_STRING, Operand*>
00105 #define T_ST_HASH_IT QHashIterator<T_STRING, Operand*>
00106 // For Types Table:
00107 #define T_TYPE_HASH QHash<T_STRING, Type*>
00108 #define T_TYPE_HASH_IT QHashIterator<T_STRING, Type*>
00109 // For Units Table:
00110 #define T_UNIT_HASH QHash<T_STRING, Unit*>
00111 #define T_UNIT_HASH_IT QHashIterator<T_STRING, Unit*>
00112 // For Functions Table:
00113 #define T_FUNC_HASH QHash<T_STRING, Function*>
00114 #define T_FUNC_HASH_IT QHashIterator<T_STRING, Function*>
00115 // For Steps Table:
00116 #define T_STEPS_HASH QHash<T_STRING, Step*>
00117 #define T_STEPS_HASH_IT QHashIterator<T_STRING, Step*>
00118 // For a list of SymbolTables... it is for the Garbage Collection
00119 #define T_ST_LIST QList<SymbolTable *>
00120 
00121 // For Function Arguments
00122 #define T_FUNCTION_ARGUMENTS QList<Operand *>
00123 
00124 // For Steps dependens
00125 #define T_STEP_LIST QList<Step *>
00126 
00127 // For Steps post-conditions
00128 #define T_STEP_CONDITIONS_LIST QList<StepCondition *>
00129 
00130 // For Captures List
00131 #define T_CAPTURE_LIST QList<Capture *>
00132 
00133 // For Reports List
00134 #define T_REPORT_LIST QList<Report *>
00135 
00136 #include <QStringList>
00137 // For String Lists
00138 #define T_STRING_LIST QStringList
00139 
00140 // For anything
00141 #define T_INT_ARRAY QList<int>
00142 
00143 #include <QCryptographicHash>
00144 // For ProgramID Hashing calculation:
00145 #define T_HASH_CALC QCryptographicHash
00146 
00147 
00148 #endif // DEFINES_H