From 0390d41b39350a361735e8a9f712cc25f3adaab4 Mon Sep 17 00:00:00 2001 From: Zdenek Prikryl Date: Wed, 4 Feb 2009 17:04:38 +0100 Subject: reflect new plugin interface added new setting in the conf file --- lib/Plugins/CCpp.cpp | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) (limited to 'lib/Plugins/CCpp.cpp') diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp index 54ec090..ce65acd 100644 --- a/lib/Plugins/CCpp.cpp +++ b/lib/Plugins/CCpp.cpp @@ -22,6 +22,8 @@ #include "CCpp.h" #include #include +#include "DebugDump.h" +#include #define CORE_PATTERN_IFACE "/proc/sys/kernel/core_pattern" #define CORE_PATTERN CCPP_HOOK_PATH" %p %t %s" @@ -30,20 +32,28 @@ CLanguageCCpp::CLanguageCCpp() : m_bMemoryMap(false) {} -std::string CLanguageCCpp::GetUUID(void* pData) +std::string CLanguageCCpp::GetLocalUUID(const std::string& pDebugDumpPath) { - if (m_bMemoryMap) - return "UUID a memory map"; - else - return "UUID bez memory map"; + std::stringstream ss; + char* core; + unsigned int size; + CDebugDump dd; + dd.Open(pDebugDumpPath); + dd.LoadBinary(FILENAME_BINARYDATA1, &core, &size); + + // TODO: write proper handler + ss << size; + return ss.str(); } -std::string CLanguageCCpp::GetReport(void* pData) +std::string CLanguageCCpp::GetReport(const std::string& pDebugDumpPath) { - return "reportuju jak blazen"; + // TODO: install or mount debug-infos + // TODO: + return "report"; } -void CLanguageCCpp::Init(const map_settings_t& pSettings) +void CLanguageCCpp::Init() { std::ifstream fInCorePattern; fInCorePattern.open(CORE_PATTERN_IFACE); @@ -59,12 +69,6 @@ void CLanguageCCpp::Init(const map_settings_t& pSettings) fOutCorePattern << CORE_PATTERN << std::endl; fOutCorePattern.close(); } - - if (pSettings.find("MemoryMap")!= pSettings.end()) - { - m_bMemoryMap = pSettings.find("MemoryMap")->second == "yes"; - } - } @@ -78,3 +82,11 @@ void CLanguageCCpp::DeInit() fOutCorePattern.close(); } } + +void CLanguageCCpp::SetSettings(const map_settings_t& pSettings) +{ + if (pSettings.find("MemoryMap")!= pSettings.end()) + { + m_bMemoryMap = pSettings.find("MemoryMap")->second == "yes"; + } +} -- cgit