MASA-Core
libmasa.hpp
Go to the documentation of this file.
00001 /*******************************************************************************
00002  *
00003  * Copyright (c) 2010-2015   Edans Sandes
00004  *
00005  * This file is part of MASA-Core.
00006  * 
00007  * MASA-Core is free software: you can redistribute it and/or modify
00008  * it under the terms of the GNU General Public License as published by
00009  * the Free Software Foundation, either version 3 of the License, or
00010  * (at your option) any later version.
00011  * 
00012  * MASA-Core is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU General Public License for more details.
00016  * 
00017  * You should have received a copy of the GNU General Public License
00018  * along with MASA-Core.  If not, see <http://www.gnu.org/licenses/>.
00019  *
00020  ******************************************************************************/
00021 
00022 #ifndef LIBMASA_HPP_
00023 #define LIBMASA_HPP_
00024 
00025 /* libmasa includes */
00026 #include "libmasaTypes.hpp"
00027 #include "IManager.hpp"
00028 #include "IAligner.hpp"
00029 #include "IAlignerParameter.hpp"
00030 #include "parameters/AbstractAlignerParameters.hpp"
00031 #include "capabilities.hpp"
00032 #include "Partition.hpp"
00033 #include "Grid.hpp"
00034 #include "aligners/AbstractAligner.hpp"
00035 #include "aligners/AbstractBlockAligner.hpp"
00036 #include "aligners/AbstractDiagonalAligner.hpp"
00037 #include "aligners/AbstractAlignerSafe.hpp"
00038 #include "processors/AbstractBlockProcessor.hpp"
00039 #include "processors/CPUBlockProcessor.hpp"
00040 
00041 /* libmasa util includes */
00042 #include "utils/AlignerUtils.hpp"
00043 
00044 /* libmasa block pruning classes */
00045 #include "pruning/AbstractBlockPruning.hpp"
00046 #include "pruning/BlockPruningDiagonal.hpp"
00047 #include "pruning/BlockPruningGenericN2.hpp"
00048 
00049 
00050 /**
00051  * Entry point for the MASA architecture. This function must be called
00052  * in the main procedure of the extension. The main argc/argv parameter
00053  * must be passed to the libmasa_entry_point in order to process the
00054  * command line parameters.
00055  *
00056  * @see The aligner/example/main.cpp source file contains a simple example
00057  * of calling the int libmasa_entry_point function.
00058  *
00059  *
00060  * @param argc  number of arguments
00061  * @param argv  command line arguments
00062  * @param aligner       an instance of the IAligner that will execute the
00063  *                              alignment procedure.
00064  * @param aligner_header optional text to be print in the usage information.
00065  * @return      exit code.
00066  */
00067 int libmasa_entry_point(int argc, char** argv, IAligner* aligner, char* aligner_header=NULL);
00068 
00069 
00070 #endif /* LIBMASA_HPP_ */