Skip to content

Add Output Pane for Logs and Messages #2663

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 74 commits into from
Mar 31, 2025
Merged

Add Output Pane for Logs and Messages #2663

merged 74 commits into from
Mar 31, 2025

Conversation

sdottaka
Copy link
Member

@sdottaka sdottaka commented Mar 1, 2025

This PR adds an Output Pane for displaying logs and messages.

The Output Pane can be shown in two ways:

  1. Manually, by selecting View -> Output Pane from the menu.
  2. Automatically, when a log message with ERROR level is output.

image

@@ -22,7 +23,7 @@
/**
* @brief Document class for bytewise merging two files presented as hexdumps
*/
class CHexMergeDoc : public CDocument, public IMergeDoc
class CHexMergeDoc : public CDocument, public IMergeDoc, public IMDITab

Check notice

Code scanning / CodeQL

Undisciplined multiple inheritance Note

Multiple inheritance should not be used with 2 interfaces, 0 private implementations, 0 protected implementations, and 1 public implementations.

Copilot Autofix

AI 26 days ago

To fix the problem, we need to ensure that CHexMergeDoc conforms to the restricted form of multiple inheritance. This means:

  • Inheriting from only one protected base class.
  • Inheriting from multiple interfaces (pure virtual classes).
  • Inheriting from multiple private implementations if needed.

In this case, we should:

  1. Ensure that IMergeDoc and IMDITab are pure virtual classes (interfaces).
  2. Change the inheritance of IMergeDoc and IMDITab to public to indicate they are interfaces.
  3. Ensure CDocument is the only class providing implementation and is inherited as protected.
Suggested changeset 1
Src/HexMergeDoc.h

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Src/HexMergeDoc.h b/Src/HexMergeDoc.h
--- a/Src/HexMergeDoc.h
+++ b/Src/HexMergeDoc.h
@@ -25,3 +25,3 @@
  */
