irplib_framelist.h

00001 /* $Id: irplib_framelist.h,v 1.8 2008/11/20 10:24:47 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: 2008/11/20 10:24:47 $
00024  * $Revision: 1.8 $
00025  * $Name: HEAD $
00026  */
00027 
00028 #ifndef IRPLIB_FRAMELIST_H
00029 #define IRPLIB_FRAMELIST_H
00030 
00031 /*-----------------------------------------------------------------------------
00032                                    Includes
00033  -----------------------------------------------------------------------------*/
00034 
00035 #include <cpl.h>
00036 
00037 /*-----------------------------------------------------------------------------
00038                                    New type
00039  -----------------------------------------------------------------------------*/
00040 
00041 typedef struct _irplib_framelist_ irplib_framelist;
00042 
00043 /*-----------------------------------------------------------------------------
00044                                    Function prototypes
00045  -----------------------------------------------------------------------------*/
00046 
00047 /* Constructors and destructor */
00048 
00049 irplib_framelist * irplib_framelist_new(void);
00050 
00051 void irplib_framelist_delete(irplib_framelist *);
00052 
00053 irplib_framelist * irplib_framelist_cast(const cpl_frameset *);
00054 
00055 irplib_framelist * irplib_framelist_extract(const irplib_framelist *,
00056                                             const char *);
00057 irplib_framelist * irplib_framelist_extract_regexp(const irplib_framelist *,
00058                                                    const char *, cpl_boolean);
00059 
00060 /* Accessors and element modifiers */
00061 
00062 int irplib_framelist_get_size(const irplib_framelist *);
00063 
00064 const cpl_frame * irplib_framelist_get_const(const irplib_framelist *, int);
00065 
00066 cpl_frame * irplib_framelist_get(irplib_framelist *, int);
00067 
00068 const cpl_propertylist * irplib_framelist_get_propertylist_const(
00069                                                        const irplib_framelist *,
00070                                                        int);
00071 
00072 cpl_propertylist * irplib_framelist_get_propertylist(irplib_framelist *, int);
00073 
00074 cpl_error_code irplib_framelist_set_propertylist(irplib_framelist *, int,
00075                                                  const cpl_propertylist *);
00076 
00077 cpl_error_code irplib_framelist_load_propertylist(irplib_framelist *, int,
00078                                                   int, const char *,
00079                                                   cpl_boolean);
00080 
00081 cpl_error_code irplib_framelist_load_propertylist_all(irplib_framelist *, int,
00082                                                       const char *,
00083                                                       cpl_boolean);
00084 
00085 cpl_error_code irplib_framelist_set_tag_all(irplib_framelist *, const char *);
00086 
00087 
00088 /* Inserting and removing elements */
00089 
00090 cpl_error_code irplib_framelist_set(irplib_framelist *, cpl_frame *, int);
00091 
00092 cpl_error_code irplib_framelist_erase(irplib_framelist *, int);
00093 
00094 cpl_frame * irplib_framelist_unset(irplib_framelist *, int, cpl_propertylist **);
00095 
00096 void irplib_framelist_empty(irplib_framelist *);
00097 
00098 /* Others */
00099 cpl_error_code irplib_framelist_contains(const irplib_framelist *, const char *,
00100                                          cpl_type, cpl_boolean, double);
00101 
00102 cpl_imagelist * irplib_imagelist_load_framelist(const irplib_framelist *,
00103                                                 cpl_type, int, int);
00104 
00105 cpl_frameset * irplib_frameset_cast(const irplib_framelist *);
00106 
00107 #endif

Generated on 3 Mar 2013 for SINFONI Pipeline Reference Manual by  doxygen 1.6.1