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

ObitIO.h

Go to the documentation of this file.
00001 /* $Id: ObitIO.h,v 1.7 2007/08/31 17:24:48 bcotton Exp $              */
00002 /*--------------------------------------------------------------------*/
00003 /*;  Copyright (C) 2003-2007                                          */
00004 /*;  Associated Universities, Inc. Washington DC, USA.                */
00005 /*;                                                                   */
00006 /*;  This program is free software; you can redistribute it and/or    */
00007 /*;  modify it under the terms of the GNU General Public License as   */
00008 /*;  published by the Free Software Foundation; either version 2 of   */
00009 /*;  the License, or (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        */
00017 /*;  License along with this program; if not, write to the Free       */
00018 /*;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,     */
00019 /*;  MA 02139, USA.                                                   */
00020 /*;                                                                   */
00021 /*; Correspondence about this software should be addressed as follows:*/
00022 /*;         Internet email: bcotton@nrao.edu.                         */
00023 /*;         Postal address: William Cotton                            */
00024 /*;                         National Radio Astronomy Observatory      */
00025 /*;                         520 Edgemont Road                         */
00026 /*;                         Charlottesville, VA 22903-2475 USA        */
00027 /*--------------------------------------------------------------------*/
00028 #ifndef OBITIO_H 
00029 #define OBITIO_H 
00030 #include "Obit.h"
00031 #include "ObitErr.h"
00032 #include "ObitThread.h"
00033 #include "ObitInfoList.h"
00034 #include "ObitImageDesc.h"
00035 #include "ObitUVDesc.h"
00036 #include "ObitUVCal.h"
00037 
00038 /*-------- ObitIO: Software for the recently deceased ------------------*/
00058 /*---------------Class Structure---------------------------*/
00060 typedef struct {
00061 #include "ObitIODef.h"   /* actual definition */
00062 } ObitIO;
00063 
00064 /*----------------- Macroes ---------------------------*/
00070 #define ObitIOUnref(in) ObitUnref (in)
00071 
00077 #define ObitIORef(in) ObitRef (in)
00078 
00085 #define ObitIOIsA(in) ObitIsA (in, ObitIOGetClass())
00086 
00087 /* Private functions are only defined in the .c file */
00088 
00089 /*---------------Public functions---------------------------*/
00091 void ObitIOClassInit (void);
00092 
00094 ObitIO* newObitIO (gchar *name, ObitInfoList *info,
00095                    ObitErr *err);
00097 typedef ObitIO* (*newObitIOFP) (gchar* name, ObitInfoList *info,
00098                                 ObitErr *err);
00099 
00101 gconstpointer ObitIOGetClass (void);
00102 
00104 gboolean ObitIOSame (ObitIO *in, ObitInfoList *in1, ObitInfoList *in2, 
00105                      ObitErr *err);
00106 typedef gboolean (*ObitIOSameFP) (ObitIO *in, ObitInfoList *in1, 
00107                                   ObitInfoList *in2, ObitErr *err);
00108 
00110 void ObitIORename  (ObitIO *in, ObitInfoList *info, ObitErr *err);
00111 typedef void (*ObitIORenameFP) (ObitIO *in,  ObitInfoList *info, ObitErr *err);
00112 
00114 void ObitIOZap  (ObitIO *in, ObitErr *err);
00115 typedef void (*ObitIOZapFP) (ObitIO *in, ObitErr *err);
00116 
00118 ObitIO* ObitIOCopy  (ObitIO *in, ObitIO *out, ObitErr *err);
00119 
00121 ObitIOCode ObitIOOpen (ObitIO *in, ObitIOAccess access, ObitInfoList *info, 
00122              ObitErr *err);
00123 typedef ObitIOCode (*ObitIOOpenFP) (ObitIO *in, ObitIOAccess access, 
00124                                   ObitInfoList *info, ObitErr *err);
00125 
00127 ObitIOCode ObitIOClose (ObitIO *in, ObitErr *err);
00128 typedef ObitIOCode (*ObitIOCloseFP) (ObitIO *in, ObitErr *err);
00129 
00131 ObitIOCode ObitIOSet (ObitIO *in, ObitInfoList *info, ObitErr *err);
00132 typedef ObitIOCode (*ObitIOSetFP) (ObitIO *in, ObitInfoList *info, 
00133                                  ObitErr *err);
00134 
00136 ObitIOCode ObitIORead (ObitIO *in, gfloat *data, ObitErr *err);
00137 typedef ObitIOCode (*ObitIOReadFP) (ObitIO *in, gfloat *data, ObitErr *err);
00138 
00140 ObitIOCode ObitIOReadRow (ObitIO *in, glong rowno, gfloat *data, ObitErr *err);
00141 typedef ObitIOCode (*ObitIOReadRowFP) (ObitIO *in, glong rowno, gfloat *data, 
00142                                     ObitErr *err);
00143 
00145 ObitIOCode ObitIOReadSelect (ObitIO *in, gfloat *data, ObitErr *err);
00146 typedef ObitIOCode (*ObitIOReadSelectFP) (ObitIO *in, gfloat *data, 
00147                                           ObitErr *err);
00148 
00150 ObitIOCode ObitIOReadRowSelect (ObitIO *in, glong rowno, gfloat *data, ObitErr *err);
00151 typedef ObitIOCode (*ObitIOReadRowSelectFP) (ObitIO *in, glong rowno, gfloat *data, 
00152                                           ObitErr *err);
00153 
00155 ObitIOCode ObitIOWrite (ObitIO *in, gfloat *data, ObitErr *err);
00156 typedef ObitIOCode (*ObitIOWriteFP) (ObitIO *in, gfloat *data, ObitErr *err);
00157 
00159 ObitIOCode ObitIOWriteRow (ObitIO *in, glong rowno, gfloat *data, ObitErr *err);
00160 typedef ObitIOCode (*ObitIOWriteRowFP) (ObitIO *in, glong rowno, gfloat *data, 
00161                                      ObitErr *err);
00162 
00164 ObitIOCode ObitIOFlush (ObitIO *in, ObitErr *err);
00165 typedef ObitIOCode (*ObitIOFlushFP) (ObitIO *in, ObitErr *err);
00166 
00168 ObitIOCode ObitIOReadDescriptor (ObitIO *in, ObitErr *err);
00169 typedef ObitIOCode (*ObitIOReadDescriptorFP) (ObitIO *in, ObitErr *err);
00170 
00172 ObitIOCode ObitIOWriteDescriptor (ObitIO *in, ObitErr *err);
00173 typedef ObitIOCode (*ObitIOWriteDescriptorFP) (ObitIO *in, ObitErr *err);
00174 
00176 void ObitIOCreateBuffer (gfloat **data, glong *size, ObitIO *in, 
00177                          ObitInfoList *info, ObitErr *err);
00178 typedef void (*ObitIOCreateBufferFP) (gfloat **data, glong *size, ObitIO *in, 
00179                          ObitInfoList *info, ObitErr *err);
00180 
00182 void ObitIOFreeBuffer (gfloat *buffer);
00183 typedef void (*ObitIOFreeBufferFP) (gfloat *buffer);
00184 
00187 Obit* newObitIOTable (ObitIO *in, ObitIOAccess access, 
00188                       gchar *tabType, glong *tabver, ObitErr *err);
00189 typedef Obit* (*newObitIOTableFP) (ObitIO *in, ObitIOAccess access, 
00190                                    gchar *tabType, glong *tabver, 
00191                                    ObitErr *err);
00192 
00194 ObitIOCode ObitIOUpdateTables (ObitIO *in, ObitInfoList *info, ObitErr *err);
00195 typedef ObitIOCode (*ObitIOUpdateTablesFP) (ObitIO *in, ObitInfoList *info, 
00196                                             ObitErr *err);
00197 
00198 /*-------------------Class Info--------------------------*/
00199 
00205 typedef struct  {
00206 #include "ObitIOClassDef.h" /* Actual definition */
00207 } ObitIOClassInfo; 
00208 
00209 
00210 #endif /* OBITIO_H */ 

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