#define MICHLIB_NOSOURCE #include "data.h" MString Data::Init(const CLArgs& args) { MString src = args.contains("source") ? args.at("source") : ""; if(!src.Exist()) return "No source specified"; if(src == "NEMO") { NEMOData data; auto res = data.Open(args); if(res.Exist()) return "Can't open source " + src + ":\n" + res; *this = Data(std::move(data)); } else if(src == "AVISO") { AVISOData data; auto res = data.Open(args); if(res.Exist()) return "Can't open source " + src + ":\n" + res; *this = Data(std::move(data)); } else if(src == "AVISOLOCAL") { AVISOLOCALData data; auto res = data.Open(args); if(res.Exist()) return "Can't open source " + src + ":\n" + res; *this = Data(std::move(data)); } else if(src == "HYCOM") { HYCOMData data; auto res = data.Open(args); if(res.Exist()) return "Can't open source " + src + ":\n" + res; *this = Data(std::move(data)); } else if(src == "BINFILE") { BINFILEData data; auto res = data.Open(args); if(res.Exist()) return "Can't open source " + src + ":\n" + res; *this = Data(std::move(data)); } else return "Unknown source: " + src; return ""; }