00001 #ifndef acsutilWildcard_h 00002 #define acsutilWildcard_h 00003 00004 /******************************************************************* 00005 * ALMA - Atacama Large Millimiter Array 00006 * (c) European Southern Observatory, 2002 00007 * Copyright by ESO (in the framework of the ALMA collaboration) 00008 * and Cosylab 2002, All rights reserved 00009 * 00010 * This implementation was adpoted from: 00011 * 00012 * Copyright (C) 1996, 1997, 1998, 1999, 2000 Florian Schintke 00013 * 00014 * This library is free software; you can redistribute it and/or 00015 * modify it under the terms of the GNU Lesser General Public 00016 * License as published by the Free Software Foundation; either 00017 * version 2.1 of the License, or (at your option) any later version. 00018 * 00019 * This library is distributed in the hope that it will be useful, 00020 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 * Lesser General Public License for more details. 00023 * 00024 * You should have received a copy of the GNU Lesser General Public 00025 * License along with this library; if not, write to the Free Software 00026 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307 USA 00027 * 00028 * F.Schintke, the author of the original code, has authorized to 00029 * distribute these files under LGPL License. 00030 * 00031 * "@(#) $Id: acsutilWildcard.h,v 1.16 2005/08/26 22:22:54 dfugate Exp $" 00032 * 00033 * ---------------------- 00034 * Implementation of the UN*X wildcards 00035 * Supported wild-characters: '*', '?'; sets: [a-z], '!' negation 00036 * Examples: 00037 * '[a-g]l*i?n' matches 'florian' 00038 * '[!abc]*e' matches 'smile' 00039 * '[-z] matches 'a' 00040 * 00041 * 00042 * who when what 00043 * -------- -------- ---------------------------------------------- 00044 * gchiozzi 2002-12-05 Added proper GPL licence header 00045 * msekoran 2001/06/20 created 00046 */ 00047 00048 #ifndef __cplusplus 00049 #error This is a C++ include file and cannot be used from plain C 00050 #endif 00051 00056 #include <acsutil.h> 00057 #include <acsutilExport.h> 00058 00063 class acsutil_EXPORT Wildcard 00064 { 00065 00066 public: 00067 00075 static int wildcardfit (const char *wildcard, const char *test); 00076 00077 private: 00087 static int set (const char **wildcard, const char **test); 00088 00095 static int asterisk (const char **wildcard, const char **test); 00096 }; 00097 00098 00099 #endif /* acsutilWildcard_h */ 00100