Main Page | Class List | Directories | File List | Class Members | File Members

ObitInfoList.h

Go to the documentation of this file.
00001 /* $Id: ObitInfoList.h,v 1.4 2006/05/09 13:07:53 bcotton Exp $        */
00002 /*--------------------------------------------------------------------*/
00003 /*;  Copyright (C) 2002-2006                                          */
00004 /*;  Associated Universities, Inc. Washington DC, USA.                */
00005 /*;  This program is free software; you can redistribute it and/or    */
00006 /*;  modify it under the terms of the GNU General Public License as   */
00007 /*;  published by the Free Software Foundation; either version 2 of   */
00008 /*;  the License, or (at your option) any later version.              */
00009 /*;                                                                   */
00010 /*;  This program is distributed in the hope that it will be useful,  */
00011 /*;  but WITHOUT ANY WARRANTY; without even the implied warranty of   */
00012 /*;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    */
00013 /*;  GNU General Public License for more details.                     */
00014 /*;                                                                   */
00015 /*;  You should have received a copy of the GNU General Public        */
00016 /*;  License along with this program; if not, write to the Free       */
00017 /*;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,     */
00018 /*;  MA 02139, USA.                                                   */
00019 /*;                                                                   */
00020 /*;  Correspondence this software should be addressed as follows:     */
00021 /*;         Internet email: bcotton@nrao.edu.                         */
00022 /*;         Postal address: William Cotton                            */
00023 /*;                         National Radio Astronomy Observatory      */
00024 /*;                         520 Edgemont Road                         */
00025 /*;                         Charlottesville, VA 22903-2475 USA        */
00026 /*--------------------------------------------------------------------*/
00027 #ifndef OBITINFOLIST_H 
00028 #define OBITINFOLIST_H 
00029 #include <stdio.h>
00030 #include <glib.h>
00031 #include "ObitErr.h"
00032 #include "ObitInfoElem.h"
00033 
00034 /*-------- Obit: Software for the recently deceased ------------------*/
00063 /*---------------Class Structure---------------------------*/
00065 typedef struct {
00067   gchar className[16];
00069   gint32  ReferenceCount;
00071   gint32 number;
00073   GSList* list;
00075   gint32 dim[MAXINFOELEMDIM];
00077   gint work[10];
00079   gfloat fwork[10];
00080 } ObitInfoList;
00081 
00082 /* Private functions are only defined in the .c file */
00083 
00084 /*---------------Public functions---------------------------*/
00086 ObitInfoList* newObitInfoList (void);
00087 
00089 ObitInfoList* freeObitInfoList (ObitInfoList *in);
00090 
00092 ObitInfoList* ObitInfoListCopy (ObitInfoList* in);
00093 
00095 ObitInfoList* ObitInfoListRef (ObitInfoList* in);
00096 
00098 ObitInfoList* ObitInfoListUnref (ObitInfoList* in);
00099 
00101 ObitInfoList* ObitInfoListCopyData (ObitInfoList* in, ObitInfoList* out);
00102 
00104 void ObitInfoListCopyList(ObitInfoList* in, ObitInfoList* out, gchar **list);
00105 
00107 void ObitInfoListPut(ObitInfoList *in, 
00108                       gchar* name, ObitInfoType type, gint32 *dim, 
00109                       gconstpointer data, ObitErr *err);
00110 
00112 void ObitInfoListAlwaysPut(ObitInfoList *in, 
00113                       gchar* name, ObitInfoType type, gint32 *dim, 
00114                       gconstpointer data);
00115 
00117 gboolean ObitInfoListInfo(ObitInfoList *in, 
00118                       gchar *name, ObitInfoType *type, gint32 *dim, 
00119                       ObitErr *err);
00120 
00122 gboolean ObitInfoListGet(ObitInfoList *in, 
00123                       gchar *name, ObitInfoType *type, gint32 *dim, 
00124                       gpointer data, ObitErr *err);
00125 
00127 gboolean ObitInfoListGetP(ObitInfoList *in, 
00128                           gchar *name, ObitInfoType *type, gint32 *dim, 
00129                           gpointer *data);
00130 
00132 gboolean ObitInfoListGetTest(ObitInfoList *in, 
00133                       gchar *name, ObitInfoType *type, gint32 *dim, 
00134                       gpointer data);
00135 
00137 gboolean 
00138 ObitInfoListGetNumber(ObitInfoList *in, gint number,
00139                       gchar **name, ObitInfoType *type, gint32 *dim, 
00140                       gpointer data, ObitErr *err);
00141 
00143 gboolean 
00144 ObitInfoListGetNumberP(ObitInfoList *in, gint number,
00145                        gchar **name, ObitInfoType *type, gint32 *dim, 
00146                        gpointer *data);
00147 
00149 void ObitInfoListRemove (ObitInfoList *in, gchar *name);
00150 
00152 void ObitInfoListResize(ObitInfoList *in, 
00153                         gchar *name, ObitInfoType type, gint32 *dim);
00154 
00156 void ObitInfoListPrint (ObitInfoList *in, FILE *file);
00157 
00159 gboolean ObitInfoListIsA (ObitInfoList* in);
00160 
00161 #endif /* OBITINFOLIST_H */ 

Generated on Fri Aug 31 22:13:04 2007 for Obit by  doxygen 1.3.9.1