irplib_framelist.h

00001 /* $Id: irplib_framelist.h,v 1.7 2006/07/20 11:45:14 llundin Exp $
00002  *
00003  * This file is part of the irplib package 
00004  * Copyright (C) 2002,2003 European Southern Observatory
00005  *
00006  * This program is free software; you can redistribute it and/or modify
00007  * it under the terms of the GNU General Public License as published by
00008  * the Free Software Foundation; either version 2 of the License, or
00009  * (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02111-1307  USA
00019  */
00020 
00021 /*
00022  * $Author: llundin $
00023  * $Date: 2006/07/20 11:45:14 $
00024  * $Revision: 1.7 $
00025  * $Name: uves-3_9_0 $
00026  */
00027 
00028 #ifndef IRPLIB_FRAMELIST_H
00029 #define IRPLIB_FRAMELIST_H
00030 
00031 /*-----------------------------------------------------------------------------
00032                                    Includes
00033  -----------------------------------------------------------------------------*/
00034 
00035 #include <stdarg.h>
00036 
00037 #include <cpl.h>
00038 
00039 /*-----------------------------------------------------------------------------
00040                                    New type
00041  -----------------------------------------------------------------------------*/
00042 
00043 typedef struct _irplib_framelist_ irplib_framelist;
00044 
00045 /*-----------------------------------------------------------------------------
00046                                    Function prototypes
00047  -----------------------------------------------------------------------------*/
00048 
00049 /* Constructors and destructor */
00050 
00051 irplib_framelist * irplib_framelist_new(void);
00052 
00053 void irplib_framelist_delete(irplib_framelist *);
00054 
00055 irplib_framelist * irplib_framelist_cast(const cpl_frameset *);
00056 
00057 irplib_framelist * irplib_framelist_extract(const irplib_framelist *,
00058                                             const char *);
00059 irplib_framelist * irplib_framelist_extract_regexp(const irplib_framelist *,
00060                                                    const char *, cpl_boolean);
00061 
00062 /* Accessors and element modifiers */
00063 
00064 int irplib_framelist_get_size(const irplib_framelist *);
00065 
00066 const cpl_frame * irplib_framelist_get_const(const irplib_framelist *, int);
00067 
00068 cpl_frame * irplib_framelist_get(irplib_framelist *, int);
00069 
00070 const cpl_propertylist * irplib_framelist_get_propertylist_const(
00071                                                        const irplib_framelist *,
00072                                                        int);
00073 
00074 cpl_propertylist * irplib_framelist_get_propertylist(irplib_framelist *, int);
00075 
00076 cpl_error_code irplib_framelist_set_propertylist(irplib_framelist *, int,
00077                                                  const cpl_propertylist *);
00078 
00079 cpl_error_code irplib_framelist_load_propertylist(irplib_framelist *, int,
00080                                                   int, const char *,
00081                                                   cpl_boolean);
00082 
00083 cpl_error_code irplib_framelist_load_propertylist_all(irplib_framelist *, int,
00084                                                       const char *,
00085                                                       cpl_boolean);
00086 
00087 cpl_error_code irplib_framelist_set_tag_all(irplib_framelist *, const char *);
00088 
00089 
00090 /* Inserting and removing elements */
00091 
00092 cpl_error_code irplib_framelist_set(irplib_framelist *, cpl_frame *, int);
00093 
00094 cpl_error_code irplib_framelist_erase(irplib_framelist *, int);
00095 
00096 cpl_frame * irplib_framelist_unset(irplib_framelist *, int, cpl_propertylist **);
00097 
00098 void irplib_framelist_empty(irplib_framelist *);
00099 
00100 /* Others */
00101 cpl_error_code irplib_framelist_contains(const irplib_framelist *, const char *,
00102                                          cpl_type, cpl_boolean, double);
00103 
00104 cpl_imagelist * irplib_imagelist_load_framelist(const irplib_framelist *,
00105                                                 cpl_type, int, int);
00106 
00107 cpl_frameset * irplib_frameset_cast(const irplib_framelist *);
00108 
00109 #endif

Generated on Fri Apr 18 14:11:41 2008 for UVES Pipeline Reference Manual by  doxygen 1.5.1