From a7d83f19b08eb4c6f79a82fe60c2b86db13f4420 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 24 Nov 2018 13:44:03 +0100 Subject: Squashed 'waflib/' changes from 6e726eb1..5ea8f99f 5ea8f99f Improve test output spacing 0e23b29f Raise exception when test suite fails to ensure non-zero exit status d6de073b Show run time of unit tests 5b655541 Add short configure option for ultra-strict flags 4687ba6d Use gtest-like test output 258903d9 Fix failure count in test group summaries da07e738 Fix verbose tests with Python 3 git-subtree-dir: waflib git-subtree-split: 5ea8f99f6e1246079c1fe6bb590c38a53aadd40d --- src/Log.cpp | 162 ------------------------------------------------------------ 1 file changed, 162 deletions(-) delete mode 100644 src/Log.cpp (limited to 'src/Log.cpp') diff --git a/src/Log.cpp b/src/Log.cpp deleted file mode 100644 index 6145bcd1..00000000 --- a/src/Log.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/* - This file is part of Ingen. - Copyright 2007-2016 David Robillard - - Ingen is free software: you can redistribute it and/or modify it under the - terms of the GNU Affero General Public License as published by the Free - Software Foundation, either version 3 of the License, or any later version. - - Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Affero General Public License for details. - - You should have received a copy of the GNU Affero General Public License - along with Ingen. If not, see . -*/ - -#include - -#include "ingen/Log.hpp" -#include "ingen/Node.hpp" -#include "ingen/URIs.hpp" -#include "ingen/World.hpp" -#include "ingen/ColorContext.hpp" - -namespace Ingen { - -Log::Log(LV2_Log_Log* log, URIs& uris) - : _log(log) - , _uris(uris) - , _flush(false) - , _trace(false) -{} - -void -Log::rt_error(const char* msg) -{ -#ifndef NDEBUG - va_list args; - vtprintf(_uris.log_Error, msg, args); -#endif -} - -void -Log::error(const std::string& msg) -{ - va_list args; - vtprintf(_uris.log_Error, msg.c_str(), args); -} - -void -Log::warn(const std::string& msg) -{ - va_list args; - vtprintf(_uris.log_Warning, msg.c_str(), args); -} - -void -Log::info(const std::string& msg) -{ - va_list args; - vtprintf(_uris.log_Note, msg.c_str(), args); -} - -void -Log::trace(const std::string& msg) -{ - va_list args; - vtprintf(_uris.log_Trace, msg.c_str(), args); -} - -void -Log::print(FILE* stream, const std::string& msg) -{ - fprintf(stream, "%s", msg.c_str()); - if (_flush) { - fflush(stdout); - } -} - -int -Log::vtprintf(LV2_URID type, const char* fmt, va_list args) -{ - int ret = 0; - if (type == _uris.log_Trace && !_trace) { - return 0; - } else if (_sink) { - _sink(type, fmt, args); - } - - if (_log) { - ret = _log->vprintf(_log->handle, type, fmt, args); - } else if (type == _uris.log_Error) { - ColorContext ctx(stderr, ColorContext::Color::RED); - ret = vfprintf(stderr, fmt, args); - } else if (type == _uris.log_Warning) { - ColorContext ctx(stderr, ColorContext::Color::YELLOW); - ret = vfprintf(stderr, fmt, args); - } else if (type == _uris.log_Note) { - ColorContext ctx(stderr, ColorContext::Color::GREEN); - ret = vfprintf(stdout, fmt, args); - } else if (_trace && type == _uris.log_Trace) { - ColorContext ctx(stderr, ColorContext::Color::GREEN); - ret = vfprintf(stderr, fmt, args); - } else { - fprintf(stderr, "Unknown log type %d\n", type); - return 0; - } - if (_flush) { - fflush(stdout); - } - return ret; -} - -static int -log_vprintf(LV2_Log_Handle handle, LV2_URID type, const char* fmt, va_list args) -{ - Log::Feature::Handle* f = (Log::Feature::Handle*)handle; - va_list noargs; - - int ret = f->log->vtprintf(type, f->node->path().c_str(), noargs); - ret += f->log->vtprintf(type, ": ", noargs); - ret += f->log->vtprintf(type, fmt, args); - - return ret; -} - -static int -log_printf(LV2_Log_Handle handle, LV2_URID type, const char* fmt, ...) -{ - va_list args; - va_start(args, fmt); - const int ret = log_vprintf(handle, type, fmt, args); - va_end(args); - - return ret; -} - -static void -free_log_feature(LV2_Feature* feature) { - LV2_Log_Log* lv2_log = (LV2_Log_Log*)feature->data; - free(lv2_log->handle); - free(feature); -} - -SPtr -Log::Feature::feature(World* world, Node* block) -{ - Handle* handle = (Handle*)calloc(1, sizeof(Handle)); - handle->lv2_log.handle = handle; - handle->lv2_log.printf = log_printf; - handle->lv2_log.vprintf = log_vprintf; - handle->log = &world->log(); - handle->node = block; - - LV2_Feature* f = (LV2_Feature*)malloc(sizeof(LV2_Feature)); - f->URI = LV2_LOG__log; - f->data = &handle->lv2_log; - - return SPtr(f, &free_log_feature); -} - -} // namespace Ingen -- cgit v1.2.1