Blame synfig-core/src/tool/definitions.cpp

Diego Barrios Romero 0b9c51
/* === S Y N F I G ========================================================= */
Diego Barrios Romero 0b9c51
/*!	\file tool/definitions.cpp
Diego Barrios Romero 0b9c51
**	\brief Implementation of the definitions header file for synfig tool
Diego Barrios Romero 0b9c51
**
Diego Barrios Romero 0b9c51
**	$Id$
Diego Barrios Romero 0b9c51
**
Diego Barrios Romero 0b9c51
**	\legal
Diego Barrios Romero 0b9c51
**  Copyright (c) 2014 Diego Barrios Romero
Diego Barrios Romero 0b9c51
**
Diego Barrios Romero 0b9c51
**	This package is free software; you can redistribute it and/or
Diego Barrios Romero 0b9c51
**	modify it under the terms of the GNU General Public License as
Diego Barrios Romero 0b9c51
**	published by the Free Software Foundation; either version 2 of
Diego Barrios Romero 0b9c51
**	the License, or (at your option) any later version.
Diego Barrios Romero 0b9c51
**
Diego Barrios Romero 0b9c51
**	This package is distributed in the hope that it will be useful,
Diego Barrios Romero 0b9c51
**	but WITHOUT ANY WARRANTY; without even the implied warranty of
Diego Barrios Romero 0b9c51
**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Diego Barrios Romero 0b9c51
**	General Public License for more details.
Diego Barrios Romero 0b9c51
**	\endlegal
Diego Barrios Romero 0b9c51
*/
Diego Barrios Romero 0b9c51
/* ========================================================================= */
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
#include "definitions.h"
Diego Barrios Romero 0b9c51
#include "synfigtoolexception.h"
Diego Barrios Romero 0b9c51
bw 94d8a6
#include <synfig localization.h=""></synfig>
bw 94d8a6
#include <synfig general.h=""></synfig>
bw 94d8a6
Diego Barrios Romero 0b9c51
#include <synfig main.h=""></synfig>
Diego Barrios Romero 0b9c51
509b0d
509b0d
std::shared_ptr<synfigtoolgeneraloptions> SynfigToolGeneralOptions::_instance;</synfigtoolgeneraloptions>
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
void SynfigToolGeneralOptions::create_singleton_instance(const char* argv0)
Diego Barrios Romero 0b9c51
{
509b0d
	_instance = std::shared_ptr<synfigtoolgeneraloptions>(</synfigtoolgeneraloptions>
Diego Barrios Romero 0b9c51
					new SynfigToolGeneralOptions(argv0));
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
SynfigToolGeneralOptions* SynfigToolGeneralOptions::instance()
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	if (_instance.get() == NULL)
Diego Barrios Romero 0b9c51
	{
Diego Barrios Romero 0b9c51
		throw SynfigToolException(SYNFIGTOOL_UNKNOWNERROR,
Diego Barrios Romero 0b9c51
								  _("Uninitialized Synfig tool general options singleton."));
Diego Barrios Romero 0b9c51
	}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
	return _instance.get();
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
SynfigToolGeneralOptions::SynfigToolGeneralOptions(const char* argv0)
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	_binary_path = synfig::get_binary_path(argv0);
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
	_verbosity = 0;
Diego Barrios Romero 0b9c51
	_should_be_quiet = false;
Diego Barrios Romero 0b9c51
	_should_print_benchmarks = false;
Diego Barrios Romero 0b9c51
	_threads = 1;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
509b0d
std::string SynfigToolGeneralOptions::get_binary_path() const
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	return _binary_path;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
size_t SynfigToolGeneralOptions::get_threads() const
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	return _threads;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
void SynfigToolGeneralOptions::set_threads(size_t threads)
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	_threads = threads;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
int SynfigToolGeneralOptions::get_verbosity() const
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	return _verbosity;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
void SynfigToolGeneralOptions::set_verbosity(int verbosity)
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	_verbosity = verbosity;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
bool SynfigToolGeneralOptions::should_be_quiet() const
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	return _should_be_quiet;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
void SynfigToolGeneralOptions::set_should_be_quiet(bool be_quiet)
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	_should_be_quiet = be_quiet;
9dfcef
	synfig::synfig_quiet_mode = be_quiet;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
bool SynfigToolGeneralOptions::should_print_benchmarks() const
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	return _should_print_benchmarks;
Diego Barrios Romero 0b9c51
}
Diego Barrios Romero 0b9c51
Diego Barrios Romero 0b9c51
void SynfigToolGeneralOptions::set_should_print_benchmarks(bool print_benchmarks)
Diego Barrios Romero 0b9c51
{
Diego Barrios Romero 0b9c51
	_should_print_benchmarks = print_benchmarks;
Diego Barrios Romero 0b9c51
}