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

Obit.h

Go to the documentation of this file.
00001 /* $Id: Obit.h,v 1.10 2007/08/31 17:24:48 bcotton Exp $            */
00002 /*--------------------------------------------------------------------*/
00003 /*;  Copyright (C) 2002-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 OBIT_H 
00029 #define OBIT_H 
00030 #include <glib.h>
00031 #include <string.h>
00032 #include "memwatch.h"  /* For debugging memory problems */
00033 #include <stdio.h>
00034 #include <stdlib.h>
00035 #include <math.h>
00036 #include "ObitTypes.h"
00037 #include "ObitErr.h"
00054 /*-------- Obit: Software for the recently deceased ------------------*/
00055 /*-------------- enumerations -------------------------------------*/
00056 /*--------------Class definitions-------------------------------------*/
00062 #define OBIT_ID 0x4f626974
00063 
00068 typedef struct {
00069 #include "ObitDef.h"    /* actual CLASS definition */
00070 } Obit;
00071 
00072 /*---------------Public functions---------------------------*/
00074 Obit* newObit (gchar* name);
00075 /* define type for ClassInfo structure */
00076 typedef gpointer (*newObitFP)(gchar* name);
00077 
00079 void ObitClassInit (void);
00080 typedef void (*ObitClassInitFP) (void);
00081 
00083 gconstpointer ObitGetClass (void);
00084 typedef gconstpointer (*ObitGetClassFP)(void);
00085 
00087 Obit* ObitCopy  (Obit *in, Obit *out, ObitErr *err);
00088 typedef gpointer (*ObitCopyFP)   (gpointer in, gpointer out, 
00089                                   ObitErr *err);
00090 
00092 Obit* ObitClone (Obit *in, Obit *out);
00093 typedef gpointer (*ObitCloneFP)  (Obit* in, Obit* out);
00094 
00096 gpointer ObitRef (gpointer in);
00097 typedef  gpointer (*ObitRefFP)   (gpointer in);
00098 
00100 gpointer ObitUnref (gpointer in);
00101 typedef gpointer (*ObitUnrefFP) (gpointer *in);
00102 
00105 gboolean ObitIsA (gpointer in, gconstpointer type);
00106 typedef gboolean (*ObitIsAFP) (gpointer in, gconstpointer class);
00107 
00109 gfloat ObitMagicF (void);
00110 
00112 void ObitTrimTrail (gchar *str);
00113 
00115 gboolean ObitStrCmp (gchar *str1, gchar *str2, gint maxlen);
00116 
00118 gchar* ObitToday (void);
00119 
00121 typedef void (*ObitInitFP)      (gpointer in);
00122 typedef void (*ObitClearFP)     (gpointer in);
00123 
00124 /*----------------------- Class Info ---------------------------------*/
00126 void ObitClassInfoDefFn (gpointer inClass);
00127 typedef void (*ObitClassInfoDefFnFP) (gpointer inClass);
00128 
00134 typedef struct  {
00135 #include "ObitClassDef.h" /* actual definitions */
00136 } ObitClassInfo; 
00137 
00139 gboolean ObitInfoIsA (ObitClassInfo* in, ObitClassInfo* type);
00140 typedef gboolean (*ObitInfoIsAFP) (ObitClassInfo* in, ObitClassInfo* type);
00141 
00142 
00143 #endif /* OBIT_H */ 

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