From b10e08180dc1576fbe0f838a9f0277ab4b3f40f4 Mon Sep 17 00:00:00 2001 From: Keith Davis Date: Thu, 17 Oct 2019 09:52:50 +0100 Subject: Fix for bug where ProfilingConnectionDumpToFactory is not used in profiling service Signed-off-by: Keith Davis Change-Id: I962093766a79fefc8fb91b9bc3d5bd8f28c35114 --- .../ProfilingConnectionDumpToFileDecorator.cpp | 28 ++++++++++++---------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'src/profiling/ProfilingConnectionDumpToFileDecorator.cpp') diff --git a/src/profiling/ProfilingConnectionDumpToFileDecorator.cpp b/src/profiling/ProfilingConnectionDumpToFileDecorator.cpp index d7915624f6..5a14aa864e 100644 --- a/src/profiling/ProfilingConnectionDumpToFileDecorator.cpp +++ b/src/profiling/ProfilingConnectionDumpToFileDecorator.cpp @@ -19,9 +19,11 @@ namespace profiling ProfilingConnectionDumpToFileDecorator::ProfilingConnectionDumpToFileDecorator( std::unique_ptr connection, - const Settings& settings) - : m_Connection(std::move(connection)) - , m_Settings(settings) + const Runtime::CreationOptions::ExternalProfilingOptions& options, + bool ignoreFailures) + : m_Connection(std::move(connection)) + , m_Options(options) + , m_IgnoreFileErrors(ignoreFailures) { if (!m_Connection) { @@ -49,7 +51,7 @@ void ProfilingConnectionDumpToFileDecorator::Close() bool ProfilingConnectionDumpToFileDecorator::WritePacket(const unsigned char* buffer, uint32_t length) { bool success = true; - if (m_Settings.m_DumpOutgoing) + if (!m_Options.m_OutgoingCaptureFile.empty()) { success &= DumpOutgoingToFile(buffer, length); } @@ -60,7 +62,7 @@ bool ProfilingConnectionDumpToFileDecorator::WritePacket(const unsigned char* bu Packet ProfilingConnectionDumpToFileDecorator::ReadPacket(uint32_t timeout) { Packet packet = m_Connection->ReadPacket(timeout); - if (m_Settings.m_DumpIncoming) + if (!m_Options.m_IncomingCaptureFile.empty()) { DumpIncomingToFile(packet); } @@ -69,13 +71,13 @@ Packet ProfilingConnectionDumpToFileDecorator::ReadPacket(uint32_t timeout) bool ProfilingConnectionDumpToFileDecorator::OpenIncomingDumpFile() { - m_IncomingDumpFileStream.open(m_Settings.m_IncomingDumpFileName, std::ios::out | std::ios::binary); + m_IncomingDumpFileStream.open(m_Options.m_IncomingCaptureFile, std::ios::out | std::ios::binary); return m_IncomingDumpFileStream.is_open(); } bool ProfilingConnectionDumpToFileDecorator::OpenOutgoingDumpFile() { - m_OutgoingDumpFileStream.open(m_Settings.m_OutgoingDumpFileName, std::ios::out | std::ios::binary); + m_OutgoingDumpFileStream.open(m_Options.m_OutgoingCaptureFile, std::ios::out | std::ios::binary); return m_OutgoingDumpFileStream.is_open(); } @@ -93,9 +95,9 @@ void ProfilingConnectionDumpToFileDecorator::DumpIncomingToFile(const Packet& pa { // attempt to open dump file success &= OpenIncomingDumpFile(); - if (!(success || m_Settings.m_IgnoreFileErrors)) + if (!(success || m_IgnoreFileErrors)) { - Fail("Failed to open \"" + m_Settings.m_IncomingDumpFileName + "\" for writing"); + Fail("Failed to open \"" + m_Options.m_IncomingCaptureFile + "\" for writing"); } } @@ -109,7 +111,7 @@ void ProfilingConnectionDumpToFileDecorator::DumpIncomingToFile(const Packet& pa boost::numeric_cast(packetLength)); success &= m_IncomingDumpFileStream.good(); - if (!(success || m_Settings.m_IgnoreFileErrors)) + if (!(success || m_IgnoreFileErrors)) { Fail("Error writing incoming packet of " + std::to_string(packetLength) + " bytes"); } @@ -130,9 +132,9 @@ bool ProfilingConnectionDumpToFileDecorator::DumpOutgoingToFile(const unsigned c { // attempt to open dump file success &= OpenOutgoingDumpFile(); - if (!(success || m_Settings.m_IgnoreFileErrors)) + if (!(success || m_IgnoreFileErrors)) { - Fail("Failed to open \"" + m_Settings.m_OutgoingDumpFileName + "\" for writing"); + Fail("Failed to open \"" + m_Options.m_OutgoingCaptureFile + "\" for writing"); } } @@ -140,7 +142,7 @@ bool ProfilingConnectionDumpToFileDecorator::DumpOutgoingToFile(const unsigned c m_OutgoingDumpFileStream.write(reinterpret_cast(buffer), boost::numeric_cast(length)); success &= m_OutgoingDumpFileStream.good(); - if (!(success || m_Settings.m_IgnoreFileErrors)) + if (!(success || m_IgnoreFileErrors)) { Fail("Error writing outgoing packet of " + std::to_string(length) + " bytes"); } -- cgit v1.2.1