InstrumentMgr.hh 739 Bytes
/*
 * InstrumentMgr.hh
 *
 *  Created on: Oct 6, 2014
 *      Author: m.mazel
 */

#ifndef INSTRUMENTMGR_HH_
#define INSTRUMENTMGR_HH_

#include <string>

#include "dsgpatt_Singleton.hh"
#include "InstrumentInfo.hh"

namespace AMDA {
namespace Info {

/**
 * @class InstrumentMgr
 * @brief Singleton to manage all instrument information
 * @details
 */
class InstrumentMgr : public ::Singleton<InstrumentMgr> {
public:
	const InstrumentInfoSPtr getInstrumentInfoFromId (const std::string &id);

private:
	InstrumentInfoSPtr getInstrumentInfoFromFile (const std::string &xmlFilename);

	// Instrument Informations list
	InstrumentInfoMap	_instrumentInfoMap;
};

} /* namespace Info */
} /* namespace AMDA */

#endif /* INSTRUMENTMGR_HH_ */