1 #ifndef libjmmcg_isimud_exchanges_links_fix_to_link_main_hpp 2 #define libjmmcg_isimud_exchanges_links_fix_to_link_main_hpp 3 4 /****************************************************************************** 5 ** $Header: svn+ssh://jmmcg@svn.code.sf.net/p/libjmmcg/code/trunk/libjmmcg/core/exchanges/links/fix_to_mit_main.hpp 2055 2017-05-13 19:35:47Z jmmcg $ 6 ** 7 ** Copyright (c) 2017 by J.M.McGuiness, isimud@hussar.me.uk 8 ** 9 ** This library is free software; you can redistribute it and/or 10 ** modify it under the terms of the GNU Lesser General Public 11 ** License as published by the Free Software Foundation; either 12 ** version 2.1 of the License, or (at your option) any later version. 13 ** 14 ** This library is distributed in the hope that it will be useful, 15 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 16 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 ** Lesser General Public License for more details. 18 ** 19 ** You should have received a copy of the GNU Lesser General Public 20 ** License along with this library; if not, write to the Free Software 21 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 22 */ 23 24 #include "../FIX/v5.0sp2/fix.hpp" 25 26 #include "core/config.h" 27 #include "core/exit_codes.hpp" 28 29 #include <boost/program_options.hpp> 30 31 #include <csignal> 32 #include <fstream> 33 #include <iostream> 34 35 namespace isimud { namespace exchanges { 36 37 class fix_to_link { 38 protected: 39 template<class Link, class Operation> 40 static int main(int argc, char const * const *argv, boost::program_options::options_description &&all, Operation &&op) noexcept(true); 41 42 private: 43 static volatile std::sig_atomic_t signal_status; 44 45 static void signal_handler(int signal) noexcept(true); 46 }; 47 48 } } 49 50 #include "fix_to_link_main_impl.hpp" 51 52 #endif