Alida-C++ 0.1
|
00001 /* 00002 * This file is part of the Alida-C++ library, an 00003 * 00004 * Advanced Library for Integrated Development of Data Analysis Applications. 00005 * 00006 * Copyright (C) 2012 - @YEAR@ 00007 * 00008 * This program is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation, either version 3 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 * 00021 * Fore more information on Alida, visit 00022 * 00023 * http://www.informatik.uni-halle.de/alida/ 00024 * 00025 */ 00026 00027 /* 00028 * Most recent change(s): 00029 * 00030 * $Rev: 34 $ 00031 * $Date: 2012-02-18 20:29:54 +0100 (Sa, 18 Feb 2012) $ 00032 * $Author: moeller $ 00033 * 00034 */ 00035 00036 #ifndef IOM_CMDLINE_H_INCLUDED 00037 #define IOM_CMDLINE_H_INCLUDED 00038 00039 #include <map> 00040 #include <string> 00041 00042 #include "../external/loki-0.1.7/include/loki/Singleton.h" 00043 00044 #include "dataio/ALDDataIOManager.h" 00045 00046 /* 00047 * Definition for the Loki library to enable multithread support for the 00048 * singleton class. 00049 */ 00050 #define LOKI_OBJECT_LEVEL_THREADING 00051 00052 namespace Alida { 00053 00055 00062 class _ALDDataIOManagerCmdline : public ALDDataIOManager 00063 { 00064 protected: 00065 00067 _ALDDataIOManagerCmdline() {}; 00068 00070 virtual ~_ALDDataIOManagerCmdline() {}; 00071 00072 /* 00073 * Friend declarations. 00074 */ 00075 friend class Loki::CreateUsingNew<Alida::_ALDDataIOManagerCmdline>; 00076 00077 public: 00078 00080 void* readData(std::string, std::string); 00081 00083 std::string writeData(std::string format, std::string type, void* data); 00084 }; 00085 00086 } 00087 00091 /* @{ */ 00092 00094 typedef Loki::SingletonHolder<Alida::_ALDDataIOManagerCmdline, 00095 Loki::CreateUsingNew, 00096 Loki::DefaultLifetime, 00097 Loki::SingleThreaded 00098 > ALDDataIOManagerCmdline; 00099 00100 /* @} */ 00101 00102 #endif /* IOM_CMDLINE_H_INCLUDED */