00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
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
00063
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
00083
00084
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