00001 // -*- mode: c++; c-basic-offset:4 -*- 00002 00003 // This file is part of libdap, A C++ implementation of the OPeNDAP Data 00004 // Access Protocol. 00005 00006 // Copyright (c) 2006 OPeNDAP, Inc. 00007 // Author: James Gallagher <jgallagher@opendap.org> 00008 // 00009 // This library is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU Lesser General Public 00011 // License as published by the Free Software Foundation; either 00012 // version 2.1 of the License, or (at your option) any later version. 00013 // 00014 // This library is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 // Lesser General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU Lesser General Public 00020 // License along with this library; if not, write to the Free Software 00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 // 00023 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. 00024 00025 #ifndef _gseclause_h 00026 #include "GSEClause.h" 00027 #endif 00028 00029 #define YYDEBUG 1 00030 #undef YYERROR_VERBOSE 00031 #define YY_NO_UNPUT 1 00032 00033 #define ID_MAX 256 00034 00035 #ifndef TRUE 00036 #define TRUE 1 00037 #define FALSE 0 00038 #endif 00039 00042 struct gse_arg 00043 { 00044 GSEClause *_gsec; // The gse parsed. 00045 Grid *_grid; // The Grid being constrained. 00046 int _status; // The parser's status. 00047 00048 gse_arg(): _gsec(0), _grid(0), _status(1) 00049 {} 00050 gse_arg(Grid *g): _gsec(0), _grid(g), _status(1) 00051 {} 00052 virtual ~gse_arg() 00053 {} 00054 00055 void set_gsec(GSEClause *gsec) 00056 { 00057 _gsec = gsec; 00058 } 00059 GSEClause *get_gsec() 00060 { 00061 return _gsec; 00062 } 00063 void set_grid(Grid *g) 00064 { 00065 _grid = g; 00066 } 00067 Grid *get_grid() 00068 { 00069 return _grid; 00070 } 00071 void set_status(int stat) 00072 { 00073 _status = stat; 00074 } 00075 int get_status() 00076 { 00077 return _status; 00078 } 00079 };