// Classe d'initialisation du module FitsIOServer #include "sopnamsp.h" #include "machdefs.h" #include "fiosinit.h" #include "fitsmanager.h" #include "fitshdtable.h" #include "fitsarrhand.h" #include "fitsntuple.h" #include "fitsspherehealpix.h" #include "fitsspherethetaphi.h" #include "fitslocalmap.h" #include /*! \class SOPHYA::FitsIOServerInitiator \ingroup FitsIOServer Perform registration of fits handlers. \sa SOPHYA::FitsManager */ int FitsIOServerInitiator::FgInit = 0; // Module version number - 2.0 , Jul 2006 #define MOD_VERS 2.0 FitsIOServerInitiator::FitsIOServerInitiator() : SophyaInitiator() { FitsIOServerInitiator::FgInit++; if (FitsIOServerInitiator::FgInit > 1) return; // Enregistrement des classes FitsHandler //DBG cout << " ---- FitsIOServerInitiator / DEBUG ---- debut RegisterHandler " << endl; FitsManager::RegisterHandler(new FitsArrayHandler , 1, "TArray"); FitsManager::RegisterHandler(new FitsArrayHandler , 1, "TArray "); FitsManager::RegisterHandler(new FitsArrayHandler , 1, "TArray"); FitsManager::RegisterHandler(new FitsArrayHandler< r_8 > , 1, "TArray"); FitsManager::RegisterHandler(new FitsHandler, 1, "DataTable"); // Enregistrement des classes heritant de FitsIOHandler FitsManager::RegisterHandler(new FITS_NTuple, 0, "NTuple"); FitsManager::RegisterHandler(new FITS_SphereHEALPix , 0, "SphereHEALPix"); FitsManager::RegisterHandler(new FITS_SphereHEALPix , 0, "SphereHEALPix"); FitsManager::RegisterHandler(new FITS_SphereHEALPix , 0, "SphereHEALPix"); FitsManager::RegisterHandler(new FITS_SphereThetaPhi , 0, "SphereThetaPhi"); FitsManager::RegisterHandler(new FITS_SphereThetaPhi , 0, "SphereThetaPhi"); FitsManager::RegisterHandler(new FITS_SphereThetaPhi , 0, "SphereThetaPhi"); FitsManager::RegisterHandler(new FITS_LocalMap , 0, "LocalMap"); FitsManager::RegisterHandler(new FITS_LocalMap , 0, "LocalMap"); FitsManager::RegisterHandler(new FITS_LocalMap , 0, "LocalMap"); //DBG cout << " ---- FitsIOServerInitiator / DEBUG ---- ListHandlers() : " << endl; //DBG FitsManager::ListHandlers(); SophyaInitiator::RegisterModule("FitsIOServer", MOD_VERS); // Module name and version number registration } FitsIOServerInitiator::~FitsIOServerInitiator() { FitsIOServerInitiator::FgInit--; } // On met un objet initiator en statique, pour les loaders qui savent // appeler le constructeur des objets statiques // #if !defined(Darwin) // Probleme rencontre de nouveau en Juillet 2006 sur MacOS : // La presence de l'objet statique fait planter les progs linkes libextsophya.dylib // static FitsIOServerInitiator s_fios_init_; // #endif