00001 // -*- C++ -*- 00002 00003 #ifndef _included_DAGHIO_h 00004 #define _included_DAGHIO_h 00005 00011 /* Add new types here */ 00012 #define DAGHIO_NONE (0) 00013 #define DAGHIO_HDF_NCSA (1) 00014 00015 #include "DAGHIOParams.h" 00016 00017 #ifdef IO_NCSAIO 00018 /* IO a la NCSA */ 00019 extern void DAGHIO_HDF_NCSA_Write(class GridHierarchy &, struct gdhdr *, void *); 00020 extern void DAGHIO_HDF_NCSA_Read(class GridHierarchy &, struct gdhdr *, void *); 00021 extern void DAGHIO_HDF_NCSA_Flush(class GridHierarchy &); 00022 extern void DAGHIO_HDF_NCSA_Close(class GridHierarchy &); 00023 #endif 00024 00025 inline void DAGHIOInit(void) 00026 { 00027 if (!DAGHIO_Write) DAGHIO_Write = new DAGHIO_WriteFunc[DAGHMaxIOTypes]; 00028 if (!DAGHIO_Read) DAGHIO_Read = new DAGHIO_ReadFunc[DAGHMaxIOTypes]; 00029 if (!DAGHIO_Flush) DAGHIO_Flush = new DAGHIO_PingFunc[DAGHMaxIOTypes]; 00030 if (!DAGHIO_Close) DAGHIO_Close = new DAGHIO_PingFunc[DAGHMaxIOTypes]; 00031 00032 DAGHIO_Write[DAGHIO_NONE] = 0; 00033 DAGHIO_Read[DAGHIO_NONE] = 0; 00034 DAGHIO_Flush[DAGHIO_NONE] = 0; 00035 DAGHIO_Close[DAGHIO_NONE] = 0; 00036 00037 #ifdef IO_NCSAIO 00038 DAGHIO_Write[DAGHIO_HDF_NCSA] = &DAGHIO_HDF_NCSA_Write; 00039 DAGHIO_Read[DAGHIO_HDF_NCSA] = &DAGHIO_HDF_NCSA_Read; 00040 DAGHIO_Flush[DAGHIO_HDF_NCSA] = &DAGHIO_HDF_NCSA_Flush; 00041 DAGHIO_Close[DAGHIO_HDF_NCSA] = &DAGHIO_HDF_NCSA_Close; 00042 #endif 00043 } 00044 00045 #endif