-class CHexMergeDoc : public CDocument, public IMergeDoc, public IMDITab
+class CHexMergeDoc : protected CDocument, public IMergeDoc, public IMDITab
 {
EOF
@@ -25,3 +25,3 @@
*/
class CHexMergeDoc : public CDocument, public IMergeDoc, public IMDITab
class CHexMergeDoc : protected CDocument, public IMergeDoc, public IMDITab
{
Copilot is powered by AI and may make mistakes. Always verify output.
@@ -27,7 +28,7 @@
/**
* @brief Frame class for file compare, handles panes, statusbar etc.
*/
class CImgMergeFrame : public CMergeFrameCommon,public IMergeDoc
class CImgMergeFrame : public CMergeFrameCommon, public IMergeDoc, public IMDITab

Check notice

Code scanning / CodeQL

Undisciplined multiple inheritance Note

Multiple inheritance should not be used with 2 interfaces, 0 private implementations, 0 protected implementations, and 1 public implementations.

Copilot Autofix

AI 26 days ago

To fix the problem, we need to refactor the CImgMergeFrame class to conform to the restricted form of multiple inheritance. This involves:

  • Ensuring that the class inherits from only one protected base class.
  • Inheriting from multiple interfaces (pure virtual classes) if needed.
  • Using private inheritance for any implementation classes.

In this case, we can make IMergeDoc and IMDITab interfaces (pure virtual classes) and inherit from them publicly. We will keep CMergeFrameCommon as the single protected base class.

Suggested changeset 1
Src/ImgMergeFrm.h

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Src/ImgMergeFrm.h b/Src/ImgMergeFrm.h
--- a/Src/ImgMergeFrm.h
+++ b/Src/ImgMergeFrm.h
@@ -30,3 +30,3 @@
  */
-class CImgMergeFrame : public CMergeFrameCommon, public IMergeDoc, public IMDITab
+class CImgMergeFrame : protected CMergeFrameCommon, public IMergeDoc, public IMDITab
 {
EOF
@@ -30,3 +30,3 @@
*/
class CImgMergeFrame : public CMergeFrameCommon, public IMergeDoc, public IMDITab
class CImgMergeFrame : protected CMergeFrameCommon, public IMergeDoc, public IMDITab
{
Copilot is powered by AI and may make mistakes. Always verify output.
@@ -120,15 +121,15 @@
/**
* @brief Document class for merging two files
*/
class CMergeDoc : public CDocument, public IMergeDoc
class CMergeDoc : public CDocument, public IMergeDoc, public IMDITab

Check notice

Code scanning / CodeQL

Undisciplined multiple inheritance Note

Multiple inheritance should not be used with 2 interfaces, 0 private implementations, 0 protected implementations, and 1 public implementations.

Copilot Autofix

AI 26 days ago

To fix the problem, we need to ensure that CMergeDoc conforms to the restricted form of multiple inheritance. This means:

  • Inheriting from only one protected base class.
  • Inheriting from multiple interfaces (pure virtual classes).
  • Inheriting from multiple private implementations.

In this case, we can assume that IMergeDoc and IMDITab are interfaces (pure virtual classes). We should change the inheritance of IMDITab to private to conform to the restricted form of multiple inheritance.

Suggested changeset 1
Src/MergeDoc.h

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Src/MergeDoc.h b/Src/MergeDoc.h
--- a/Src/MergeDoc.h
+++ b/Src/MergeDoc.h
@@ -123,3 +123,3 @@
  */
-class CMergeDoc : public CDocument, public IMergeDoc, public IMDITab
+class CMergeDoc : public CDocument, public IMergeDoc, private IMDITab
 {
EOF
@@ -123,3 +123,3 @@
*/
class CMergeDoc : public CDocument, public IMergeDoc, public IMDITab
class CMergeDoc : public CDocument, public IMergeDoc, private IMDITab
{
Copilot is powered by AI and may make mistakes. Always verify output.
@@ -24,7 +25,7 @@
/**
* @brief Frame class for file compare, handles panes, statusbar etc.
*/
class CWebPageDiffFrame : public CMergeFrameCommon,public IMergeDoc
class CWebPageDiffFrame : public CMergeFrameCommon, public IMergeDoc, public IMDITab

Check notice

Code scanning / CodeQL

Undisciplined multiple inheritance Note

Multiple inheritance should not be used with 2 interfaces, 0 private implementations, 0 protected implementations, and 1 public implementations.

Copilot Autofix

AI 26 days ago

To fix the problem, we need to ensure that CWebPageDiffFrame conforms to the restricted form of multiple inheritance. This means it should inherit from only one public/protected class and any number of pure virtual interfaces.

The best way to fix this without changing existing functionality is to:

  1. Identify which of the inherited classes (CMergeFrameCommon, IMergeDoc, IMDITab) are pure virtual interfaces.
  2. Change the inheritance of CWebPageDiffFrame to inherit from only one public/protected class and the rest as pure virtual interfaces.
Suggested changeset 1
Src/WebPageDiffFrm.h

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Src/WebPageDiffFrm.h b/Src/WebPageDiffFrm.h
--- a/Src/WebPageDiffFrm.h
+++ b/Src/WebPageDiffFrm.h
@@ -27,3 +27,3 @@
  */
-class CWebPageDiffFrame : public CMergeFrameCommon, public IMergeDoc, public IMDITab
+class CWebPageDiffFrame : public CMergeFrameCommon, public IMergeDoc, private IMDITab
 {
EOF
@@ -27,3 +27,3 @@
*/
class CWebPageDiffFrame : public CMergeFrameCommon, public IMergeDoc, public IMDITab
class CWebPageDiffFrame : public CMergeFrameCommon, public IMergeDoc, private IMDITab
{
Copilot is powered by AI and may make mistakes. Always verify output.
@sdottaka sdottaka marked this pull request as ready for review March 31, 2025 10:23
@sdottaka sdottaka added this to the v2.16.47 milestone Mar 31, 2025
@sdottaka sdottaka changed the title WIP Add Output Pane for Logs and Messages Mar 31, 2025
@sdottaka sdottaka merged commit 8570243 into master Mar 31, 2025
2 of 3 checks passed
@sdottaka sdottaka deleted the outputpane branch March 31, 2025 10:25
@@ -26,6 +26,14 @@
#include "Path.cpp"
// Hashing
#include "Hash.cpp"
// Logging
#include "AsyncChannel.cpp"

Check notice

Code scanning / CodeQL

Include header files only Note

The #include pre-processor directive should only be used to include header files.

Copilot Autofix

AI 16 days ago

To fix the problem, we need to refactor the code to include only header files. This involves creating corresponding header files for each .cpp file included and then including these header files instead. The header files should contain the declarations of the classes, functions, and other entities defined in the .cpp files.

  1. Create header files (*.h) for each of the .cpp files included in Foundation.cpp.
  2. Move the declarations from the .cpp files to the corresponding header files.
  3. Include the newly created header files in Foundation.cpp instead of the .cpp files.
Suggested changeset 1
Externals/poco/Foundation/src/Foundation.cpp

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Externals/poco/Foundation/src/Foundation.cpp b/Externals/poco/Foundation/src/Foundation.cpp
--- a/Externals/poco/Foundation/src/Foundation.cpp
+++ b/Externals/poco/Foundation/src/Foundation.cpp
@@ -1,98 +1,98 @@
 // Core
-#include "Ascii.cpp"
-#include "AtomicCounter.cpp"
-#include "Bugcheck.cpp"
-#include "Debugger.cpp"
-#include "Environment.cpp"
-#include "Error.cpp"
-#include "Exception.cpp"
-#include "Format.cpp"
-#include "NumberFormatter.cpp"
-#include "NumberParser.cpp"
-#include "NumericString.cpp"
-#include "RefCountedObject.cpp"
-#include "StringTokenizer.cpp"
-#include "Void.cpp"
+#include "Ascii.h"
+#include "AtomicCounter.h"
+#include "Bugcheck.h"
+#include "Debugger.h"
+#include "Environment.h"
+#include "Error.h"
+#include "Exception.h"
+#include "Format.h"
+#include "NumberFormatter.h"
+#include "NumberParser.h"
+#include "NumericString.h"
+#include "RefCountedObject.h"
+#include "StringTokenizer.h"
+#include "Void.h"
 // DateTime
-#include "Clock.cpp"
-#include "DateTime.cpp"
-#include "Stopwatch.cpp"
-#include "Timespan.cpp"
-#include "Timestamp.cpp"
+#include "Clock.h"
+#include "DateTime.h"
+#include "Stopwatch.h"
+#include "Timespan.h"
+#include "Timestamp.h"
 // Filesystem
-#include "DirectoryIterator.cpp"
-#include "File.cpp"
-#include "Glob.cpp"
-#include "Path.cpp"
+#include "DirectoryIterator.h"
+#include "File.h"
+#include "Glob.h"
+#include "Path.h"
 // Hashing
-#include "Hash.cpp"
+#include "Hash.h"
 // Logging
-#include "AsyncChannel.cpp"
-#include "Channel.cpp"
-#include "LogFile.cpp"
-#include "LoggingRegistry.cpp"
-#include "SimpleFileChannel.cpp"
-#include "Message.cpp"
-#include "Configurable.cpp"
+#include "AsyncChannel.h"
+#include "Channel.h"
+#include "LogFile.h"
+#include "LoggingRegistry.h"
+#include "SimpleFileChannel.h"
+#include "Message.h"
+#include "Configurable.h"
 // Notifications
-#include "AbstractObserver.cpp"
-#include "Notification.cpp"
-#include "NotificationCenter.cpp"
-#include "NotificationQueue.cpp"
+#include "AbstractObserver.h"
+#include "Notification.h"
+#include "NotificationCenter.h"
+#include "NotificationQueue.h"
 // Processes
-#include "NamedEvent.cpp"
-#include "Pipe.cpp"
-#include "PipeImpl.cpp"
-#include "Process.cpp"
-#include "SharedMemory.cpp"
+#include "NamedEvent.h"
+#include "Pipe.h"
+#include "PipeImpl.h"
+#include "Process.h"
+#include "SharedMemory.h"
 // RegularExpression
-#include "RegularExpression.cpp"
+#include "RegularExpression.h"
 // Streams
-#include "Base64Decoder.cpp"
-#include "Base64Encoder.cpp"
-#include "BinaryReader.cpp"
-#include "BinaryWriter.cpp"
-#include "FileStream.cpp"
-#include "MemoryStream.cpp"
-#include "NullStream.cpp"
-#include "Random.cpp"
-#include "RandomStream.cpp"
-#include "StreamCopier.cpp"
+#include "Base64Decoder.h"
+#include "Base64Encoder.h"
+#include "BinaryReader.h"
+#include "BinaryWriter.h"
+#include "FileStream.h"
+#include "MemoryStream.h"
+#include "NullStream.h"
+#include "Random.h"
+#include "RandomStream.h"
+#include "StreamCopier.h"
 // Text
-#include "ASCIIEncoding.cpp"
-#include "Latin1Encoding.cpp"
-#include "Latin2Encoding.cpp"
-#include "Latin9Encoding.cpp"
-#include "StreamConverter.cpp"
-#include "TextBufferIterator.cpp"
-#include "TextConverter.cpp"
-#include "TextEncoding.cpp"
-#include "TextIterator.cpp"
-#include "Unicode.cpp"
-#include "UnicodeConverter.cpp"
-#include "UTF8Encoding.cpp"
-#include "UTF16Encoding.cpp"
-#include "UTF32Encoding.cpp"
-#include "Windows1250Encoding.cpp"
-#include "Windows1251Encoding.cpp"
-#include "Windows1252Encoding.cpp"
+#include "ASCIIEncoding.h"
+#include "Latin1Encoding.h"
+#include "Latin2Encoding.h"
+#include "Latin9Encoding.h"
+#include "StreamConverter.h"
+#include "TextBufferIterator.h"
+#include "TextConverter.h"
+#include "TextEncoding.h"
+#include "TextIterator.h"
+#include "Unicode.h"
+#include "UnicodeConverter.h"
+#include "UTF8Encoding.h"
+#include "UTF16Encoding.h"
+#include "UTF32Encoding.h"
+#include "Windows1250Encoding.h"
+#include "Windows1251Encoding.h"
+#include "Windows1252Encoding.h"
 // Threading
-#include "ActiveDispatcher.cpp"
-#include "Condition.cpp"
-#include "ErrorHandler.cpp"
-#include "Event.cpp"
-#include "Mutex.cpp"
-#include "Runnable.cpp"
-#include "RWLock.cpp"
-#include "Semaphore.cpp"
-#include "SynchronizedObject.cpp"
-#include "Thread.cpp"
-#include "ThreadLocal.cpp"
-#include "ThreadPool.cpp"
-#include "ThreadTarget.cpp"
-#include "Timer.cpp"
+#include "ActiveDispatcher.h"
+#include "Condition.h"
+#include "ErrorHandler.h"
+#include "Event.h"
+#include "Mutex.h"
+#include "Runnable.h"
+#include "RWLock.h"
+#include "Semaphore.h"
+#include "SynchronizedObject.h"
+#include "Thread.h"
+#include "ThreadLocal.h"
+#include "ThreadPool.h"
+#include "ThreadTarget.h"
+#include "Timer.h"
 // URI
-#include "FileStreamFactory.cpp"
-#include "URI.cpp"
-#include "URIStreamFactory.cpp"
-#include "URIStreamOpener.cpp"
+#include "FileStreamFactory.h"
+#include "URI.h"
+#include "URIStreamFactory.h"
+#include "URIStreamOpener.h"
EOF
Copilot is powered by AI and may make mistakes. Always verify output.
@@ -26,6 +26,14 @@
#include "Path.cpp"
// Hashing
#include "Hash.cpp"
// Logging
#include "AsyncChannel.cpp"
#include "Channel.cpp"

Check notice

Code scanning / CodeQL

Include header files only Note

The #include pre-processor directive should only be used to include header files.

Copilot Autofix

AI 16 days ago

To fix the problem, we need to refactor the code to include only header files. This involves the following steps:

  1. Create corresponding header files (*.h) for each of the included .cpp files if they do not already exist.
  2. Move the declarations (class declarations, function prototypes, etc.) from the .cpp files to the newly created header files.
  3. Ensure that the .cpp files include their corresponding header files.
  4. Replace the #include directives for the .cpp files in Foundation.cpp with #include directives for the corresponding header files.
Suggested changeset 1
Externals/poco/Foundation/src/Foundation.cpp

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Externals/poco/Foundation/src/Foundation.cpp b/Externals/poco/Foundation/src/Foundation.cpp
--- a/Externals/poco/Foundation/src/Foundation.cpp
+++ b/Externals/poco/Foundation/src/Foundation.cpp
@@ -1,98 +1,98 @@
 // Core
-#include "Ascii.cpp"
-#include "AtomicCounter.cpp"
-#include "Bugcheck.cpp"
-#include "Debugger.cpp"
-#include "Environment.cpp"
-#include "Error.cpp"
-#include "Exception.cpp"
-#include "Format.cpp"
-#include "NumberFormatter.cpp"
-#include "NumberParser.cpp"
-#include "NumericString.cpp"
-#include "RefCountedObject.cpp"
-#include "StringTokenizer.cpp"
-#include "Void.cpp"
+#include "Ascii.h"
+#include "AtomicCounter.h"
+#include "Bugcheck.h"
+#include "Debugger.h"
+#include "Environment.h"
+#include "Error.h"
+#include "Exception.h"
+#include "Format.h"
+#include "NumberFormatter.h"
+#include "NumberParser.h"
+#include "NumericString.h"
+#include "RefCountedObject.h"
+#include "StringTokenizer.h"
+#include "Void.h"
 // DateTime
-#include "Clock.cpp"
-#include "DateTime.cpp"
-#include "Stopwatch.cpp"
-#include "Timespan.cpp"
-#include "Timestamp.cpp"
+#include "Clock.h"
+#include "DateTime.h"
+#include "Stopwatch.h"
+#include "Timespan.h"
+#include "Timestamp.h"
 // Filesystem
-#include "DirectoryIterator.cpp"
-#include "File.cpp"
-#include "Glob.cpp"
-#include "Path.cpp"
+#include "DirectoryIterator.h"
+#include "File.h"
+#include "Glob.h"
+#include "Path.h"
 // Hashing
-#include "Hash.cpp"
+#include "Hash.h"
 // Logging
-#include "AsyncChannel.cpp"
-#include "Channel.cpp"
-#include "LogFile.cpp"
-#include "LoggingRegistry.cpp"
-#include "SimpleFileChannel.cpp"
-#include "Message.cpp"
-#include "Configurable.cpp"
+#include "AsyncChannel.h"
+#include "Channel.h"
+#include "LogFile.h"
+#include "LoggingRegistry.h"
+#include "SimpleFileChannel.h"
+#include "Message.h"
+#include "Configurable.h"
 // Notifications
-#include "AbstractObserver.cpp"
-#include "Notification.cpp"
-#include "NotificationCenter.cpp"
-#include "NotificationQueue.cpp"
+#include "AbstractObserver.h"
+#include "Notification.h"
+#include "NotificationCenter.h"
+#include "NotificationQueue.h"
 // Processes
-#include "NamedEvent.cpp"
-#include "Pipe.cpp"
-#include "PipeImpl.cpp"
-#include "Process.cpp"
-#include "SharedMemory.cpp"
+#include "NamedEvent.h"
+#include "Pipe.h"
+#include "PipeImpl.h"
+#include "Process.h"
+#include "SharedMemory.h"
 // RegularExpression
-#include "RegularExpression.cpp"
+#include "RegularExpression.h"
 // Streams
-#include "Base64Decoder.cpp"
-#include "Base64Encoder.cpp"
-#include "BinaryReader.cpp"
-#include "BinaryWriter.cpp"
-#include "FileStream.cpp"
-#include "MemoryStream.cpp"
-#include "NullStream.cpp"
-#include "Random.cpp"
-#include "RandomStream.cpp"
-#include "StreamCopier.cpp"
+#include "Base64Decoder.h"
+#include "Base64Encoder.h"
+#include "BinaryReader.h"
+#include "BinaryWriter.h"
+#include "FileStream.h"
+#include "MemoryStream.h"
+#include "NullStream.h"
+#include "Random.h"
+#include "RandomStream.h"
+#include "StreamCopier.h"
 // Text
-#include "ASCIIEncoding.cpp"
-#include "Latin1Encoding.cpp"
-#include "Latin2Encoding.cpp"
-#include "Latin9Encoding.cpp"
-#include "StreamConverter.cpp"
-#include "TextBufferIterator.cpp"
-#include "TextConverter.cpp"
-#include "TextEncoding.cpp"
-#include "TextIterator.cpp"
-#include "Unicode.cpp"
-#include "UnicodeConverter.cpp"
-#include "UTF8Encoding.cpp"
-#include "UTF16Encoding.cpp"
-#include "UTF32Encoding.cpp"
-#include "Windows1250Encoding.cpp"
-#include "Windows1251Encoding.cpp"
-#include "Windows1252Encoding.cpp"
+#include "ASCIIEncoding.h"
+#include "Latin1Encoding.h"
+#include "Latin2Encoding.h"
+#include "Latin9Encoding.h"
+#include "StreamConverter.h"
+#include "TextBufferIterator.h"
+#include "TextConverter.h"
+#include "TextEncoding.h"
+#include "TextIterator.h"
+#include "Unicode.h"
+#include "UnicodeConverter.h"
+#include "UTF8Encoding.h"
+#include "UTF16Encoding.h"
+#include "UTF32Encoding.h"
+#include "Windows1250Encoding.h"
+#include "Windows1251Encoding.h"
+#include "Windows1252Encoding.h"
 // Threading
-#include "ActiveDispatcher.cpp"
-#include "Condition.cpp"
-#include "ErrorHandler.cpp"
-#include "Event.cpp"
-#include "Mutex.cpp"
-#include "Runnable.cpp"
-#include "RWLock.cpp"
-#include "Semaphore.cpp"
-#include "SynchronizedObject.cpp"
-#include "Thread.cpp"
-#include "ThreadLocal.cpp"
-#include "ThreadPool.cpp"
-#include "ThreadTarget.cpp"
-#include "Timer.cpp"
+#include "ActiveDispatcher.h"
+#include "Condition.h"
+#include "ErrorHandler.h"
+#include "Event.h"
+#include "Mutex.h"
+#include "Runnable.h"
+#include "RWLock.h"
+#include "Semaphore.h"
+#include "SynchronizedObject.h"
+#include "Thread.h"
+#include "ThreadLocal.h"
+#include "ThreadPool.h"
+#include "ThreadTarget.h"
+#include "Timer.h"
 // URI
-#include "FileStreamFactory.cpp"
-#include "URI.cpp"
-#include "URIStreamFactory.cpp"
-#include "URIStreamOpener.cpp"
+#include "FileStreamFactory.h"
+#include "URI.h"
+#include "URIStreamFactory.h"
+#include "URIStreamOpener.h"
EOF
Copilot is powered by AI and may make mistakes. Always verify output.
// Logging
#include "AsyncChannel.cpp"
#include "Channel.cpp"
#include "LogFile.cpp"

Check notice

Code scanning / CodeQL

Include header files only Note

The #include pre-processor directive should only be used to include header files.

Copilot Autofix

AI 16 days ago

To fix the problem, we need to refactor the code to include only header files. This involves:

  1. Creating corresponding header files (.h or .hpp) for each of the .cpp files included.
  2. Moving the class declarations and function prototypes to these header files.
  3. Ensuring that the .cpp files include their corresponding header files.
  4. Updating the Foundation.cpp file to include the new header files instead of the .cpp files.
Suggested changeset 1
Externals/poco/Foundation/src/Foundation.cpp

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Externals/poco/Foundation/src/Foundation.cpp b/Externals/poco/Foundation/src/Foundation.cpp
--- a/Externals/poco/Foundation/src/Foundation.cpp
+++ b/Externals/poco/Foundation/src/Foundation.cpp
@@ -1,98 +1,98 @@
 // Core
-#include "Ascii.cpp"
-#include "AtomicCounter.cpp"
-#include "Bugcheck.cpp"
-#include "Debugger.cpp"
-#include "Environment.cpp"
-#include "Error.cpp"
-#include "Exception.cpp"
-#include "Format.cpp"
-#include "NumberFormatter.cpp"
-#include "NumberParser.cpp"
-#include "NumericString.cpp"
-#include "RefCountedObject.cpp"
-#include "StringTokenizer.cpp"
-#include "Void.cpp"
+#include "Ascii.h"
+#include "AtomicCounter.h"
+#include "Bugcheck.h"
+#include "Debugger.h"
+#include "Environment.h"
+#include "Error.h"
+#include "Exception.h"
+#include "Format.h"
+#include "NumberFormatter.h"
+#include "NumberParser.h"
+#include "NumericString.h"
+#include "RefCountedObject.h"
+#include "StringTokenizer.h"
+#include "Void.h"
 // DateTime
-#include "Clock.cpp"
-#include "DateTime.cpp"
-#include "Stopwatch.cpp"
-#include "Timespan.cpp"
-#include "Timestamp.cpp"
+#include "Clock.h"
+#include "DateTime.h"
+#include "Stopwatch.h"
+#include "Timespan.h"
+#include "Timestamp.h"
 // Filesystem
-#include "DirectoryIterator.cpp"
-#include "File.cpp"
-#include "Glob.cpp"
-#include "Path.cpp"
+#include "DirectoryIterator.h"
+#include "File.h"
+#include "Glob.h"
+#include "Path.h"
 // Hashing
-#include "Hash.cpp"
+#include "Hash.h"
 // Logging
-#include "AsyncChannel.cpp"
-#include "Channel.cpp"
-#include "LogFile.cpp"
-#include "LoggingRegistry.cpp"
-#include "SimpleFileChannel.cpp"
-#include "Message.cpp"
-#include "Configurable.cpp"
+#include "AsyncChannel.h"
+#include "Channel.h"
+#include "LogFile.h"
+#include "LoggingRegistry.h"
+#include "SimpleFileChannel.h"
+#include "Message.h"
+#include "Configurable.h"
 // Notifications
-#include "AbstractObserver.cpp"
-#include "Notification.cpp"
-#include "NotificationCenter.cpp"
-#include "NotificationQueue.cpp"
+#include "AbstractObserver.h"
+#include "Notification.h"
+#include "NotificationCenter.h"
+#include "NotificationQueue.h"
 // Processes
-#include "NamedEvent.cpp"
-#include "Pipe.cpp"
-#include "PipeImpl.cpp"
-#include "Process.cpp"
-#include "SharedMemory.cpp"
+#include "NamedEvent.h"
+#include "Pipe.h"
+#include "PipeImpl.h"
+#include "Process.h"
+#include "SharedMemory.h"
 // RegularExpression
-#include "RegularExpression.cpp"
+#include "RegularExpression.h"
 // Streams
-#include "Base64Decoder.cpp"
-#include "Base64Encoder.cpp"
-#include "BinaryReader.cpp"
-#include "BinaryWriter.cpp"
-#include "FileStream.cpp"
-#include "MemoryStream.cpp"
-#include "NullStream.cpp"
-#include "Random.cpp"
-#include "RandomStream.cpp"
-#include "StreamCopier.cpp"
+#include "Base64Decoder.h"
+#include "Base64Encoder.h"
+#include "BinaryReader.h"
+#include "BinaryWriter.h"
+#include "FileStream.h"
+#include "MemoryStream.h"
+#include "NullStream.h"
+#include "Random.h"
+#include "RandomStream.h"
+#include "StreamCopier.h"
 // Text
-#include "ASCIIEncoding.cpp"
-#include "Latin1Encoding.cpp"
-#include "Latin2Encoding.cpp"
-#include "Latin9Encoding.cpp"
-#include "StreamConverter.cpp"
-#include "TextBufferIterator.cpp"
-#include "TextConverter.cpp"
-#include "TextEncoding.cpp"
-#include "TextIterator.cpp"
-#include "Unicode.cpp"
-#include "UnicodeConverter.cpp"
-#include "UTF8Encoding.cpp"
-#include "UTF16Encoding.cpp"
-#include "UTF32Encoding.cpp"
-#include "Windows1250Encoding.cpp"
-#include "Windows1251Encoding.cpp"
-#include "Windows1252Encoding.cpp"
+#include "ASCIIEncoding.h"
+#include "Latin1Encoding.h"
+#include "Latin2Encoding.h"
+#include "Latin9Encoding.h"
+#include "StreamConverter.h"
+#include "TextBufferIterator.h"
+#include "TextConverter.h"
+#include "TextEncoding.h"
+#include "TextIterator.h"
+#include "Unicode.h"
+#include "UnicodeConverter.h"
+#include "UTF8Encoding.h"
+#include "UTF16Encoding.h"
+#include "UTF32Encoding.h"
+#include "Windows1250Encoding.h"
+#include "Windows1251Encoding.h"
+#include "Windows1252Encoding.h"
 // Threading
-#include "ActiveDispatcher.cpp"
-#include "Condition.cpp"
-#include "ErrorHandler.cpp"
-#include "Event.cpp"
-#include "Mutex.cpp"
-#include "Runnable.cpp"
-#include "RWLock.cpp"
-#include "Semaphore.cpp"
-#include "SynchronizedObject.cpp"
-#include "Thread.cpp"
-#include "ThreadLocal.cpp"
-#include "ThreadPool.cpp"
-#include "ThreadTarget.cpp"
-#include "Timer.cpp"
+#include "ActiveDispatcher.h"
+#include "Condition.h"
+#include "ErrorHandler.h"
+#include "Event.h"
+#include "Mutex.h"
+#include "Runnable.h"
+#include "RWLock.h"
+#include "Semaphore.h"
+#include "SynchronizedObject.h"
+#include "Thread.h"
+#include "ThreadLocal.h"
+#include "ThreadPool.h"
+#include "ThreadTarget.h"
+#include "Timer.h"
 // URI
-#include "FileStreamFactory.cpp"
-#include "URI.cpp"
-#include "URIStreamFactory.cpp"
-#include "URIStreamOpener.cpp"
+#include "FileStreamFactory.h"
+#include "URI.h"
+#include "URIStreamFactory.h"
+#include "URIStreamOpener.h"
EOF
Copilot is powered by AI and may make mistakes. Always verify output.
#include "AsyncChannel.cpp"
#include "Channel.cpp"
#include "LogFile.cpp"
#include "LoggingRegistry.cpp"

Check notice

Code scanning / CodeQL

Include header files only Note

The #include pre-processor directive should only be used to include header files.

Copilot Autofix

AI 16 days ago

To fix the problem, we need to refactor the code to include only header files. This involves:

  1. Creating corresponding header files (.h or .hpp) for each of the .cpp files included.
  2. Moving the declarations of classes, functions, and other necessary elements to these header files.
  3. Including these header files in the Foundation.cpp file instead of the .cpp files.
Suggested changeset 1
Externals/poco/Foundation/src/Foundation.cpp

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Externals/poco/Foundation/src/Foundation.cpp b/Externals/poco/Foundation/src/Foundation.cpp
--- a/Externals/poco/Foundation/src/Foundation.cpp
+++ b/Externals/poco/Foundation/src/Foundation.cpp
@@ -1,98 +1,98 @@
 // Core
-#include "Ascii.cpp"
-#include "AtomicCounter.cpp"
-#include "Bugcheck.cpp"
-#include "Debugger.cpp"
-#include "Environment.cpp"
-#include "Error.cpp"
-#include "Exception.cpp"
-#include "Format.cpp"
-#include "NumberFormatter.cpp"
-#include "NumberParser.cpp"
-#include "NumericString.cpp"
-#include "RefCountedObject.cpp"
-#include "StringTokenizer.cpp"
-#include "Void.cpp"
+#include "Ascii.h"
+#include "AtomicCounter.h"
+#include "Bugcheck.h"
+#include "Debugger.h"
+#include "Environment.h"
+#include "Error.h"
+#include "Exception.h"
+#include "Format.h"
+#include "NumberFormatter.h"
+#include "NumberParser.h"
+#include "NumericString.h"
+#include "RefCountedObject.h"
+#include "StringTokenizer.h"
+#include "Void.h"
 // DateTime
-#include "Clock.cpp"
-#include "DateTime.cpp"
-#include "Stopwatch.cpp"
-#include "Timespan.cpp"
-#include "Timestamp.cpp"
+#include "Clock.h"
+#include "DateTime.h"
+#include "Stopwatch.h"
+#include "Timespan.h"
+#include "Timestamp.h"
 // Filesystem
-#include "DirectoryIterator.cpp"
-#include "File.cpp"
-#include "Glob.cpp"
-#include "Path.cpp"
+#include "DirectoryIterator.h"
+#include "File.h"
+#include "Glob.h"
+#include "Path.h"
 // Hashing
-#include "Hash.cpp"
+#include "Hash.h"
 // Logging
-#include "AsyncChannel.cpp"
-#include "Channel.cpp"
-#include "LogFile.cpp"
-#include "LoggingRegistry.cpp"
-#include "SimpleFileChannel.cpp"
-#include "Message.cpp"
-#include "Configurable.cpp"
+#include "AsyncChannel.h"
+#include "Channel.h"
+#include "LogFile.h"
+#include "LoggingRegistry.h"
+#include "SimpleFileChannel.h"
+#include "Message.h"
+#include "Configurable.h"
 // Notifications
-#include "AbstractObserver.cpp"
-#include "Notification.cpp"
-#include "NotificationCenter.cpp"
-#include "NotificationQueue.cpp"
+#include "AbstractObserver.h"
+#include "Notification.h"
+#include "NotificationCenter.h"
+#include "NotificationQueue.h"
 // Processes
-#include "NamedEvent.cpp"
-#include "Pipe.cpp"
-#include "PipeImpl.cpp"
-#include "Process.cpp"
-#include "SharedMemory.cpp"
+#include "NamedEvent.h"
+#include "Pipe.h"
+#include "PipeImpl.h"
+#include "Process.h"
+#include "SharedMemory.h"
 // RegularExpression
-#include "RegularExpression.cpp"
+#include "RegularExpression.h"
 // Streams
-#include "Base64Decoder.cpp"
-#include "Base64Encoder.cpp"
-#include "BinaryReader.cpp"
-#include "BinaryWriter.cpp"
-#include "FileStream.cpp"
-#include "MemoryStream.cpp"
-#include "NullStream.cpp"
-#include "Random.cpp"
-#include "RandomStream.cpp"
-#include "StreamCopier.cpp"
+#include "Base64Decoder.h"
+#include "Base64Encoder.h"
+#include "BinaryReader.h"
+#include "BinaryWriter.h"
+#include "FileStream.h"
+#include "MemoryStream.h"
+#include "NullStream.h"
+#include "Random.h"
+#include "RandomStream.h"
+#include "StreamCopier.h"
 // Text
-#include "ASCIIEncoding.cpp"
-#include "Latin1Encoding.cpp"
-#include "Latin2Encoding.cpp"
-#include "Latin9Encoding.cpp"
-#include "StreamConverter.cpp"
-#include "TextBufferIterator.cpp"
-#include "TextConverter.cpp"
-#include "TextEncoding.cpp"
-#include "TextIterator.cpp"
-#include "Unicode.cpp"
-#include "UnicodeConverter.cpp"
-#include "UTF8Encoding.cpp"
-#include "UTF16Encoding.cpp"
-#include "UTF32Encoding.cpp"
-#include "Windows1250Encoding.cpp"
-#include "Windows1251Encoding.cpp"
-#include "Windows1252Encoding.cpp"
+#include "ASCIIEncoding.h"
+#include "Latin1Encoding.h"
+#include "Latin2Encoding.h"
+#include "Latin9Encoding.h"
+#include "StreamConverter.h"
+#include "TextBufferIterator.h"
+#include "TextConverter.h"
+#include "TextEncoding.h"
+#include "TextIterator.h"
+#include "Unicode.h"
+#include "UnicodeConverter.h"
+#include "UTF8Encoding.h"
+#include "UTF16Encoding.h"
+#include "UTF32Encoding.h"
+#include "Windows1250Encoding.h"
+#include "Windows1251Encoding.h"
+#include "Windows1252Encoding.h"
 // Threading
-#include "ActiveDispatcher.cpp"
-#include "Condition.cpp"
-#include "ErrorHandler.cpp"
-#include "Event.cpp"
-#include "Mutex.cpp"
-#include "Runnable.cpp"
-#include "RWLock.cpp"
-#include "Semaphore.cpp"
-#include "SynchronizedObject.cpp"
-#include "Thread.cpp"
-#include "ThreadLocal.cpp"
-#include "ThreadPool.cpp"
-#include "ThreadTarget.cpp"
-#include "Timer.cpp"
+#include "ActiveDispatcher.h"
+#include "Condition.h"
+#include "ErrorHandler.h"
+#include "Event.h"
+#include "Mutex.h"
+#include "Runnable.h"
+#include "RWLock.h"
+#include "Semaphore.h"
+#include "SynchronizedObject.h"
+#include "Thread.h"
+#include "ThreadLocal.h"
+#include "ThreadPool.h"
+#include "ThreadTarget.h"
+#include "Timer.h"
 // URI
-#include "FileStreamFactory.cpp"
-#include "URI.cpp"
-#include "URIStreamFactory.cpp"
-#include "URIStreamOpener.cpp"
+#include "FileStreamFactory.h"
+#include "URI.h"
+#include "URIStreamFactory.h"
+#include "URIStreamOpener.h"
EOF
Copilot is powered by AI and may make mistakes. Always verify output.
#include "Channel.cpp"
#include "LogFile.cpp"
#include "LoggingRegistry.cpp"
#include "SimpleFileChannel.cpp"

Check notice

Code scanning / CodeQL

Include header files only Note

The #include pre-processor directive should only be used to include header files.

Copilot Autofix

AI 16 days ago

To fix the problem, we need to refactor the code to include only header files. This involves creating header files for each of the .cpp files included and then including these header files instead. The header files should contain the declarations of the classes and functions, while the .cpp files should contain the definitions.

  1. Create a header file for each .cpp file included in Foundation.cpp.
  2. Move the declarations from the .cpp files to the corresponding header files.
  3. Replace the #include directives in Foundation.cpp to include the new header files instead of the .cpp files.
Suggested changeset 1
Externals/poco/Foundation/src/Foundation.cpp

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Externals/poco/Foundation/src/Foundation.cpp b/Externals/poco/Foundation/src/Foundation.cpp
--- a/Externals/poco/Foundation/src/Foundation.cpp
+++ b/Externals/poco/Foundation/src/Foundation.cpp
@@ -1,98 +1,98 @@
 // Core
-#include "Ascii.cpp"
-#include "AtomicCounter.cpp"
-#include "Bugcheck.cpp"
-#include "Debugger.cpp"
-#include "Environment.cpp"
-#include "Error.cpp"
-#include "Exception.cpp"
-#include "Format.cpp"
-#include "NumberFormatter.cpp"
-#include "NumberParser.cpp"
-#include "NumericString.cpp"
-#include "RefCountedObject.cpp"
-#include "StringTokenizer.cpp"
-#include "Void.cpp"
+#include "Ascii.h"
+#include "AtomicCounter.h"
+#include "Bugcheck.h"
+#include "Debugger.h"
+#include "Environment.h"
+#include "Error.h"
+#include "Exception.h"
+#include "Format.h"
+#include "NumberFormatter.h"
+#include "NumberParser.h"
+#include "NumericString.h"
+#include "RefCountedObject.h"
+#include "StringTokenizer.h"
+#include "Void.h"
 // DateTime
-#include "Clock.cpp"
-#include "DateTime.cpp"
-#include "Stopwatch.cpp"
-#include "Timespan.cpp"
-#include "Timestamp.cpp"
+#include "Clock.h"
+#include "DateTime.h"
+#include "Stopwatch.h"
+#include "Timespan.h"
+#include "Timestamp.h"
 // Filesystem
-#include "DirectoryIterator.cpp"
-#include "File.cpp"
-#include "Glob.cpp"
-#include "Path.cpp"
+#include "DirectoryIterator.h"
+#include "File.h"
+#include "Glob.h"
+#include "Path.h"
 // Hashing
-#include "Hash.cpp"
+#include "Hash.h"
 // Logging
-#include "AsyncChannel.cpp"
-#include "Channel.cpp"
-#include "LogFile.cpp"
-#include "LoggingRegistry.cpp"
-#include "SimpleFileChannel.cpp"
-#include "Message.cpp"
-#include "Configurable.cpp"
+#include "AsyncChannel.h"
+#include "Channel.h"
+#include "LogFile.h"
+#include "LoggingRegistry.h"
+#include "SimpleFileChannel.h"
+#include "Message.h"
+#include "Configurable.h"
 // Notifications
-#include "AbstractObserver.cpp"
-#include "Notification.cpp"
-#include "NotificationCenter.cpp"
-#include "NotificationQueue.cpp"
+#include "AbstractObserver.h"
+#include "Notification.h"
+#include "NotificationCenter.h"
+#include "NotificationQueue.h"
 // Processes
-#include "NamedEvent.cpp"
-#include "Pipe.cpp"
-#include "PipeImpl.cpp"
-#include "Process.cpp"
-#include "SharedMemory.cpp"
+#include "NamedEvent.h"
+#include "Pipe.h"
+#include "PipeImpl.h"
+#include "Process.h"
+#include "SharedMemory.h"
 // RegularExpression
-#include "RegularExpression.cpp"
+#include "RegularExpression.h"
 // Streams
-#include "Base64Decoder.cpp"
-#include "Base64Encoder.cpp"
-#include "BinaryReader.cpp"
-#include "BinaryWriter.cpp"
-#include "FileStream.cpp"
-#include "MemoryStream.cpp"
-#include "NullStream.cpp"
-#include "Random.cpp"
-#include "RandomStream.cpp"
-#include "StreamCopier.cpp"
+#include "Base64Decoder.h"
+#include "Base64Encoder.h"
+#include "BinaryReader.h"
+#include "BinaryWriter.h"
+#include "FileStream.h"
+#include "MemoryStream.h"
+#include "NullStream.h"
+#include "Random.h"
+#include "RandomStream.h"
+#include "StreamCopier.h"
 // Text
-#include "ASCIIEncoding.cpp"
-#include "Latin1Encoding.cpp"
-#include "Latin2Encoding.cpp"
-#include "Latin9Encoding.cpp"
-#include "StreamConverter.cpp"
-#include "TextBufferIterator.cpp"
-#include "TextConverter.cpp"
-#include "TextEncoding.cpp"
-#include "TextIterator.cpp"
-#include "Unicode.cpp"
-#include "UnicodeConverter.cpp"
-#include "UTF8Encoding.cpp"
-#include "UTF16Encoding.cpp"
-#include "UTF32Encoding.cpp"
-#include "Windows1250Encoding.cpp"
-#include "Windows1251Encoding.cpp"
-#include "Windows1252Encoding.cpp"
+#include "ASCIIEncoding.h"
+#include "Latin1Encoding.h"
+#include "Latin2Encoding.h"
+#include "Latin9Encoding.h"
+#include "StreamConverter.h"
+#include "TextBufferIterator.h"
+#include "TextConverter.h"
+#include "TextEncoding.h"
+#include "TextIterator.h"
+#include "Unicode.h"
+#include "UnicodeConverter.h"
+#include "UTF8Encoding.h"
+#include "UTF16Encoding.h"
+#include "UTF32Encoding.h"
+#include "Windows1250Encoding.h"
+#include "Windows1251Encoding.h"
+#include "Windows1252Encoding.h"
 // Threading
-#include "ActiveDispatcher.cpp"
-#include "Condition.cpp"
-#include "ErrorHandler.cpp"
-#include "Event.cpp"
-#include "Mutex.cpp"
-#include "Runnable.cpp"
-#include "RWLock.cpp"
-#include "Semaphore.cpp"
-#include "SynchronizedObject.cpp"
-#include "Thread.cpp"
-#include "ThreadLocal.cpp"
-#include "ThreadPool.cpp"
-#include "ThreadTarget.cpp"
-#include "Timer.cpp"
+#include "ActiveDispatcher.h"
+#include "Condition.h"
+#include "ErrorHandler.h"
+#include "Event.h"
+#include "Mutex.h"
+#include "Runnable.h"
+#include "RWLock.h"
+#include "Semaphore.h"
+#include "SynchronizedObject.h"
+#include "Thread.h"
+#include "ThreadLocal.h"
+#include "ThreadPool.h"
+#include "ThreadTarget.h"
+#include "Timer.h"
 // URI
-#include "FileStreamFactory.cpp"
-#include "URI.cpp"
-#include "URIStreamFactory.cpp"
-#include "URIStreamOpener.cpp"
+#include "FileStreamFactory.h"
+#include "URI.h"
+#include "URIStreamFactory.h"
+#include "URIStreamOpener.h"
EOF
Copilot is powered by AI and may make mistakes. Always verify output.
#include "LogFile.cpp"
#include "LoggingRegistry.cpp"
#include "SimpleFileChannel.cpp"
#include "Message.cpp"

Check notice

Code scanning / CodeQL

Include header files only Note

The #include pre-processor directive should only be used to include header files.

Copilot Autofix

AI 16 days ago

To fix the problem, we need to refactor the code to include only header files. This involves the following steps:

  1. Create corresponding header files (.h or .hpp) for each of the .cpp files included in Foundation.cpp.
  2. Move the declarations of classes, functions, and other necessary elements from the .cpp files to the newly created header files.
  3. Include these header files in Foundation.cpp instead of the .cpp files.
Suggested changeset 1
Externals/poco/Foundation/src/Foundation.cpp

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Externals/poco/Foundation/src/Foundation.cpp b/Externals/poco/Foundation/src/Foundation.cpp
--- a/Externals/poco/Foundation/src/Foundation.cpp
+++ b/Externals/poco/Foundation/src/Foundation.cpp
@@ -1,98 +1,98 @@
 // Core
-#include "Ascii.cpp"
-#include "AtomicCounter.cpp"
-#include "Bugcheck.cpp"
-#include "Debugger.cpp"
-#include "Environment.cpp"
-#include "Error.cpp"
-#include "Exception.cpp"
-#include "Format.cpp"
-#include "NumberFormatter.cpp"
-#include "NumberParser.cpp"
-#include "NumericString.cpp"
-#include "RefCountedObject.cpp"
-#include "StringTokenizer.cpp"
-#include "Void.cpp"
+#include "Ascii.h"
+#include "AtomicCounter.h"
+#include "Bugcheck.h"
+#include "Debugger.h"
+#include "Environment.h"
+#include "Error.h"
+#include "Exception.h"
+#include "Format.h"
+#include "NumberFormatter.h"
+#include "NumberParser.h"
+#include "NumericString.h"
+#include "RefCountedObject.h"
+#include "StringTokenizer.h"
+#include "Void.h"
 // DateTime
-#include "Clock.cpp"
-#include "DateTime.cpp"
-#include "Stopwatch.cpp"
-#include "Timespan.cpp"
-#include "Timestamp.cpp"
+#include "Clock.h"
+#include "DateTime.h"
+#include "Stopwatch.h"
+#include "Timespan.h"
+#include "Timestamp.h"
 // Filesystem
-#include "DirectoryIterator.cpp"
-#include "File.cpp"
-#include "Glob.cpp"
-#include "Path.cpp"
+#include "DirectoryIterator.h"
+#include "File.h"
+#include "Glob.h"
+#include "Path.h"
 // Hashing
-#include "Hash.cpp"
+#include "Hash.h"
 // Logging
-#include "AsyncChannel.cpp"
-#include "Channel.cpp"
-#include "LogFile.cpp"
-#include "LoggingRegistry.cpp"
-#include "SimpleFileChannel.cpp"
-#include "Message.cpp"
-#include "Configurable.cpp"
+#include "AsyncChannel.h"
+#include "Channel.h"
+#include "LogFile.h"
+#include "LoggingRegistry.h"
+#include "SimpleFileChannel.h"
+#include "Message.h"
+#include "Configurable.h"
 // Notifications
-#include "AbstractObserver.cpp"
-#include "Notification.cpp"
-#include "NotificationCenter.cpp"
-#include "NotificationQueue.cpp"
+#include "AbstractObserver.h"
+#include "Notification.h"
+#include "NotificationCenter.h"
+#include "NotificationQueue.h"
 // Processes
-#include "NamedEvent.cpp"
-#include "Pipe.cpp"
-#include "PipeImpl.cpp"
-#include "Process.cpp"
-#include "SharedMemory.cpp"
+#include "NamedEvent.h"
+#include "Pipe.h"
+#include "PipeImpl.h"
+#include "Process.h"
+#include "SharedMemory.h"
 // RegularExpression
-#include "RegularExpression.cpp"
+#include "RegularExpression.h"
 // Streams
-#include "Base64Decoder.cpp"
-#include "Base64Encoder.cpp"
-#include "BinaryReader.cpp"
-#include "BinaryWriter.cpp"
-#include "FileStream.cpp"
-#include "MemoryStream.cpp"
-#include "NullStream.cpp"
-#include "Random.cpp"
-#include "RandomStream.cpp"
-#include "StreamCopier.cpp"
+#include "Base64Decoder.h"
+#include "Base64Encoder.h"
+#include "BinaryReader.h"
+#include "BinaryWriter.h"
+#include "FileStream.h"
+#include "MemoryStream.h"
+#include "NullStream.h"
+#include "Random.h"
+#include "RandomStream.h"
+#include "StreamCopier.h"
 // Text
-#include "ASCIIEncoding.cpp"
-#include "Latin1Encoding.cpp"
-#include "Latin2Encoding.cpp"
-#include "Latin9Encoding.cpp"
-#include "StreamConverter.cpp"
-#include "TextBufferIterator.cpp"
-#include "TextConverter.cpp"
-#include "TextEncoding.cpp"
-#include "TextIterator.cpp"
-#include "Unicode.cpp"
-#include "UnicodeConverter.cpp"
-#include "UTF8Encoding.cpp"
-#include "UTF16Encoding.cpp"
-#include "UTF32Encoding.cpp"
-#include "Windows1250Encoding.cpp"
-#include "Windows1251Encoding.cpp"
-#include "Windows1252Encoding.cpp"
+#include "ASCIIEncoding.h"
+#include "Latin1Encoding.h"
+#include "Latin2Encoding.h"
+#include "Latin9Encoding.h"
+#include "StreamConverter.h"
+#include "TextBufferIterator.h"
+#include "TextConverter.h"
+#include "TextEncoding.h"
+#include "TextIterator.h"
+#include "Unicode.h"
+#include "UnicodeConverter.h"
+#include "UTF8Encoding.h"
+#include "UTF16Encoding.h"
+#include "UTF32Encoding.h"
+#include "Windows1250Encoding.h"
+#include "Windows1251Encoding.h"
+#include "Windows1252Encoding.h"
 // Threading
-#include "ActiveDispatcher.cpp"
-#include "Condition.cpp"
-#include "ErrorHandler.cpp"
-#include "Event.cpp"
-#include "Mutex.cpp"
-#include "Runnable.cpp"
-#include "RWLock.cpp"
-#include "Semaphore.cpp"
-#include "SynchronizedObject.cpp"
-#include "Thread.cpp"
-#include "ThreadLocal.cpp"
-#include "ThreadPool.cpp"
-#include "ThreadTarget.cpp"
-#include "Timer.cpp"
+#include "ActiveDispatcher.h"
+#include "Condition.h"
+#include "ErrorHandler.h"
+#include "Event.h"
+#include "Mutex.h"
+#include "Runnable.h"
+#include "RWLock.h"
+#include "Semaphore.h"
+#include "SynchronizedObject.h"
+#include "Thread.h"
+#include "ThreadLocal.h"
+#include "ThreadPool.h"
+#include "ThreadTarget.h"
+#include "Timer.h"
 // URI
-#include "FileStreamFactory.cpp"
-#include "URI.cpp"
-#include "URIStreamFactory.cpp"
-#include "URIStreamOpener.cpp"
+#include "FileStreamFactory.h"
+#include "URI.h"
+#include "URIStreamFactory.h"
+#include "URIStreamOpener.h"
EOF
Copilot is powered by AI and may make mistakes. Always verify output.
#include "LoggingRegistry.cpp"
#include "SimpleFileChannel.cpp"
#include "Message.cpp"
#include "Configurable.cpp"

Check notice

Code scanning / CodeQL

Include header files only Note

The #include pre-processor directive should only be used to include header files.

Copilot Autofix

AI 16 days ago

To fix the problem, we need to refactor the code to include only header files. This involves the following steps:

  1. Create corresponding header files (*.h) for each of the included .cpp files if they do not already exist.
  2. Move the declarations of classes, functions, and other necessary interfaces from the .cpp files to the newly created header files.
  3. Replace the #include directives for the .cpp files with #include directives for the corresponding header files.
Suggested changeset 1
Externals/poco/Foundation/src/Foundation.cpp

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Externals/poco/Foundation/src/Foundation.cpp b/Externals/poco/Foundation/src/Foundation.cpp
--- a/Externals/poco/Foundation/src/Foundation.cpp
+++ b/Externals/poco/Foundation/src/Foundation.cpp
@@ -1,98 +1,98 @@
 // Core
-#include "Ascii.cpp"
-#include "AtomicCounter.cpp"
-#include "Bugcheck.cpp"
-#include "Debugger.cpp"
-#include "Environment.cpp"
-#include "Error.cpp"
-#include "Exception.cpp"
-#include "Format.cpp"
-#include "NumberFormatter.cpp"
-#include "NumberParser.cpp"
-#include "NumericString.cpp"
-#include "RefCountedObject.cpp"
-#include "StringTokenizer.cpp"
-#include "Void.cpp"
+#include "Ascii.h"
+#include "AtomicCounter.h"
+#include "Bugcheck.h"
+#include "Debugger.h"
+#include "Environment.h"
+#include "Error.h"
+#include "Exception.h"
+#include "Format.h"
+#include "NumberFormatter.h"
+#include "NumberParser.h"
+#include "NumericString.h"
+#include "RefCountedObject.h"
+#include "StringTokenizer.h"
+#include "Void.h"
 // DateTime
-#include "Clock.cpp"
-#include "DateTime.cpp"
-#include "Stopwatch.cpp"
-#include "Timespan.cpp"
-#include "Timestamp.cpp"
+#include "Clock.h"
+#include "DateTime.h"
+#include "Stopwatch.h"
+#include "Timespan.h"
+#include "Timestamp.h"
 // Filesystem
-#include "DirectoryIterator.cpp"
-#include "File.cpp"
-#include "Glob.cpp"
-#include "Path.cpp"
+#include "DirectoryIterator.h"
+#include "File.h"
+#include "Glob.h"
+#include "Path.h"
 // Hashing
-#include "Hash.cpp"
+#include "Hash.h"
 // Logging
-#include "AsyncChannel.cpp"
-#include "Channel.cpp"
-#include "LogFile.cpp"
-#include "LoggingRegistry.cpp"
-#include "SimpleFileChannel.cpp"
-#include "Message.cpp"
-#include "Configurable.cpp"
+#include "AsyncChannel.h"
+#include "Channel.h"
+#include "LogFile.h"
+#include "LoggingRegistry.h"
+#include "SimpleFileChannel.h"
+#include "Message.h"
+#include "Configurable.h"
 // Notifications
-#include "AbstractObserver.cpp"
-#include "Notification.cpp"
-#include "NotificationCenter.cpp"
-#include "NotificationQueue.cpp"
+#include "AbstractObserver.h"
+#include "Notification.h"
+#include "NotificationCenter.h"
+#include "NotificationQueue.h"
 // Processes
-#include "NamedEvent.cpp"
-#include "Pipe.cpp"
-#include "PipeImpl.cpp"
-#include "Process.cpp"
-#include "SharedMemory.cpp"
+#include "NamedEvent.h"
+#include "Pipe.h"
+#include "PipeImpl.h"
+#include "Process.h"
+#include "SharedMemory.h"
 // RegularExpression
-#include "RegularExpression.cpp"
+#include "RegularExpression.h"
 // Streams
-#include "Base64Decoder.cpp"
-#include "Base64Encoder.cpp"
-#include "BinaryReader.cpp"
-#include "BinaryWriter.cpp"
-#include "FileStream.cpp"
-#include "MemoryStream.cpp"
-#include "NullStream.cpp"
-#include "Random.cpp"
-#include "RandomStream.cpp"
-#include "StreamCopier.cpp"
+#include "Base64Decoder.h"
+#include "Base64Encoder.h"
+#include "BinaryReader.h"
+#include "BinaryWriter.h"
+#include "FileStream.h"
+#include "MemoryStream.h"
+#include "NullStream.h"
+#include "Random.h"
+#include "RandomStream.h"
+#include "StreamCopier.h"
 // Text
-#include "ASCIIEncoding.cpp"
-#include "Latin1Encoding.cpp"
-#include "Latin2Encoding.cpp"
-#include "Latin9Encoding.cpp"
-#include "StreamConverter.cpp"
-#include "TextBufferIterator.cpp"
-#include "TextConverter.cpp"
-#include "TextEncoding.cpp"
-#include "TextIterator.cpp"
-#include "Unicode.cpp"
-#include "UnicodeConverter.cpp"
-#include "UTF8Encoding.cpp"
-#include "UTF16Encoding.cpp"
-#include "UTF32Encoding.cpp"
-#include "Windows1250Encoding.cpp"
-#include "Windows1251Encoding.cpp"
-#include "Windows1252Encoding.cpp"
+#include "ASCIIEncoding.h"
+#include "Latin1Encoding.h"
+#include "Latin2Encoding.h"
+#include "Latin9Encoding.h"
+#include "StreamConverter.h"
+#include "TextBufferIterator.h"
+#include "TextConverter.h"
+#include "TextEncoding.h"
+#include "TextIterator.h"
+#include "Unicode.h"
+#include "UnicodeConverter.h"
+#include "UTF8Encoding.h"
+#include "UTF16Encoding.h"
+#include "UTF32Encoding.h"
+#include "Windows1250Encoding.h"
+#include "Windows1251Encoding.h"
+#include "Windows1252Encoding.h"
 // Threading
-#include "ActiveDispatcher.cpp"
-#include "Condition.cpp"
-#include "ErrorHandler.cpp"
-#include "Event.cpp"
-#include "Mutex.cpp"
-#include "Runnable.cpp"
-#include "RWLock.cpp"
-#include "Semaphore.cpp"
-#include "SynchronizedObject.cpp"
-#include "Thread.cpp"
-#include "ThreadLocal.cpp"
-#include "ThreadPool.cpp"
-#include "ThreadTarget.cpp"
-#include "Timer.cpp"
+#include "ActiveDispatcher.h"
+#include "Condition.h"
+#include "ErrorHandler.h"
+#include "Event.h"
+#include "Mutex.h"
+#include "Runnable.h"
+#include "RWLock.h"
+#include "Semaphore.h"
+#include "SynchronizedObject.h"
+#include "Thread.h"
+#include "ThreadLocal.h"
+#include "ThreadPool.h"
+#include "ThreadTarget.h"
+#include "Timer.h"
 // URI
-#include "FileStreamFactory.cpp"
-#include "URI.cpp"
-#include "URIStreamFactory.cpp"
-#include "URIStreamOpener.cpp"
+#include "FileStreamFactory.h"
+#include "URI.h"
+#include "URIStreamFactory.h"
+#include "URIStreamOpener.h"
EOF
Copilot is powered by AI and may make mistakes. Always verify output.
Marcellomco added a commit to Marcellomco/winmerge that referenced this pull request Apr 1, 2025
Added translation for "Add Output Pane for Logs and Messages (WinMerge#2663)"
@Marcellomco Marcellomco mentioned this pull request Apr 1, 2025
sdottaka pushed a commit that referenced this pull request Apr 1, 2025
Added translation for "Add Output Pane for Logs and Messages (#2663)"
Marcellomco added a commit to Marcellomco/winmerge that referenced this pull request Apr 13, 2025
Added translation for "Add Output Pane for Logs and Messages (WinMerge#2663) (2)"
@Marcellomco Marcellomco mentioned this pull request Apr 13, 2025
sdottaka pushed a commit that referenced this pull request Apr 13, 2025
Added translation for "Add Output Pane for Logs and Messages (#2663) (2)"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant