Add support for modules (#4999)

* Add support for modules

* Use "" for inclusion

* Fix missing includes on Poco.Data module

* Add PDF and SevenZip modules, and match modules to build macros

* Add CI test

* Add missing link libraries in CMake

* Add remaining libraries DNSSD, CppParser and CppUnit. Changed some static declarations to inline to export

* We also need to forward the ENABLE_NETSSL_* macros

* Update CMakeLists files

* Add samples as requested, with DateTime and URI test for example

* Fix POCO_MODULES_INSTALL macro

* chore(CMake): Combine install macro for libraries and C++ modules into one macro.

* Apply testsuite changes and address include directories concerns

* Restore accidentally deleted build files

* Mistakenly added a file generated by CMake, removed.

---------

Co-authored-by: Matej Kenda <matejken@gmail.com>
This commit is contained in:
Miko
2025-09-19 13:46:36 -04:00
committed by GitHub
parent e2920f36da
commit 041e7feeb7
50 changed files with 3880 additions and 81 deletions

View File

@@ -0,0 +1,37 @@
//
// ActiveRecord.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_ACTIVERECORD
#include "Poco/ActiveRecord/ActiveRecord.h"
#include "Poco/ActiveRecord/ActiveRecordLib.h"
#include "Poco/ActiveRecord/Context.h"
#include "Poco/ActiveRecord/IDTraits.h"
#include "Poco/ActiveRecord/Query.h"
#include "Poco/ActiveRecord/StatementPlaceholderProvider.h"
#endif
export module Poco.ActiveRecord;
export namespace Poco::ActiveRecord {
#ifdef ENABLE_ACTIVERECORD
using Poco::ActiveRecord::ActiveRecord;
using Poco::ActiveRecord::ActiveRecordBase;
using Poco::ActiveRecord::Context;
using Poco::ActiveRecord::DefaultStatementPlaceholderProvider;
using Poco::ActiveRecord::IDTraits;
using Poco::ActiveRecord::KeylessActiveRecord;
using Poco::ActiveRecord::PostgresStatementPlaceholderProvider;
using Poco::ActiveRecord::Query;
using Poco::ActiveRecord::StatementPlaceholderProvider;
#endif
}

View File

@@ -0,0 +1,65 @@
//
// CppParser.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_CPPPARSER
#include "Poco/CppParser/Attributes.h"
#include "Poco/CppParser/BuiltIn.h"
#include "Poco/CppParser/CppParser.h"
#include "Poco/CppParser/CppToken.h"
#include "Poco/CppParser/Decl.h"
#include "Poco/CppParser/Enum.h"
#include "Poco/CppParser/EnumValue.h"
#include "Poco/CppParser/Function.h"
#include "Poco/CppParser/NameSpace.h"
#include "Poco/CppParser/Parameter.h"
#include "Poco/CppParser/Parser.h"
#include "Poco/CppParser/Struct.h"
#include "Poco/CppParser/Symbol.h"
#include "Poco/CppParser/Tokenizer.h"
#include "Poco/CppParser/TypeDef.h"
#include "Poco/CppParser/Utility.h"
#include "Poco/CppParser/Variable.h"
#endif
export module Poco.CppParser;
export namespace Poco::CppParser {
#ifdef ENABLE_CPPPARSER
using Poco::CppParser::Attributes;
using Poco::CppParser::AttributesParser;
using Poco::CppParser::BuiltIn;
using Poco::CppParser::CharLiteralToken;
using Poco::CppParser::CommentToken;
using Poco::CppParser::CppToken;
using Poco::CppParser::Decl;
using Poco::CppParser::Enum;
using Poco::CppParser::EnumValue;
using Poco::CppParser::Function;
using Poco::CppParser::IdentifierToken;
using Poco::CppParser::NameSpace;
using Poco::CppParser::NumberLiteralToken;
using Poco::CppParser::OperatorToken;
using Poco::CppParser::Parameter;
using Poco::CppParser::Parser;
using Poco::CppParser::PreprocessorToken;
using Poco::CppParser::StringLiteralToken;
using Poco::CppParser::Struct;
using Poco::CppParser::Symbol;
using Poco::CppParser::Tokenizer;
using Poco::CppParser::TypeDef;
using Poco::CppParser::Utility;
using Poco::CppParser::Variable;
using Poco::CppParser::replace;
#endif
}

84
modules/Poco/Crypto.cppm Normal file
View File

@@ -0,0 +1,84 @@
//
// Crypto.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_CRYPTO
#include "Poco/Crypto/CipherFactory.h"
#include "Poco/Crypto/Cipher.h"
#include "Poco/Crypto/CipherImpl.h"
#include "Poco/Crypto/CipherKey.h"
#include "Poco/Crypto/CipherKeyImpl.h"
#include "Poco/Crypto/CryptoException.h"
#include "Poco/Crypto/Crypto.h"
#include "Poco/Crypto/CryptoStream.h"
#include "Poco/Crypto/CryptoTransform.h"
#include "Poco/Crypto/DigestEngine.h"
#include "Poco/Crypto/ECDSADigestEngine.h"
#include "Poco/Crypto/ECKey.h"
#include "Poco/Crypto/ECKeyImpl.h"
#include "Poco/Crypto/Envelope.h"
#include "Poco/Crypto/EVPCipherImpl.h"
#include "Poco/Crypto/EVPPKey.h"
#include "Poco/Crypto/KeyPair.h"
#include "Poco/Crypto/KeyPairImpl.h"
#include "Poco/Crypto/OpenSSLInitializer.h"
#include "Poco/Crypto/PKCS12Container.h"
#include "Poco/Crypto/RSACipherImpl.h"
#include "Poco/Crypto/RSADigestEngine.h"
#include "Poco/Crypto/RSAKey.h"
#include "Poco/Crypto/RSAKeyImpl.h"
#include "Poco/Crypto/X509Certificate.h"
#endif
export module Poco.Crypto;
export namespace Poco::Crypto {
#ifdef ENABLE_CRYPTO
using Poco::Crypto::Cipher;
using Poco::Crypto::CipherFactory;
using Poco::Crypto::CipherKey;
using Poco::Crypto::CipherKeyImpl;
using Poco::Crypto::CryptoException;
using Poco::Crypto::CryptoIOS;
using Poco::Crypto::CipherImpl;
using Poco::Crypto::CryptoInputStream;
using Poco::Crypto::CryptoOutputStream;
using Poco::Crypto::CryptoStreamBuf;
using Poco::Crypto::CryptoTransform;
using Poco::Crypto::DecryptingInputStream;
using Poco::Crypto::DecryptingOutputStream;
using Poco::Crypto::DigestEngine;
using Poco::Crypto::ECDSADigestEngine;
using Poco::Crypto::ECDSASignature;
using Poco::Crypto::ECKey;
using Poco::Crypto::ECKeyImpl;
using Poco::Crypto::EVPCipherImpl;
using Poco::Crypto::EVPPKey;
using Poco::Crypto::EncryptingInputStream;
using Poco::Crypto::EncryptingOutputStream;
using Poco::Crypto::Envelope;
using Poco::Crypto::KeyPair;
using Poco::Crypto::KeyPairImpl;
using Poco::Crypto::OpenSSLException;
using Poco::Crypto::OpenSSLInitializer;
using Poco::Crypto::PKCS12Container;
using Poco::Crypto::RSACipherImpl;
using Poco::Crypto::RSADigestEngine;
using Poco::Crypto::RSAKey;
using Poco::Crypto::RSAKeyImpl;
using Poco::Crypto::X509Certificate;
using Poco::Crypto::getError;
using Poco::Crypto::initializeCrypto;
using Poco::Crypto::uninitializeCrypto;
#endif
}

53
modules/Poco/DNSSD.cppm Normal file
View File

@@ -0,0 +1,53 @@
//
// DNSSD.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DNSSD
#include "Poco/DNSSD/DNSSD.h"
#include "Poco/DNSSD/DNSSDBrowser.h"
#include "Poco/DNSSD/DNSSDException.h"
#include "Poco/DNSSD/DNSSDResponder.h"
#include "Poco/DNSSD/DNSSDResponderImpl.h"
#include "Poco/DNSSD/Domain.h"
#include "Poco/DNSSD/Error.h"
#include "Poco/DNSSD/Record.h"
#include "Poco/DNSSD/Service.h"
#endif
export module Poco.DNSSD;
#ifdef ENABLE_DNSSD_AVAHI
export import :Avahi;
#endif
#ifdef ENABLE_DNSSD_BONJOUR
export import :Bonjour;
#endif
export namespace Poco::DNSSD {
#ifdef ENABLE_DNSSD
using Poco::DNSSD::DNSSDBrowser;
using Poco::DNSSD::DNSSDException;
using Poco::DNSSD::DNSSDResponder;
using Poco::DNSSD::DNSSDResponderImpl;
using Poco::DNSSD::DNSSDResponderImplFactory;
using Poco::DNSSD::Domain;
using Poco::DNSSD::Error;
using Poco::DNSSD::HandleType;
using Poco::DNSSD::OpaqueHandle;
using Poco::DNSSD::Record;
using Poco::DNSSD::Service;
using Poco::DNSSD::BrowserHandle;
using Poco::DNSSD::RecordHandle;
using Poco::DNSSD::ServiceHandle;
#endif
}

View File

@@ -0,0 +1,35 @@
//
// Avahi.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DNSSD_AVAHI
#include "Poco/DNSSD/Avahi/Avahi.h"
#include "Poco/DNSSD/Avahi/AvahiBrowserImpl.h"
#include "Poco/DNSSD/Avahi/AvahiResponderImpl.h"
#endif
export module Poco.DNSSD:Avahi;
export namespace Poco::DNSSD {
#ifdef ENABLE_DNSSD
using Poco::DNSSD::initializeDNSSD;
using Poco::DNSSD::uninitializeDNSSD;
#endif
namespace Avahi {
#ifdef ENABLE_DNSSD_AVAHI
using Poco::DNSSD::Avahi::AvahiBrowserImpl;
using Poco::DNSSD::Avahi::AvahiResponderImpl;
using Poco::DNSSD::Avahi::AvahiResponderImplFactory;
#endif
}
}

View File

@@ -0,0 +1,37 @@
//
// Bonjour.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DNSSD_BONJOUR
#include "Poco/DNSSD/Bonjour/Bonjour.h"
#include "Poco/DNSSD/Bonjour/BonjourBrowserImpl.h"
#include "Poco/DNSSD/Bonjour/BonjourResponderImpl.h"
#include "Poco/DNSSD/Bonjour/EventLoop.h"
#endif
export module Poco.DNSSD:Bonjour;
export namespace Poco::DNSSD {
#ifdef ENABLE_DNSSD
using Poco::DNSSD::initializeDNSSD;
using Poco::DNSSD::uninitializeDNSSD;
#endif
namespace Bonjour {
#ifdef ENABLE_DNSSD_BONJOUR
using Poco::DNSSD::Bonjour::BonjourBrowserImpl;
using Poco::DNSSD::Bonjour::BonjourResponderImpl;
using Poco::DNSSD::Bonjour::BonjourResponderImplFactory;
using Poco::DNSSD::Bonjour::EventLoop;
#endif
}
}

214
modules/Poco/Data.cppm Normal file
View File

@@ -0,0 +1,214 @@
//
// Data.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DATA
#include "Poco/Data/AbstractBinder.h"
#include "Poco/Data/AbstractBinding.h"
#include "Poco/Data/AbstractExtraction.h"
#include "Poco/Data/AbstractExtractor.h"
#include "Poco/Data/AbstractPreparation.h"
#include "Poco/Data/AbstractPreparator.h"
#include "Poco/Data/AbstractSessionImpl.h"
#include "Poco/Data/ArchiveStrategy.h"
#include "Poco/Data/AutoTransaction.h"
#include "Poco/Data/Binding.h"
#include "Poco/Data/BulkBinding.h"
#include "Poco/Data/BulkExtraction.h"
#include "Poco/Data/Bulk.h"
#include "Poco/Data/Column.h"
#include "Poco/Data/Connector.h"
#include "Poco/Data/Constants.h"
#include "Poco/Data/DataException.h"
#include "Poco/Data/Data.h"
#include "Poco/Data/Date.h"
#include "Poco/Data/DynamicDateTime.h"
#include "Poco/Data/DynamicLOB.h"
#include "Poco/Data/Extraction.h"
#include "Poco/Data/JSONRowFormatter.h"
#include "Poco/Data/Limit.h"
#include "Poco/Data/LOB.h"
#include "Poco/Data/LOBStream.h"
#include "Poco/Data/MetaColumn.h"
#include "Poco/Data/PooledSessionHolder.h"
#include "Poco/Data/PooledSessionImpl.h"
#include "Poco/Data/Position.h"
#include "Poco/Data/Preparation.h"
#include "Poco/Data/Range.h"
#include "Poco/Data/RecordSet.h"
#include "Poco/Data/RowFilter.h"
#include "Poco/Data/RowFormatter.h"
#include "Poco/Data/Row.h"
#include "Poco/Data/RowIterator.h"
#include "Poco/Data/SessionFactory.h"
#include "Poco/Data/Session.h"
#include "Poco/Data/SessionImpl.h"
#include "Poco/Data/SessionPoolContainer.h"
#include "Poco/Data/SessionPool.h"
#include "Poco/Data/SimpleRowFormatter.h"
#include "Poco/Data/SQLChannel.h"
#include "Poco/Data/StatementCreator.h"
#include "Poco/Data/Statement.h"
#include "Poco/Data/StatementImpl.h"
#include "Poco/Data/Time.h"
#include "Poco/Data/Transaction.h"
#include "Poco/Data/Transcoder.h"
#include "Poco/Data/TypeHandler.h"
#endif
export module Poco.Data;
#ifdef ENABLE_DATA_MYSQL
export import :MySQL;
#endif
#ifdef ENABLE_DATA_ODBC
export import :ODBC;
#endif
#ifdef ENABLE_DATA_POSTGRESQL
export import :PostgreSQL;
#endif
#ifdef ENABLE_DATA_SQLITE
export import :SQLite;
#endif
export namespace Poco::Data {
#ifdef ENABLE_DATA
using Poco::Data::AbstractBinder;
using Poco::Data::AbstractBinding;
using Poco::Data::AbstractExtraction;
using Poco::Data::AbstractExtractor;
using Poco::Data::AbstractPreparation;
using Poco::Data::AbstractPreparator;
using Poco::Data::AbstractTypeHandler;
using Poco::Data::ArchiveByAgeStrategy;
using Poco::Data::ArchiveStrategy;
using Poco::Data::Binding;
using Poco::Data::BindingException;
using Poco::Data::Bulk;
using Poco::Data::BulkBinding;
using Poco::Data::BulkExtraction;
using Poco::Data::Column;
using Poco::Data::ConnectionFailedException;
using Poco::Data::Connector;
using Poco::Data::CopyBinding;
using Poco::Data::DataException;
using Poco::Data::Date;
using Poco::Data::ExecutionException;
using Poco::Data::ExtractException;
using Poco::Data::Extraction;
using Poco::Data::InternalBulkExtraction;
using Poco::Data::InternalExtraction;
using Poco::Data::JSONRowFormatter;
using Poco::Data::LOB;
using Poco::Data::LOBIOS;
using Poco::Data::LOBInputStream;
using Poco::Data::LOBOutputStream;
using Poco::Data::LOBStreamBuf;
using Poco::Data::LengthExceededException;
using Poco::Data::Limit;
using Poco::Data::LimitException;
using Poco::Data::MetaColumn;
using Poco::Data::NoDataException;
using Poco::Data::NotConnectedException;
using Poco::Data::NotSupportedException;
using Poco::Data::PooledSessionHolder;
using Poco::Data::Position;
using Poco::Data::Preparation;
using Poco::Data::Range;
using Poco::Data::RecordSet;
using Poco::Data::Row;
using Poco::Data::RowDataMissingException;
using Poco::Data::RowFilter;
using Poco::Data::RowFormatter;
using Poco::Data::RowIterator;
using Poco::Data::SQLChannel;
using Poco::Data::Session;
using Poco::Data::SessionFactory;
using Poco::Data::SessionPool;
using Poco::Data::SessionPoolContainer;
using Poco::Data::SessionPoolExhaustedException;
using Poco::Data::SessionPoolExistsException;
using Poco::Data::SessionUnavailableException;
using Poco::Data::SimpleRowFormatter;
using Poco::Data::Statement;
using Poco::Data::StatementCreator;
using Poco::Data::Time;
using Poco::Data::Transaction;
using Poco::Data::Transcoder;
using Poco::Data::TypeHandler;
using Poco::Data::UnknownDataBaseException;
using Poco::Data::UnknownTypeException;
#ifdef POCO_MODULES_EXPORT_IMPL
using Poco::Data::PooledSessionImpl;
using Poco::Data::SessionImpl;
using Poco::Data::StatementImpl;
#endif
using Poco::Data::BulkFnType;
using Poco::Data::AbstractBindingDeq;
using Poco::Data::AbstractBindingLst;
using Poco::Data::AbstractBindingVec;
using Poco::Data::AbstractExtractionDeq;
using Poco::Data::AbstractExtractionDeqVec;
using Poco::Data::AbstractExtractionLst;
using Poco::Data::AbstractExtractionLst;
using Poco::Data::AbstractExtractionLstVec;
using Poco::Data::AbstractExtractionVec;
using Poco::Data::AbstractExtractionVecVec;
using Poco::Data::AutoTransaction;
using Poco::Data::BLOB;
using Poco::Data::BLOBInputStream;
using Poco::Data::BLOBOutputStream;
using Poco::Data::CLOB;
using Poco::Data::CLOBInputStream;
using Poco::Data::CLOBOutputStream;
using Poco::Data::JSON;
using Poco::Data::NullData;
using Poco::Data::POCO_DATA_INVALID_ROW;
using Poco::Data::operator<<;
using Poco::Data::swap;
using Poco::Data::tupleBind;
using Poco::Data::tupleExtract;
using Poco::Data::tuplePrepare;
namespace Keywords {
using Poco::Data::Keywords::async;
using Poco::Data::Keywords::bind;
using Poco::Data::Keywords::bulk;
using Poco::Data::Keywords::deque;
using Poco::Data::Keywords::format;
using Poco::Data::Keywords::from;
using Poco::Data::Keywords::in;
using Poco::Data::Keywords::into;
using Poco::Data::Keywords::io;
using Poco::Data::Keywords::limit;
using Poco::Data::Keywords::list;
using Poco::Data::Keywords::lowerLimit;
using Poco::Data::Keywords::now;
using Poco::Data::Keywords::out;
using Poco::Data::Keywords::range;
using Poco::Data::Keywords::reset;
using Poco::Data::Keywords::sync;
using Poco::Data::Keywords::upperLimit;
using Poco::Data::Keywords::use;
using Poco::Data::Keywords::useRef;
using Poco::Data::Keywords::vector;
}
namespace Test {
// using Poco::Data::Test::SQLExecutor;
}
#endif
}

View File

@@ -0,0 +1,46 @@
//
// MySQL.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DATA_MYSQL
#include "Poco/Data/MySQL/Binder.h"
#include "Poco/Data/MySQL/Connector.h"
#include "Poco/Data/MySQL/Extractor.h"
#include "Poco/Data/MySQL/MySQLException.h"
#include "Poco/Data/MySQL/MySQL.h"
#include "Poco/Data/MySQL/MySQLStatementImpl.h"
#include "Poco/Data/MySQL/ResultMetadata.h"
#include "Poco/Data/MySQL/SessionHandle.h"
#include "Poco/Data/MySQL/SessionImpl.h"
#include "Poco/Data/MySQL/StatementExecutor.h"
#include "Poco/Data/MySQL/Utility.h"
#endif
export module Poco.Data:MySQL;
export namespace Poco::Data::MySQL {
#ifdef ENABLE_DATA_MYSQL
using Poco::Data::MySQL::Binder;
using Poco::Data::MySQL::ConnectionException;
using Poco::Data::MySQL::Connector;
using Poco::Data::MySQL::Extractor;
using Poco::Data::MySQL::MySQLException;
using Poco::Data::MySQL::MySQLStatementImpl;
using Poco::Data::MySQL::ResultMetadata;
using Poco::Data::MySQL::SessionHandle;
using Poco::Data::MySQL::SessionImpl;
using Poco::Data::MySQL::StatementException;
using Poco::Data::MySQL::StatementExecutor;
using Poco::Data::MySQL::TransactionException;
using Poco::Data::MySQL::Utility;
#endif
}

116
modules/Poco/Data/ODBC.cppm Normal file
View File

@@ -0,0 +1,116 @@
//
// ODBC.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DATA_ODBC
#include "Poco/Data/ODBC/Binder.h"
#include "Poco/Data/ODBC/ConnectionHandle.h"
#include "Poco/Data/ODBC/Connector.h"
#include "Poco/Data/ODBC/Diagnostics.h"
#include "Poco/Data/ODBC/EnvironmentHandle.h"
#include "Poco/Data/ODBC/Error.h"
#include "Poco/Data/ODBC/Extractor.h"
#include "Poco/Data/ODBC/Handle.h"
#include "Poco/Data/ODBC/ODBCException.h"
#include "Poco/Data/ODBC/ODBC.h"
#include "Poco/Data/ODBC/ODBCMetaColumn.h"
#include "Poco/Data/ODBC/ODBCStatementImpl.h"
#include "Poco/Data/ODBC/Parameter.h"
#include "Poco/Data/ODBC/Preparator.h"
#include "Poco/Data/ODBC/SessionImpl.h"
#include "Poco/Data/ODBC/TypeInfo.h"
#include "Poco/Data/ODBC/Unicode.h"
#include "Poco/Data/ODBC/Unicode_UNIXODBC.h"
#include "Poco/Data/ODBC/Unicode_WIN32.h"
#include "Poco/Data/ODBC/Utility.h"
#endif
export module Poco.Data:ODBC;
export namespace Poco::Data::ODBC {
#ifdef ENABLE_DATA_ODBC
using Poco::Data::ODBC::Binder;
using Poco::Data::ODBC::ConnectionHandle;
using Poco::Data::ODBC::Connector;
using Poco::Data::ODBC::DataTruncatedException;
using Poco::Data::ODBC::Diagnostics;
using Poco::Data::ODBC::EnvironmentHandle;
using Poco::Data::ODBC::Error;
using Poco::Data::ODBC::Extractor;
using Poco::Data::ODBC::Handle;
using Poco::Data::ODBC::HandleException;
using Poco::Data::ODBC::InsufficientStorageException;
using Poco::Data::ODBC::ODBCException;
using Poco::Data::ODBC::ODBCMetaColumn;
using Poco::Data::ODBC::ODBCStatementImpl;
using Poco::Data::ODBC::Parameter;
using Poco::Data::ODBC::Preparator;
using Poco::Data::ODBC::SessionImpl;
using Poco::Data::ODBC::TypeInfo;
using Poco::Data::ODBC::UnknownDataLengthException;
using Poco::Data::ODBC::Utility;
using Poco::Data::ODBC::Connection;
using Poco::Data::ODBC::ConnectionDiagnostics;
using Poco::Data::ODBC::ConnectionError;
using Poco::Data::ODBC::ConnectionException;
using Poco::Data::ODBC::DescriptorDiagnostics;
using Poco::Data::ODBC::DescriptorError;
using Poco::Data::ODBC::DescriptorException;
using Poco::Data::ODBC::EnvironmentDiagnostics;
using Poco::Data::ODBC::EnvironmentError;
using Poco::Data::ODBC::EnvironmentException;
using Poco::Data::ODBC::StatementDiagnostics;
using Poco::Data::ODBC::StatementError;
using Poco::Data::ODBC::StatementException;
using Poco::Data::ODBC::SQLBrowseConnect;
using Poco::Data::ODBC::SQLColAttribute;
using Poco::Data::ODBC::SQLColAttributes;
using Poco::Data::ODBC::SQLColumnPrivileges;
using Poco::Data::ODBC::SQLColumns;
using Poco::Data::ODBC::SQLConnect;
using Poco::Data::ODBC::SQLDataSources;
using Poco::Data::ODBC::SQLDescribeCol;
using Poco::Data::ODBC::SQLDriverConnect;
using Poco::Data::ODBC::SQLDrivers;
using Poco::Data::ODBC::SQLError;
using Poco::Data::ODBC::SQLExecDirect;
using Poco::Data::ODBC::SQLForeignKeys;
using Poco::Data::ODBC::SQLGetConnectAttr;
using Poco::Data::ODBC::SQLGetConnectOption;
using Poco::Data::ODBC::SQLGetCursorName;
using Poco::Data::ODBC::SQLGetDescField;
using Poco::Data::ODBC::SQLGetDescRec;
using Poco::Data::ODBC::SQLGetDiagField;
using Poco::Data::ODBC::SQLGetDiagRec;
using Poco::Data::ODBC::SQLGetInfo;
using Poco::Data::ODBC::SQLGetStmtAttr;
using Poco::Data::ODBC::SQLGetTypeInfo;
using Poco::Data::ODBC::SQLNativeSql;
using Poco::Data::ODBC::SQLPrepare;
using Poco::Data::ODBC::SQLPrimaryKeys;
using Poco::Data::ODBC::SQLProcedureColumns;
using Poco::Data::ODBC::SQLProcedures;
using Poco::Data::ODBC::SQLSetConnectAttr;
using Poco::Data::ODBC::SQLSetConnectOption;
using Poco::Data::ODBC::SQLSetCursorName;
using Poco::Data::ODBC::SQLSetDescField;
using Poco::Data::ODBC::SQLSetStmtAttr;
using Poco::Data::ODBC::SQLSpecialColumns;
using Poco::Data::ODBC::SQLStatistics;
using Poco::Data::ODBC::SQLTablePrivileges;
using Poco::Data::ODBC::SQLTables;
using Poco::Data::ODBC::isString;
using Poco::Data::ODBC::stringLength;
#endif
}

View File

@@ -0,0 +1,59 @@
//
// PostgreSQL.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DATA_POSTGRESQL
#include "Poco/Data/PostgreSQL/BinaryExtractor.h"
#include "Poco/Data/PostgreSQL/Binder.h"
#include "Poco/Data/PostgreSQL/Connector.h"
#include "Poco/Data/PostgreSQL/Extractor.h"
#include "Poco/Data/PostgreSQL/PostgreSQL.h"
#include "Poco/Data/PostgreSQL/PostgreSQLException.h"
#include "Poco/Data/PostgreSQL/PostgreSQLStatementImpl.h"
#include "Poco/Data/PostgreSQL/PostgreSQLTypes.h"
#include "Poco/Data/PostgreSQL/SessionHandle.h"
#include "Poco/Data/PostgreSQL/SessionImpl.h"
#include "Poco/Data/PostgreSQL/StatementExecutor.h"
#include "Poco/Data/PostgreSQL/Utility.h"
#endif
export module Poco.Data:PostgreSQL;
export namespace Poco::Data::PostgreSQL {
#ifdef ENABLE_DATA_POSTGRESQL
using Poco::Data::PostgreSQL::BinaryExtractor;
using Poco::Data::PostgreSQL::Binder;
using Poco::Data::PostgreSQL::ConnectionException;
using Poco::Data::PostgreSQL::Connector;
using Poco::Data::PostgreSQL::Extractor;
using Poco::Data::PostgreSQL::InputParameter;
using Poco::Data::PostgreSQL::OutputParameter;
using Poco::Data::PostgreSQL::PGCancelFree;
using Poco::Data::PostgreSQL::PQConnectionInfoOptionsFree;
using Poco::Data::PostgreSQL::PQResultClear;
using Poco::Data::PostgreSQL::PostgreSQLException;
using Poco::Data::PostgreSQL::PostgreSQLStatementImpl;
using Poco::Data::PostgreSQL::SessionHandle;
using Poco::Data::PostgreSQL::SessionImpl;
using Poco::Data::PostgreSQL::SessionParameters;
using Poco::Data::PostgreSQL::StatementException;
using Poco::Data::PostgreSQL::StatementExecutor;
using Poco::Data::PostgreSQL::TransactionException;
using Poco::Data::PostgreSQL::Utility;
using Poco::Data::PostgreSQL::InputParameterVector;
using Poco::Data::PostgreSQL::OutputParameterVector;
using Poco::Data::PostgreSQL::SessionParametersMap;
using Poco::Data::PostgreSQL::oidToColumnDataType;
#endif
}

View File

@@ -0,0 +1,65 @@
//
// SQLite.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_DATA_SQLITE
#include "Poco/Data/SQLite/Binder.h"
#include "Poco/Data/SQLite/Connector.h"
#include "Poco/Data/SQLite/Extractor.h"
#include "Poco/Data/SQLite/Notifier.h"
#include "Poco/Data/SQLite/SessionImpl.h"
#include "Poco/Data/SQLite/SQLiteException.h"
#include "Poco/Data/SQLite/SQLite.h"
#include "Poco/Data/SQLite/SQLiteStatementImpl.h"
#include "Poco/Data/SQLite/Utility.h"
#endif
export module Poco.Data:SQLite;
export namespace Poco::Data::SQLite {
#ifdef ENABLE_DATA_SQLITE
using Poco::Data::SQLite::AuthorizationDeniedException;
using Poco::Data::SQLite::Binder;
using Poco::Data::SQLite::CantOpenDBFileException;
using Poco::Data::SQLite::Connector;
using Poco::Data::SQLite::ConstraintViolationException;
using Poco::Data::SQLite::CorruptImageException;
using Poco::Data::SQLite::DBAccessDeniedException;
using Poco::Data::SQLite::DBLockedException;
using Poco::Data::SQLite::DataTypeMismatchException;
using Poco::Data::SQLite::DatabaseFullException;
using Poco::Data::SQLite::ExecutionAbortedException;
using Poco::Data::SQLite::Extractor;
using Poco::Data::SQLite::IOErrorException;
using Poco::Data::SQLite::InternalDBErrorException;
using Poco::Data::SQLite::InterruptException;
using Poco::Data::SQLite::InvalidLibraryUseException;
using Poco::Data::SQLite::InvalidSQLStatementException;
using Poco::Data::SQLite::LockProtocolException;
using Poco::Data::SQLite::NoMemoryException;
using Poco::Data::SQLite::Notifier;
using Poco::Data::SQLite::OSFeaturesMissingException;
using Poco::Data::SQLite::ParameterCountMismatchException;
using Poco::Data::SQLite::ReadOnlyException;
using Poco::Data::SQLite::RowTooBigException;
using Poco::Data::SQLite::SQLiteException;
using Poco::Data::SQLite::SQLiteStatementImpl;
using Poco::Data::SQLite::SchemaDiffersException;
using Poco::Data::SQLite::SessionImpl;
using Poco::Data::SQLite::TableLockedException;
using Poco::Data::SQLite::TableNotFoundException;
using Poco::Data::SQLite::TransactionException;
using Poco::Data::SQLite::Utility;
using Poco::Data::SQLite::TransactionType;
#endif
}

64
modules/Poco/Dynamic.cppm Normal file
View File

@@ -0,0 +1,64 @@
//
// Dynamic.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_FOUNDATION
#include "Poco/Dynamic/Pair.h"
#include "Poco/Dynamic/Struct.h"
#include "Poco/Dynamic/Var.h"
#include "Poco/Dynamic/VarHolder.h"
#include "Poco/Dynamic/VarIterator.h"
#include "Poco/Dynamic/VarVisitor.h"
#endif
export module Poco.Dynamic;
export namespace Poco::Dynamic {
#ifdef ENABLE_FOUNDATION
using Poco::Dynamic::Pair;
using Poco::Dynamic::Struct;
using Poco::Dynamic::Var;
using Poco::Dynamic::VarHolder;
using Poco::Dynamic::VarHolderImpl;
using Poco::Dynamic::VarIterator;
using Poco::Dynamic::Visitor;
using Poco::Dynamic::Array;
using Poco::Dynamic::Deque;
using Poco::Dynamic::List;
using Poco::Dynamic::Vector;
using Poco::Dynamic::operator!=;
using Poco::Dynamic::operator*;
using Poco::Dynamic::operator*=;
using Poco::Dynamic::operator+;
using Poco::Dynamic::operator+=;
using Poco::Dynamic::operator-;
using Poco::Dynamic::operator-=;
using Poco::Dynamic::operator/;
using Poco::Dynamic::operator/=;
using Poco::Dynamic::operator<;
using Poco::Dynamic::operator<=;
using Poco::Dynamic::operator==;
using Poco::Dynamic::operator>;
using Poco::Dynamic::operator>=;
using Poco::Dynamic::structToString;
namespace Impl {
using Poco::Dynamic::Impl::appendJSONKey;
using Poco::Dynamic::Impl::appendJSONString;
using Poco::Dynamic::Impl::appendJSONValue;
using Poco::Dynamic::Impl::containerToJSON;
using Poco::Dynamic::Impl::isJSONString;
}
#endif
}

View File

@@ -0,0 +1,872 @@
//
// Foundation.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_FOUNDATION
#include "Poco/AbstractCache.h"
#include "Poco/AbstractDelegate.h"
#include "Poco/AbstractEvent.h"
#include "Poco/AbstractObserver.h"
#include "Poco/AbstractPriorityDelegate.h"
#include "Poco/AbstractStrategy.h"
#include "Poco/AccessExpirationDecorator.h"
#include "Poco/AccessExpireCache.h"
#include "Poco/AccessExpireLRUCache.h"
#include "Poco/AccessExpireStrategy.h"
#include "Poco/ActiveDispatcher.h"
#include "Poco/ActiveMethod.h"
#include "Poco/ActiveResult.h"
#include "Poco/ActiveRunnable.h"
#include "Poco/ActiveStarter.h"
#include "Poco/ActiveThreadPool.h"
#include "Poco/Activity.h"
#include "Poco/Any.h"
#include "Poco/ArchiveStrategy.h"
#include "Poco/Array.h"
#include "Poco/ASCIIEncoding.h"
#include "Poco/Ascii.h"
#include "Poco/AsyncChannel.h"
#include "Poco/AsyncNotificationCenter.h"
#include "Poco/AsyncObserver.h"
#include "Poco/AtomicCounter.h"
#include "Poco/AtomicFlag.h"
#include "Poco/AutoPtr.h"
#include "Poco/AutoReleasePool.h"
#include "Poco/Base32Decoder.h"
#include "Poco/Base32Encoder.h"
#include "Poco/Base64Decoder.h"
#include "Poco/Base64Encoder.h"
#include "Poco/BasicEvent.h"
#include "Poco/BinaryReader.h"
#include "Poco/BinaryWriter.h"
#include "Poco/BufferAllocator.h"
#include "Poco/BufferedBidirectionalStreamBuf.h"
#include "Poco/BufferedStreamBuf.h"
#include "Poco/Buffer.h"
#include "Poco/Bugcheck.h"
#include "Poco/ByteOrder.h"
#include "Poco/Channel.h"
#include "Poco/Checksum.h"
#include "Poco/ClassLoader.h"
#include "Poco/Clock.h"
#include "Poco/Condition.h"
#include "Poco/Configurable.h"
#include "Poco/ConsoleChannel.h"
#include "Poco/CountingStream.h"
#include "Poco/DataURIStreamFactory.h"
#include "Poco/DataURIStream.h"
#include "Poco/DateTimeFormat.h"
#include "Poco/DateTimeFormatter.h"
#include "Poco/DateTime.h"
#include "Poco/DateTimeParser.h"
#include "Poco/Debugger.h"
#include "Poco/DefaultStrategy.h"
#include "Poco/DeflatingStream.h"
#include "Poco/Delegate.h"
#include "Poco/DigestEngine.h"
#include "Poco/DigestStream.h"
#include "Poco/DirectoryIterator.h"
#include "Poco/DirectoryIteratorStrategy.h"
#include "Poco/DirectoryWatcher.h"
#ifdef ENABLE_ENCODINGS
#include "Poco/DoubleByteEncoding.h"
#endif
#include "Poco/DynamicFactory.h"
#ifdef ENABLE_ENCODINGS
#include "Poco/Encodings.h"
#endif
#include "Poco/Environment.h"
#include "Poco/Error.h"
#include "Poco/ErrorHandler.h"
#include "Poco/EventArgs.h"
#include "Poco/EventChannel.h"
#include "Poco/Event.h"
#ifdef _WIN32
#include "Poco/EventLogChannel.h"
#endif
#include "Poco/Exception.h"
#include "Poco/ExpirationDecorator.h"
#include "Poco/ExpireCache.h"
#include "Poco/Expire.h"
#include "Poco/ExpireLRUCache.h"
#include "Poco/ExpireStrategy.h"
#include "Poco/FIFOBuffer.h"
#include "Poco/FIFOBufferStream.h"
#include "Poco/FIFOEvent.h"
#include "Poco/FIFOStrategy.h"
#include "Poco/FileChannel.h"
#include "Poco/File.h"
#include "Poco/FileStreamFactory.h"
#include "Poco/FileStream.h"
#include "Poco/FileStreamRWLock.h"
#include "Poco/Format.h"
#include "Poco/Formatter.h"
#include "Poco/FormattingChannel.h"
#include "Poco/Foundation.h"
#include "Poco/FPEnvironment.h"
#include "Poco/FunctionDelegate.h"
#include "Poco/FunctionPriorityDelegate.h"
#include "Poco/Glob.h"
#include "Poco/HashFunction.h"
#include "Poco/Hash.h"
#include "Poco/HashMap.h"
#include "Poco/HashSet.h"
#include "Poco/HashStatistic.h"
#include "Poco/HashTable.h"
#include "Poco/HexBinaryDecoder.h"
#include "Poco/HexBinaryEncoder.h"
#include "Poco/HMACEngine.h"
#include "Poco/InflatingStream.h"
#include "Poco/Instantiator.h"
#ifdef ENABLE_ENCODINGS
#include "Poco/ISO8859_10Encoding.h"
#include "Poco/ISO8859_11Encoding.h"
#include "Poco/ISO8859_13Encoding.h"
#include "Poco/ISO8859_14Encoding.h"
#include "Poco/ISO8859_16Encoding.h"
#include "Poco/ISO8859_3Encoding.h"
#include "Poco/ISO8859_4Encoding.h"
#include "Poco/ISO8859_5Encoding.h"
#include "Poco/ISO8859_6Encoding.h"
#include "Poco/ISO8859_7Encoding.h"
#include "Poco/ISO8859_8Encoding.h"
#include "Poco/ISO8859_9Encoding.h"
#endif
#include "Poco/JSONFormatter.h"
#include "Poco/JSONString.h"
#include "Poco/KeyValueArgs.h"
#include "Poco/Latin1Encoding.h"
#include "Poco/Latin2Encoding.h"
#include "Poco/Latin9Encoding.h"
#include "Poco/LinearHashTable.h"
#include "Poco/LineEndingConverter.h"
#include "Poco/ListMap.h"
#include "Poco/LocalDateTime.h"
#include "Poco/LogFile.h"
#include "Poco/Logger.h"
#include "Poco/LoggingFactory.h"
#include "Poco/LoggingRegistry.h"
#include "Poco/LogStream.h"
#include "Poco/LRUCache.h"
#include "Poco/LRUStrategy.h"
#include "Poco/MacCentralEurRomanEncoding.h"
#include "Poco/MacChineseSimpEncoding.h"
#include "Poco/MacChineseTradEncoding.h"
#include "Poco/MacCyrillicEncoding.h"
#include "Poco/MacJapaneseEncoding.h"
#include "Poco/MacKoreanEncoding.h"
#include "Poco/MacRomanEncoding.h"
#include "Poco/Manifest.h"
#include "Poco/MD4Engine.h"
#include "Poco/MD5Engine.h"
#include "Poco/MemoryPool.h"
#include "Poco/MemoryStream.h"
#include "Poco/Message.h"
#include "Poco/MetaObject.h"
#include "Poco/MetaProgramming.h"
#include "Poco/Mutex.h"
#include "Poco/NamedEvent.h"
#include "Poco/NamedMutex.h"
#include "Poco/NamedTuple.h"
#include "Poco/NestedDiagnosticContext.h"
#include "Poco/NObserver.h"
#include "Poco/NotificationCenter.h"
#include "Poco/Notification.h"
#include "Poco/NotificationQueue.h"
#include "Poco/NotificationStrategy.h"
#include "Poco/Nullable.h"
#include "Poco/NullChannel.h"
#include "Poco/NullStream.h"
#include "Poco/NumberFormatter.h"
#include "Poco/NumberParser.h"
#include "Poco/NumericString.h"
#include "Poco/ObjectPool.h"
#include "Poco/Observer.h"
#include "Poco/Optional.h"
#include "Poco/Path.h"
#include "Poco/PatternFormatter.h"
#include "Poco/PBKDF2Engine.h"
#include "Poco/PIDFile.h"
#include "Poco/Pipe.h"
#include "Poco/PipeStream.h"
#include "Poco/PriorityDelegate.h"
#include "Poco/PriorityEvent.h"
#include "Poco/PriorityExpire.h"
#include "Poco/PriorityNotificationQueue.h"
#include "Poco/PriorityStrategy.h"
#include "Poco/Process.h"
#include "Poco/ProcessOptions.h"
#include "Poco/ProcessRunner.h"
#include "Poco/PurgeStrategy.h"
#include "Poco/Random.h"
#include "Poco/RandomStream.h"
#include "Poco/RecursiveDirectoryIterator.h"
#include "Poco/RecursiveDirectoryIteratorImpl.h"
#include "Poco/RefCountedObject.h"
#include "Poco/RegularExpression.h"
#include "Poco/RotateStrategy.h"
#include "Poco/RunnableAdapter.h"
#include "Poco/Runnable.h"
#include "Poco/RWLock.h"
#include "Poco/ScopedLock.h"
#include "Poco/ScopedUnlock.h"
#include "Poco/Semaphore.h"
#include "Poco/SHA1Engine.h"
#include "Poco/SHA2Engine.h"
#include "Poco/SharedLibrary.h"
#include "Poco/SharedMemory.h"
#include "Poco/SharedPtr.h"
#include "Poco/SignalHandler.h"
#include "Poco/SimpleFileChannel.h"
#include "Poco/SimpleHashTable.h"
#include "Poco/SingletonHolder.h"
#include "Poco/SortedDirectoryIterator.h"
#include "Poco/SplitterChannel.h"
#include "Poco/Stopwatch.h"
#include "Poco/StrategyCollection.h"
#include "Poco/StreamChannel.h"
#include "Poco/StreamConverter.h"
#include "Poco/StreamCopier.h"
#include "Poco/StreamTokenizer.h"
#include "Poco/StreamUtil.h"
#include "Poco/String.h"
#include "Poco/StringTokenizer.h"
#include "Poco/SynchronizedObject.h"
#include "Poco/SyslogChannel.h"
#include "Poco/Task.h"
#include "Poco/TaskManager.h"
#include "Poco/TaskNotification.h"
#include "Poco/TeeStream.h"
#include "Poco/TemporaryFile.h"
#include "Poco/TextBufferIterator.h"
#include "Poco/TextConverter.h"
#include "Poco/TextEncoding.h"
#include "Poco/TextIterator.h"
#include "Poco/Thread.h"
#include "Poco/ThreadLocal.h"
#include "Poco/ThreadPool.h"
#include "Poco/ThreadTarget.h"
#include "Poco/TimedNotificationQueue.h"
#include "Poco/Timer.h"
#include "Poco/Timespan.h"
#include "Poco/Timestamp.h"
#include "Poco/Timezone.h"
#include "Poco/Token.h"
#include "Poco/Tuple.h"
#include "Poco/TypeList.h"
#include "Poco/Types.h"
#include "Poco/UnbufferedStreamBuf.h"
#include "Poco/UnicodeConverter.h"
#include "Poco/Unicode.h"
#include "Poco/UniqueAccessExpireCache.h"
#include "Poco/UniqueAccessExpireLRUCache.h"
#include "Poco/UniqueAccessExpireStrategy.h"
#include "Poco/UniqueExpireCache.h"
#include "Poco/UniqueExpireLRUCache.h"
#include "Poco/UniqueExpireStrategy.h"
#include "Poco/URI.h"
#include "Poco/URIStreamFactory.h"
#include "Poco/URIStreamOpener.h"
#include "Poco/UTF16Encoding.h"
#include "Poco/UTF32Encoding.h"
#include "Poco/UTF8Encoding.h"
#include "Poco/UTF8String.h"
#include "Poco/UTFString.h"
#include "Poco/UUIDGenerator.h"
#include "Poco/UUID.h"
#include "Poco/ValidArgs.h"
#include "Poco/Void.h"
#include "Poco/Windows874Encoding.h"
#include "Poco/Windows932Encoding.h"
#include "Poco/Windows936Encoding.h"
#include "Poco/Windows949Encoding.h"
#include "Poco/Windows950Encoding.h"
#include "Poco/Windows1250Encoding.h"
#include "Poco/Windows1251Encoding.h"
#include "Poco/Windows1252Encoding.h"
#include "Poco/Windows1253Encoding.h"
#include "Poco/Windows1254Encoding.h"
#include "Poco/Windows1255Encoding.h"
#include "Poco/Windows1256Encoding.h"
#include "Poco/Windows1257Encoding.h"
#include "Poco/Windows1258Encoding.h"
#ifdef _WIN32
#include "Poco/WindowsConsoleChannel.h"
#endif
#endif
export module Poco.Foundation;
export namespace Poco {
#ifdef ENABLE_FOUNDATION
using Poco::ASCIIEncoding;
using Poco::AbstractCache;
using Poco::AbstractDelegate;
using Poco::AbstractEvent;
using Poco::AbstractInstantiator;
using Poco::AbstractMetaObject;
using Poco::AbstractObserver;
using Poco::AbstractPriorityDelegate;
using Poco::AbstractStrategy;
using Poco::AbstractTimerCallback;
using Poco::AccessExpirationDecorator;
using Poco::AccessExpireCache;
using Poco::AccessExpireLRUCache;
using Poco::AccessExpireStrategy;
using Poco::ActiveDispatcher;
using Poco::ActiveMethod;
using Poco::ActiveResult;
using Poco::ActiveResultHolder;
using Poco::ActiveRunnable;
using Poco::ActiveRunnableBase;
using Poco::ActiveStarter;
using Poco::ActiveThreadPool;
using Poco::Activity;
using Poco::Any;
using Poco::ApplicationException;
using Poco::ArchiveByNumberStrategy;
using Poco::ArchiveByTimestampStrategy;
using Poco::ArchiveStrategy;
using Poco::Array;
using Poco::Ascii;
using Poco::AssertionViolationException;
using Poco::AsyncChannel;
using Poco::AsyncNotificationCenter;
using Poco::AsyncObserver;
using Poco::AtomicCounter;
using Poco::AtomicFlag;
using Poco::AutoPtr;
using Poco::AutoReleasePool;
using Poco::BadCastException;
using Poco::Base32Decoder;
using Poco::Base32DecoderBuf;
using Poco::Base32DecoderIOS;
using Poco::Base32Encoder;
using Poco::Base32EncoderBuf;
using Poco::Base32EncoderIOS;
using Poco::Base64Decoder;
using Poco::Base64DecoderBuf;
using Poco::Base64DecoderIOS;
using Poco::Base64Encoder;
using Poco::Base64EncoderBuf;
using Poco::Base64EncoderIOS;
using Poco::BasicBufferedBidirectionalStreamBuf;
using Poco::BasicBufferedStreamBuf;
using Poco::BasicEvent;
using Poco::BasicFIFOBuffer;
using Poco::BasicMemoryBinaryReader;
using Poco::BasicMemoryBinaryWriter;
using Poco::BasicMemoryStreamBuf;
using Poco::BasicUnbufferedStreamBuf;
using Poco::BinaryReader;
using Poco::BinaryWriter;
using Poco::Buffer;
using Poco::BufferAllocator;
using Poco::Bugcheck;
using Poco::BugcheckException;
using Poco::ByteOrder;
using Poco::CILess;
using Poco::Channel;
using Poco::Checksum;
using Poco::ChildrenFirstTraverse;
using Poco::CircularReferenceException;
using Poco::ClassLoader;
using Poco::Clock;
using Poco::ColorConsoleChannel;
using Poco::Condition;
using Poco::Configurable;
using Poco::ConsoleChannel;
using Poco::CountingIOS;
using Poco::CountingInputStream;
using Poco::CountingOutputStream;
using Poco::CountingStreamBuf;
using Poco::CreateFileException;
using Poco::DataException;
using Poco::DataFormatException;
using Poco::DataURIStream;
using Poco::DataURIStreamFactory;
using Poco::DataURIStreamIOS;
using Poco::DateTime;
using Poco::DateTimeFormat;
using Poco::DateTimeFormatter;
using Poco::DateTimeParser;
using Poco::Debugger;
using Poco::DefaultStrategy;
using Poco::DeflatingIOS;
using Poco::DeflatingInputStream;
using Poco::DeflatingOutputStream;
using Poco::DeflatingStreamBuf;
using Poco::Delegate;
using Poco::DigestBuf;
using Poco::DigestEngine;
using Poco::DigestIOS;
using Poco::DigestInputStream;
using Poco::DigestOutputStream;
using Poco::DirectoryIterator;
using Poco::DirectoryIteratorImpl;
using Poco::DirectoryNotEmptyException;
using Poco::DirectoryWatcher;
using Poco::DoubleByteEncoding;
using Poco::DynamicFactory;
using Poco::EOFToken;
using Poco::Environment;
// using Poco::EnvironmentImpl;
using Poco::Error;
using Poco::ErrorHandler;
using Poco::Event;
using Poco::EventArgs;
using Poco::EventChannel;
#ifdef _WIN32
using Poco::EventLogChannel;
#endif
using Poco::Exception;
using Poco::ExecuteFileException;
using Poco::ExistsException;
using Poco::ExpirationDecorator;
using Poco::Expire;
using Poco::ExpireCache;
using Poco::ExpireLRUCache;
using Poco::ExpireStrategy;
using Poco::FIFOBufferStream;
using Poco::FIFOBufferStreamBuf;
using Poco::FIFOEvent;
using Poco::FIFOIOS;
using Poco::FIFOStrategy;
using Poco::FPEnvironment;
using Poco::FastMemoryPool;
using Poco::FastMutex;
using Poco::File;
using Poco::FileAccessDeniedException;
using Poco::FileChannel;
using Poco::FileException;
using Poco::FileExistsException;
using Poco::FileIOS;
using Poco::FileImpl;
using Poco::FileInputStream;
using Poco::FileReadOnlyException;
using Poco::FileStream;
using Poco::FileStreamFactory;
using Poco::FileStreamRWLock;
using Poco::Formatter;
using Poco::FormattingChannel;
using Poco::FunctionDelegate;
using Poco::FunctionPriorityDelegate;
using Poco::Getter;
using Poco::Glob;
using Poco::HMACEngine;
using Poco::Hash;
using Poco::HashFunction;
using Poco::HashMap;
using Poco::HashMapEntry;
using Poco::HashMapEntryHash;
using Poco::HashSet;
using Poco::HashStatistic;
using Poco::HashTable;
using Poco::HexBinaryDecoder;
using Poco::HexBinaryDecoderBuf;
using Poco::HexBinaryDecoderIOS;
using Poco::HexBinaryEncoder;
using Poco::HexBinaryEncoderBuf;
using Poco::HexBinaryEncoderIOS;
using Poco::IOException;
using Poco::ISO8859_3Encoding;
using Poco::ISO8859_4Encoding;
using Poco::ISO8859_5Encoding;
using Poco::ISO8859_6Encoding;
using Poco::ISO8859_7Encoding;
using Poco::ISO8859_8Encoding;
using Poco::ISO8859_9Encoding;
using Poco::ISO8859_10Encoding;
using Poco::ISO8859_11Encoding;
using Poco::ISO8859_13Encoding;
using Poco::ISO8859_14Encoding;
using Poco::ISO8859_16Encoding;
using Poco::IllegalStateException;
using Poco::InflatingIOS;
using Poco::InflatingInputStream;
using Poco::InflatingOutputStream;
using Poco::InflatingStreamBuf;
using Poco::InputLineEndingConverter;
using Poco::InputStreamConverter;
using Poco::Instantiator;
using Poco::InvalidAccessException;
using Poco::InvalidArgumentException;
using Poco::InvalidToken;
using Poco::IsConst;
using Poco::IsReference;
using Poco::JSONFormatter;
using Poco::KeyValueArgs;
using Poco::LRUCache;
using Poco::LRUStrategy;
using Poco::Latin1Encoding;
using Poco::Latin2Encoding;
using Poco::Latin9Encoding;
using Poco::LibraryAlreadyLoadedException;
using Poco::LibraryLoadException;
using Poco::LineEnding;
using Poco::LineEndingConverterIOS;
using Poco::LineEndingConverterStreamBuf;
using Poco::LinearHashTable;
using Poco::ListMap;
using Poco::LocalDateTime;
using Poco::LogFile;
using Poco::LogIOS;
using Poco::LogStream;
using Poco::LogStreamBuf;
using Poco::Logger;
using Poco::LoggingFactory;
using Poco::LoggingRegistry;
using Poco::LogicException;
using Poco::MD4Engine;
using Poco::MD5Engine;
using Poco::MacCentralEurRomanEncoding;
using Poco::MacChineseSimpEncoding;
using Poco::MacChineseTradEncoding;
using Poco::MacCyrillicEncoding;
using Poco::MacJapaneseEncoding;
using Poco::MacKoreanEncoding;
using Poco::MacRomanEncoding;
using Poco::Manifest;
using Poco::ManifestBase;
using Poco::MemoryIOS;
using Poco::MemoryInputStream;
using Poco::MemoryOutputStream;
using Poco::MemoryPool;
using Poco::Message;
using Poco::MetaObject;
using Poco::MetaSingleton;
using Poco::Mutex;
using Poco::NDCScope;
using Poco::NObserver;
using Poco::NamedEvent;
using Poco::NamedEventImpl;
using Poco::NamedMutex;
using Poco::NamedMutexImpl;
using Poco::NamedTuple;
using Poco::NestedDiagnosticContext;
using Poco::NoPermissionException;
using Poco::NoThreadAvailableException;
using Poco::NotFoundException;
using Poco::NotImplementedException;
using Poco::Notification;
using Poco::NotificationCenter;
using Poco::NotificationQueue;
using Poco::NotificationStrategy;
using Poco::NullChannel;
using Poco::NullIOS;
using Poco::NullInputStream;
using Poco::NullMutex;
using Poco::NullOutputStream;
using Poco::NullPointerException;
using Poco::NullPurgeStrategy;
using Poco::NullRotateStrategy;
using Poco::NullStreamBuf;
using Poco::NullTypeList;
using Poco::NullValueException;
using Poco::Nullable;
using Poco::NumberFormatter;
using Poco::NumberParser;
using Poco::ObjectPool;
using Poco::Observer;
using Poco::OpenFileException;
using Poco::Optional;
using Poco::OutOfMemoryException;
using Poco::OutputLineEndingConverter;
using Poco::OutputStreamConverter;
using Poco::PBKDF2Engine;
using Poco::PIDFile;
using Poco::Path;
// using Poco::PathImpl;
using Poco::PathNotFoundException;
using Poco::PathSyntaxException;
using Poco::PatternFormatter;
using Poco::Pipe;
using Poco::PipeIOS;
using Poco::PipeInputStream;
using Poco::PipeOutputStream;
using Poco::PipeStreamBuf;
using Poco::Placeholder;
using Poco::PoolOverflowException;
using Poco::PoolableObjectFactory;
using Poco::PriorityDelegate;
using Poco::PriorityEvent;
using Poco::PriorityExpire;
using Poco::PriorityNotificationQueue;
using Poco::PriorityStrategy;
using Poco::Process;
using Poco::ProcessHandle;
using Poco::ProcessHandleImpl;
using Poco::ProcessImpl;
using Poco::ProcessRunner;
using Poco::PropertyNotSupportedException;
using Poco::ProtocolException;
using Poco::PurgeByAgeStrategy;
using Poco::PurgeByCountStrategy;
using Poco::PurgeStrategy;
using Poco::RWLock;
using Poco::Random;
using Poco::RandomBuf;
using Poco::RandomIOS;
using Poco::RandomInputStream;
using Poco::RangeException;
using Poco::ReadFileException;
using Poco::RecursiveDirectoryIterator;
using Poco::RecursiveDirectoryIteratorImpl;
using Poco::RefCountedObject;
using Poco::ReferenceCounter;
using Poco::RegularExpression;
using Poco::RegularExpressionException;
using Poco::ReleaseArrayPolicy;
using Poco::ReleasePolicy;
using Poco::ResourceLimitException;
using Poco::RotateAtTimeStrategy;
using Poco::RotateByIntervalStrategy;;
using Poco::RotateBySizeStrategy;
using Poco::RotateStrategy;
using Poco::Runnable;
using Poco::RunnableAdapter;
using Poco::RuntimeException;
using Poco::SHA1Engine;
using Poco::SHA2Engine;
using Poco::SHA2Engine224;
using Poco::SHA2Engine256;
using Poco::SHA2Engine384;
using Poco::SHA2Engine512;
using Poco::ScopedFStreamRWLock;
using Poco::ScopedFStreamReadRWLock;
using Poco::ScopedFStreamWriteRWLock;
using Poco::ScopedLock;
using Poco::ScopedLockWithUnlock;
using Poco::ScopedRWLock;
using Poco::ScopedReadRWLock;
using Poco::ScopedUnlock;
using Poco::ScopedWriteRWLock;
using Poco::Semaphore;
using Poco::SharedLibrary;
using Poco::SharedLibraryImpl;
using Poco::SharedMemory;
using Poco::SharedPtr;
using Poco::SiblingsFirstTraverse;
using Poco::SignalException;
using Poco::SignalHandler;
using Poco::SimpleFileChannel;
using Poco::SimpleHashTable;
using Poco::SingletonHolder;
using Poco::SortedDirectoryIterator;
using Poco::SpinlockMutex;
using Poco::SplitterChannel;
using Poco::Stopwatch;
using Poco::StrategyCollection;
using Poco::StreamChannel;
using Poco::StreamConverterBuf;
using Poco::StreamConverterIOS;
using Poco::StreamCopier;
using Poco::StreamTokenizer;
using Poco::StringTokenizer;
using Poco::SynchronizedObject;
using Poco::SyntaxException;
using Poco::SyslogChannel;
using Poco::SystemException;
using Poco::TLSAbstractSlot;
using Poco::TLSSlot;
using Poco::Task;
using Poco::TaskCancelledNotification;
using Poco::TaskCustomNotification;
using Poco::TaskFailedNotification;
using Poco::TaskFinishedNotification;
using Poco::TaskManager;
using Poco::TaskNotification;
using Poco::TaskProgressNotification;
using Poco::TaskStartedNotification;
using Poco::TeeIOS;
using Poco::TeeInputStream;
using Poco::TeeOutputStream;
using Poco::TeeStreamBuf;
using Poco::TemporaryFile;
using Poco::TextBufferIterator;
using Poco::TextConverter;
using Poco::TextEncoding;
using Poco::TextIterator;
using Poco::Thread;
using Poco::ThreadLocal;
using Poco::ThreadLocalStorage;
using Poco::ThreadPool;
using Poco::ThreadTarget;
using Poco::TimedNotificationQueue;
using Poco::TimeoutException;
using Poco::Timer;
using Poco::TimerCallback;
using Poco::Timespan;
using Poco::Timestamp;
using Poco::Timezone;
using Poco::Token;
using Poco::TooManyURIRedirectsException;
using Poco::TraverseBase;
using Poco::Tuple;
using Poco::TypeList;
using Poco::TypeListType;
using Poco::TypeWrapper;
using Poco::URI;
using Poco::URIRedirection;
using Poco::URIStreamFactory;
using Poco::URIStreamOpener;
using Poco::URISyntaxException;
using Poco::UTF8;
using Poco::UTF8Encoding;
using Poco::UTF16CharTraits;
using Poco::UTF16Encoding;
using Poco::UTF32CharTraits;
using Poco::UTF32Encoding;
using Poco::UUID;
using Poco::UUIDGenerator;
using Poco::UnhandledException;
using Poco::Unicode;
using Poco::UnicodeConverter;
using Poco::UniqueAccessExpireCache;
using Poco::UniqueAccessExpireLRUCache;
using Poco::UniqueAccessExpireStrategy;
using Poco::UniqueExpireCache;
using Poco::UniqueExpireLRUCache;
using Poco::UniqueExpireStrategy;
using Poco::UnknownURISchemeException;
using Poco::ValidArgs;
using Poco::Void;
using Poco::WhitespaceToken;
using Poco::Windows874Encoding;
using Poco::Windows932Encoding;
using Poco::Windows936Encoding;
using Poco::Windows949Encoding;
using Poco::Windows950Encoding;
using Poco::Windows1250Encoding;
using Poco::Windows1251Encoding;
using Poco::Windows1252Encoding;
using Poco::Windows1253Encoding;
using Poco::Windows1254Encoding;
using Poco::Windows1256Encoding;
#ifdef _WIN32
using Poco::WindowsColorConsoleChannel;
using Poco::WindowsConsoleChannel;
#endif
using Poco::WriteFileException;
using Poco::i_char_traits;
using Poco::FIFOBuffer;
using Poco::FPE;
using Poco::MemoryBinaryReader;
using Poco::MemoryBinaryWriter;
using Poco::MemoryStreamBuf;
using Poco::NDC;
using Poco::SiblingsFirstRecursiveDirectoryIterator;
using Poco::SimpleRecursiveDirectoryIterator;
using Poco::UTF16Char;
using Poco::UTF16String;
using Poco::UTF32Char;
using Poco::UTF32String;
using Poco::istring;
using Poco::BasicBufferedBidirectionalStreamBuf;
using Poco::BufferedStreamBuf;
using Poco::DynamicAny;
// using Poco::DynamicStruct;
using Poco::Int8;
using Poco::Int16;
using Poco::Int32;
using Poco::Int64;
using Poco::IntPtr;
using Poco::LineNumber;
using Poco::NullType;
// using Poco::OrderedDynamicStruct;
using Poco::UInt8;
using Poco::UInt16;
using Poco::UInt32;
using Poco::UInt64;
using Poco::UIntPtr;
using Poco::UnbufferedStreamBuf;
using Poco::AnyCast;
using Poco::AnyHoldsNullPtr;
using Poco::RefAnyCast;
using Poco::UnsafeAnyCast;
using Poco::cat;
using Poco::cstrlen;
using Poco::decimalSeparator;
using Poco::delegate;
using Poco::demangle;
using Poco::doubleToFixedStr;
using Poco::doubleToStr;
using Poco::endsWith;
using Poco::floatToFixedStr;
using Poco::floatToStr;
using Poco::format;
using Poco::formatAny;
using Poco::hash;
using Poco::hashCombine;
using Poco::hashRange;
using Poco::icompare;
using Poco::intToStr;
using Poco::isIntOverflow;
using Poco::isNegative;
using Poco::isSafeIntCast;
using Poco::isubstr;
using Poco::makeAuto;
using Poco::makeShared;
using Poco::makeSharedArray;
using Poco::operator!=;
using Poco::operator&;
using Poco::operator&=;
using Poco::operator<;
using Poco::operator<<;
using Poco::operator<=;
using Poco::operator==;
using Poco::operator>;
using Poco::operator>=;
using Poco::operator|;
using Poco::operator|=;
// using Poco::priorityDelegate;
using Poco::registerExtraEncodings;
using Poco::remove;
using Poco::removeInPlace;
using Poco::replace;
using Poco::replaceInPlace;
using Poco::safeIntCast;
using Poco::safeMultiply;
using Poco::secureClear;
using Poco::startsWith;
using Poco::strToDouble;
using Poco::strToFloat;
using Poco::strToInt;
using Poco::swap;
using Poco::thousandSeparator;
using Poco::toJSON;
using Poco::toLower;
using Poco::toLowerInPlace;
using Poco::toUpper;
using Poco::toUpperInPlace;
using Poco::translate;
using Poco::translateInPlace;
using Poco::trim;
using Poco::trimInPlace;
using Poco::trimLeft;
using Poco::trimLeftInPlace;
using Poco::trimRight;
using Poco::trimRightInPlace;
using Poco::uIntToStr;
namespace Impl {
using Poco::Impl::EnableSigned;
using Poco::Impl::EnableUnsigned;
using Poco::Impl::IsNegativeImpl;
using Poco::Impl::Ptr;
using Poco::Impl::hashCombine;
}
#endif
}

48
modules/Poco/JSON.cppm Normal file
View File

@@ -0,0 +1,48 @@
//
// JSON.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_JSON
#include "Poco/JSON/Array.h"
#include "Poco/JSON/Handler.h"
#include "Poco/JSON/JSONException.h"
#include "Poco/JSON/JSON.h"
#include "Poco/JSON/Object.h"
#include "Poco/JSON/ParseHandler.h"
#include "Poco/JSON/Parser.h"
#include "Poco/JSON/ParserImpl.h"
#include "Poco/JSON/PrintHandler.h"
#include "Poco/JSON/Query.h"
#include "Poco/JSON/Stringifier.h"
#include "Poco/JSON/TemplateCache.h"
#include "Poco/JSON/Template.h"
#endif
export module Poco.JSON;
export namespace Poco::JSON {
#ifdef ENABLE_JSON
using Poco::JSON::Array;
using Poco::JSON::Handler;
using Poco::JSON::JSONException;
using Poco::JSON::JSONTemplateException;
using Poco::JSON::Object;
using Poco::JSON::ParseHandler;
using Poco::JSON::Parser;
using Poco::JSON::ParserImpl;
using Poco::JSON::PrintHandler;
using Poco::JSON::Query;
using Poco::JSON::Stringifier;
using Poco::JSON::Template;
using Poco::JSON::TemplateCache;
#endif
}

37
modules/Poco/JWT.cppm Normal file
View File

@@ -0,0 +1,37 @@
//
// JWT.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_JWT
#include "Poco/JWT/JWTException.h"
#include "Poco/JWT/JWT.h"
#include "Poco/JWT/Serializer.h"
#include "Poco/JWT/Signer.h"
#include "Poco/JWT/Token.h"
#endif
export module Poco.JWT;
export namespace Poco::JWT {
#ifdef ENABLE_JWT
using Poco::JWT::JWTException;
using Poco::JWT::ParseException;
using Poco::JWT::Serializer;
using Poco::JWT::SignatureException;
using Poco::JWT::SignatureGenerationException;
using Poco::JWT::SignatureVerificationException;
using Poco::JWT::Signer;
using Poco::JWT::Token;
using Poco::JWT::UnallowedAlgorithmException;
using Poco::JWT::UnsupportedAlgorithmException;
#endif
}

82
modules/Poco/MongoDB.cppm Normal file
View File

@@ -0,0 +1,82 @@
//
// MongoDB.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_MONGODB
#include "Poco/MongoDB/Array.h"
#include "Poco/MongoDB/Binary.h"
#include "Poco/MongoDB/BSONReader.h"
#include "Poco/MongoDB/BSONWriter.h"
#include "Poco/MongoDB/Connection.h"
#include "Poco/MongoDB/Cursor.h"
#include "Poco/MongoDB/Database.h"
#include "Poco/MongoDB/DeleteRequest.h"
#include "Poco/MongoDB/Document.h"
#include "Poco/MongoDB/Element.h"
#include "Poco/MongoDB/GetMoreRequest.h"
#include "Poco/MongoDB/InsertRequest.h"
#include "Poco/MongoDB/JavaScriptCode.h"
#include "Poco/MongoDB/KillCursorsRequest.h"
#include "Poco/MongoDB/Message.h"
#include "Poco/MongoDB/MessageHeader.h"
#include "Poco/MongoDB/MongoDB.h"
#include "Poco/MongoDB/ObjectId.h"
#include "Poco/MongoDB/OpMsgCursor.h"
#include "Poco/MongoDB/OpMsgMessage.h"
#include "Poco/MongoDB/PoolableConnectionFactory.h"
#include "Poco/MongoDB/QueryRequest.h"
#include "Poco/MongoDB/RegularExpression.h"
#include "Poco/MongoDB/ReplicaSet.h"
#include "Poco/MongoDB/RequestMessage.h"
#include "Poco/MongoDB/ResponseMessage.h"
#include "Poco/MongoDB/UpdateRequest.h"
#endif
export module Poco.MongoDB;
export namespace Poco::MongoDB {
#ifdef ENABLE_MONGODB
using Poco::MongoDB::Array;
using Poco::MongoDB::BSONReader;
using Poco::MongoDB::BSONTimestamp;
using Poco::MongoDB::BSONWriter;
using Poco::MongoDB::Binary;
using Poco::MongoDB::ConcreteElement;
using Poco::MongoDB::Connection;
using Poco::MongoDB::Cursor;
using Poco::MongoDB::Database;
using Poco::MongoDB::DeleteRequest;
using Poco::MongoDB::Document;
using Poco::MongoDB::Element;
using Poco::MongoDB::ElementFindByName;
using Poco::MongoDB::ElementTraits;
using Poco::MongoDB::GetMoreRequest;
using Poco::MongoDB::InsertRequest;
using Poco::MongoDB::JavaScriptCode;
using Poco::MongoDB::KillCursorsRequest;
using Poco::MongoDB::Message;
using Poco::MongoDB::MessageHeader;
using Poco::MongoDB::ObjectId;
using Poco::MongoDB::OpMsgCursor;
using Poco::MongoDB::OpMsgMessage;
using Poco::MongoDB::PooledConnection;
using Poco::MongoDB::QueryRequest;
using Poco::MongoDB::RegularExpression;
using Poco::MongoDB::ReplicaSet;
using Poco::MongoDB::RequestMessage;
using Poco::MongoDB::ResponseMessage;
using Poco::MongoDB::UpdateRequest;
using Poco::MongoDB::ElementSet;
using Poco::MongoDB::NullValue;
#endif
}

481
modules/Poco/Net.cppm Normal file
View File

@@ -0,0 +1,481 @@
//
// Net.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_NET
#include "Poco/Net/AbstractHTTPRequestHandler.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/AcceptCertificateHandler.h"
#ifdef ENABLE_NETSSL_WIN
#include "Poco/Net/AutoSecBufferDesc.h"
#endif
#include "Poco/Net/CertificateHandlerFactory.h"
#include "Poco/Net/CertificateHandlerFactoryMgr.h"
#include "Poco/Net/ConsoleCertificateHandler.h"
#include "Poco/Net/Context.h"
#endif
#include "Poco/Net/DatagramSocket.h"
#include "Poco/Net/DatagramSocketImpl.h"
#include "Poco/Net/DialogSocket.h"
#include "Poco/Net/DNS.h"
#include "Poco/Net/EscapeHTMLStream.h"
#include "Poco/Net/FilePartSource.h"
#include "Poco/Net/FTPClientSession.h"
#ifdef ENABLE_SSL_OPENSSL
#include "Poco/Net/FTPSClientSession.h"
#include "Poco/Net/FTPSStreamFactory.h"
#endif
#include "Poco/Net/FTPStreamFactory.h"
#include "Poco/Net/HostEntry.h"
#include "Poco/Net/HTMLForm.h"
#include "Poco/Net/HTTPAuthenticationParams.h"
#include "Poco/Net/HTTPBasicCredentials.h"
#include "Poco/Net/HTTPBasicStreamBuf.h"
#include "Poco/Net/HTTPBufferAllocator.h"
#include "Poco/Net/HTTPChunkedStream.h"
#include "Poco/Net/HTTPClientSession.h"
#include "Poco/Net/HTTPCookie.h"
#include "Poco/Net/HTTPCredentials.h"
#include "Poco/Net/HTTPDigestCredentials.h"
#include "Poco/Net/HTTPFixedLengthStream.h"
#include "Poco/Net/HTTPHeaderStream.h"
#include "Poco/Net/HTTPIOStream.h"
#include "Poco/Net/HTTPMessage.h"
#include "Poco/Net/HTTPNTLMCredentials.h"
#include "Poco/Net/HTTPRequest.h"
#include "Poco/Net/HTTPRequestHandlerFactory.h"
#include "Poco/Net/HTTPRequestHandler.h"
#include "Poco/Net/HTTPResponse.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/HTTPSClientSession.h"
#endif
#include "Poco/Net/HTTPServerConnectionFactory.h"
#include "Poco/Net/HTTPServerConnection.h"
#include "Poco/Net/HTTPServer.h"
#include "Poco/Net/HTTPServerParams.h"
#include "Poco/Net/HTTPServerRequest.h"
#include "Poco/Net/HTTPServerRequestImpl.h"
#include "Poco/Net/HTTPServerResponse.h"
#include "Poco/Net/HTTPServerResponseImpl.h"
#include "Poco/Net/HTTPServerSession.h"
#include "Poco/Net/HTTPSessionFactory.h"
#include "Poco/Net/HTTPSession.h"
#include "Poco/Net/HTTPSessionInstantiator.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/HTTPSSessionInstantiator.h"
#include "Poco/Net/HTTPSStreamFactory.h"
#endif
#include "Poco/Net/HTTPStreamFactory.h"
#include "Poco/Net/HTTPStream.h"
#include "Poco/Net/ICMPClient.h"
#include "Poco/Net/ICMPEventArgs.h"
#include "Poco/Net/ICMPPacket.h"
#include "Poco/Net/ICMPPacketImpl.h"
#include "Poco/Net/ICMPSocket.h"
#include "Poco/Net/ICMPSocketImpl.h"
#include "Poco/Net/ICMPv4PacketImpl.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/InvalidCertificateHandler.h"
#endif
#include "Poco/Net/IPAddress.h"
#include "Poco/Net/IPAddressImpl.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/KeyConsoleHandler.h"
#include "Poco/Net/KeyFileHandler.h"
#endif
#include "Poco/Net/MailMessage.h"
#include "Poco/Net/MailRecipient.h"
#include "Poco/Net/MailStream.h"
#include "Poco/Net/MediaType.h"
#include "Poco/Net/MessageHeader.h"
#include "Poco/Net/MulticastSocket.h"
#include "Poco/Net/MultipartReader.h"
#include "Poco/Net/MultipartWriter.h"
#include "Poco/Net/MultiSocketPoller.h"
#include "Poco/Net/NameValueCollection.h"
#include "Poco/Net/NetException.h"
#include "Poco/Net/Net.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/NetSSL.h"
#endif
#include "Poco/Net/NetworkInterface.h"
#include "Poco/Net/NTLMCredentials.h"
#include "Poco/Net/NTPClient.h"
#include "Poco/Net/NTPEventArgs.h"
#include "Poco/Net/NTPPacket.h"
#include "Poco/Net/NullPartHandler.h"
#include "Poco/Net/OAuth10Credentials.h"
#include "Poco/Net/OAuth20Credentials.h"
#include "Poco/Net/ParallelSocketAcceptor.h"
#include "Poco/Net/ParallelSocketReactor.h"
#include "Poco/Net/PartHandler.h"
#include "Poco/Net/PartSource.h"
#include "Poco/Net/PartStore.h"
#include "Poco/Net/PollSet.h"
#include "Poco/Net/POP3ClientSession.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/PrivateKeyFactory.h"
#include "Poco/Net/PrivateKeyFactoryMgr.h"
#include "Poco/Net/PrivateKeyPassphraseHandler.h"
#endif
#include "Poco/Net/QuotedPrintableDecoder.h"
#include "Poco/Net/QuotedPrintableEncoder.h"
#include "Poco/Net/RawSocket.h"
#include "Poco/Net/RawSocketImpl.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/RejectCertificateHandler.h"
#endif
#include "Poco/Net/RemoteSyslogChannel.h"
#include "Poco/Net/RemoteSyslogListener.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/SecureServerSocket.h"
#include "Poco/Net/SecureServerSocketImpl.h"
#include "Poco/Net/SecureSMTPClientSession.h"
#include "Poco/Net/SecureSocketImpl.h"
#include "Poco/Net/SecureStreamSocket.h"
#include "Poco/Net/SecureStreamSocketImpl.h"
#endif
#include "Poco/Net/ServerSocket.h"
#include "Poco/Net/ServerSocketImpl.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/Session.h"
#endif
#include "Poco/Net/SingleSocketPoller.h"
#include "Poco/Net/SMTPChannel.h"
#include "Poco/Net/SMTPClientSession.h"
#include "Poco/Net/SocketAcceptor.h"
#include "Poco/Net/SocketAddress.h"
#include "Poco/Net/SocketAddressImpl.h"
#include "Poco/Net/SocketConnector.h"
#include "Poco/Net/SocketDefs.h"
#include "Poco/Net/Socket.h"
#include "Poco/Net/SocketImpl.h"
#include "Poco/Net/SocketNotification.h"
#include "Poco/Net/SocketNotifier.h"
#include "Poco/Net/SocketProactor.h"
#include "Poco/Net/SocketReactor.h"
#include "Poco/Net/SocketStream.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/SSLException.h"
#include "Poco/Net/SSLManager.h"
#endif
#include "Poco/Net/SSPINTLMCredentials.h"
#include "Poco/Net/StreamSocket.h"
#include "Poco/Net/StreamSocketImpl.h"
#include "Poco/Net/StringPartSource.h"
#include "Poco/Net/TCPServerConnectionFactory.h"
#include "Poco/Net/TCPServerConnection.h"
#include "Poco/Net/TCPServerDispatcher.h"
#include "Poco/Net/TCPServer.h"
#include "Poco/Net/TCPServerParams.h"
#include "Poco/Net/UDPClient.h"
#include "Poco/Net/UDPHandler.h"
#include "Poco/Net/UDPServer.h"
#include "Poco/Net/UDPServerParams.h"
#include "Poco/Net/UDPSocketReader.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/Utility.h"
#include "Poco/Net/VerificationErrorArgs.h"
#endif
#include "Poco/Net/WebSocket.h"
#include "Poco/Net/WebSocketImpl.h"
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#include "Poco/Net/X509Certificate.h"
#endif
#endif
export module Poco.Net;
export namespace Poco::Net {
#ifdef ENABLE_NET
using Poco::Net::AbstractHTTPRequestHandler;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::AcceptCertificateHandler;
#endif
using Poco::Net::AddressFamily;
using Poco::Net::AddressFamilyMismatchException;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
#ifdef ENABLE_NETSSL_WIN
using Poco::Net::AutoSecBufferDesc;
#endif
using Poco::Net::CertificateHandlerFactory;
using Poco::Net::CertificateHandlerFactoryImpl;
using Poco::Net::CertificateHandlerFactoryMgr;
using Poco::Net::CertificateHandlerFactoryRegistrar;
using Poco::Net::CertificateValidationException;
#endif
using Poco::Net::ConnectionAbortedException;
using Poco::Net::ConnectionRefusedException;
using Poco::Net::ConnectionResetException;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::ConsoleCertificateHandler;
using Poco::Net::Context;
#endif
using Poco::Net::DNS;
using Poco::Net::DNSException;
using Poco::Net::DatagramSocket;
using Poco::Net::DatagramSocketImpl;
using Poco::Net::DialogSocket;
using Poco::Net::ErrorNotification;
using Poco::Net::EscapeHTMLIOS;
using Poco::Net::EscapeHTMLOutputStream;
using Poco::Net::EscapeHTMLStreamBuf;
using Poco::Net::FTPClientSession;
using Poco::Net::FTPException;
using Poco::Net::FTPPasswordProvider;
#ifdef ENABLE_NETSSL_OPENSSL
using Poco::Net::FTPSClientSession;
using Poco::Net::FTPSStreamFactory;
#endif
using Poco::Net::FTPStreamFactory;
using Poco::Net::FilePartSource;
using Poco::Net::FilePartStore;
using Poco::Net::FilePartStoreFactory;
using Poco::Net::HTMLForm;
using Poco::Net::HTMLFormException;
using Poco::Net::HTTPAuthenticationParams;
using Poco::Net::HTTPBasicCredentials;
using Poco::Net::HTTPBufferAllocator;
using Poco::Net::HTTPChunkedIOS;
using Poco::Net::HTTPChunkedInputStream;
using Poco::Net::HTTPChunkedOutputStream;
using Poco::Net::HTTPChunkedStreamBuf;
using Poco::Net::HTTPClientSession;
using Poco::Net::HTTPCookie;
using Poco::Net::HTTPCredentials;
using Poco::Net::HTTPDigestCredentials;
using Poco::Net::HTTPException;
using Poco::Net::HTTPFixedLengthIOS;
using Poco::Net::HTTPFixedLengthInputStream;
using Poco::Net::HTTPFixedLengthOutputStream;
using Poco::Net::HTTPFixedLengthStreamBuf;
using Poco::Net::HTTPHeaderIOS;
using Poco::Net::HTTPHeaderInputStream;
using Poco::Net::HTTPHeaderOutputStream;
using Poco::Net::HTTPHeaderStreamBuf;
using Poco::Net::HTTPIOS;
using Poco::Net::HTTPInputStream;
using Poco::Net::HTTPMessage;
using Poco::Net::HTTPNTLMCredentials;
using Poco::Net::HTTPOutputStream;
using Poco::Net::HTTPRequest;
using Poco::Net::HTTPRequestHandler;
using Poco::Net::HTTPRequestHandlerFactory;
using Poco::Net::HTTPResponse;
using Poco::Net::HTTPResponseIOS;
using Poco::Net::HTTPResponseStream;
using Poco::Net::HTTPResponseStreamBuf;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::HTTPSClientSession;
using Poco::Net::HTTPSSessionInstantiator;
using Poco::Net::HTTPSStreamFactory;
#endif
using Poco::Net::HTTPServer;
using Poco::Net::HTTPServerConnection;
using Poco::Net::HTTPServerConnectionFactory;
using Poco::Net::HTTPServerParams;
using Poco::Net::HTTPServerRequest;
using Poco::Net::HTTPServerRequestImpl;
using Poco::Net::HTTPServerResponse;
using Poco::Net::HTTPServerResponseImpl;
using Poco::Net::HTTPServerSession;
using Poco::Net::HTTPSession;
using Poco::Net::HTTPSessionFactory;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::HTTPSSessionInstantiator;
#endif
using Poco::Net::HTTPStreamBuf;
using Poco::Net::HTTPStreamFactory;
using Poco::Net::HostEntry;
using Poco::Net::HostNotFoundException;
using Poco::Net::ICMPClient;
using Poco::Net::ICMPEventArgs;
using Poco::Net::ICMPException;
using Poco::Net::ICMPFragmentationException;
using Poco::Net::ICMPPacket;
using Poco::Net::ICMPPacketImpl;
using Poco::Net::ICMPSocket;
using Poco::Net::ICMPSocketImpl;
using Poco::Net::ICMPv4PacketImpl;
using Poco::Net::IPAddress;
using Poco::Net::IdleNotification;
using Poco::Net::InterfaceNotFoundException;
using Poco::Net::InvalidAddressException;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::InvalidCertificateException;
using Poco::Net::InvalidCertificateHandler;
#endif
using Poco::Net::InvalidSocketException;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::KeyConsoleHandler;
using Poco::Net::KeyFileHandler;
#endif
using Poco::Net::MailIOS;
using Poco::Net::MailInputStream;
using Poco::Net::MailMessage;
using Poco::Net::MailOutputStream;
using Poco::Net::MailRecipient;
using Poco::Net::MailStreamBuf;
using Poco::Net::MediaType;
using Poco::Net::MessageException;
using Poco::Net::MessageHeader;
using Poco::Net::MulticastSocket;
using Poco::Net::MultipartException;
using Poco::Net::MultipartIOS;
using Poco::Net::MultipartInputStream;
using Poco::Net::MultipartReader;
using Poco::Net::MultipartSource;
using Poco::Net::MultipartStreamBuf;
using Poco::Net::MultipartWriter;
using Poco::Net::NTLMContext;
using Poco::Net::NTLMCredentials;
using Poco::Net::NTPClient;
using Poco::Net::NTPEventArgs;
using Poco::Net::NTPException;
using Poco::Net::NTPPacket;
using Poco::Net::NameValueCollection;
using Poco::Net::NetException;
using Poco::Net::NetworkInterface;
using Poco::Net::NoAddressFoundException;
using Poco::Net::NoMessageException;
using Poco::Net::NotAuthenticatedException;
using Poco::Net::NullPartHandler;
using Poco::Net::OAuth10Credentials;
using Poco::Net::OAuth20Credentials;
using Poco::Net::POP3ClientSession;
using Poco::Net::POP3Exception;
using Poco::Net::ParallelSocketAcceptor;
using Poco::Net::ParallelSocketReactor;
using Poco::Net::PartHandler;
using Poco::Net::PartSource;
using Poco::Net::PartStore;
using Poco::Net::PartStoreFactory;
using Poco::Net::PollSet;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::PrivateKeyFactory;
using Poco::Net::PrivateKeyFactoryImpl;
using Poco::Net::PrivateKeyFactoryMgr;
using Poco::Net::PrivateKeyFactoryRegistrar;
using Poco::Net::PrivateKeyPassphraseHandler;
#endif
using Poco::Net::QuotedPrintableDecoder;
using Poco::Net::QuotedPrintableDecoderBuf;
using Poco::Net::QuotedPrintableEncoderIOS;
using Poco::Net::QuotedPrintableEncoder;
using Poco::Net::QuotedPrintableEncoderBuf;
using Poco::Net::QuotedPrintableEncoderIOS;
using Poco::Net::RawSocket;
using Poco::Net::RawSocketImpl;
using Poco::Net::ReadableNotification;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::RejectCertificateHandler;
#endif
using Poco::Net::RemoteSyslogChannel;
using Poco::Net::RemoteSyslogListener;
using Poco::Net::SMTPChannel;
using Poco::Net::SMTPClientSession;
using Poco::Net::SMTPException;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::SSLConnectionUnexpectedlyClosedException;
using Poco::Net::SSLContextException;
using Poco::Net::SSLException;
using Poco::Net::SSLManager;
#endif
using Poco::Net::SSPINTLMCredentials;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::SecureSMTPClientSession;
using Poco::Net::SecureServerSocket;
using Poco::Net::SecureServerSocketImpl;
using Poco::Net::SecureStreamSocket;
using Poco::Net::SecureSocketImpl;
#endif
using Poco::Net::ServerSocket;
using Poco::Net::ServerSocketImpl;
using Poco::Net::ServiceNotFoundException;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::Session;
#endif
using Poco::Net::ShutdownNotification;
using Poco::Net::Socket;
using Poco::Net::SocketAcceptor;
using Poco::Net::SocketAddress;
using Poco::Net::SocketConnector;
using Poco::Net::SocketIOS;
using Poco::Net::SocketImpl;
using Poco::Net::SocketInputStream;
using Poco::Net::SocketNotification;
using Poco::Net::SocketNotifier;
using Poco::Net::SocketOutputStream;
using Poco::Net::SocketProactor;
using Poco::Net::SocketReactor;
using Poco::Net::SocketStream;
using Poco::Net::SocketStreamBuf;
using Poco::Net::StreamSocket;
using Poco::Net::StreamSocketImpl;
using Poco::Net::StringPartSource;
using Poco::Net::TCPServer;
using Poco::Net::TCPServerConnection;
using Poco::Net::TCPServerConnectionFactory;
using Poco::Net::TCPServerConnectionFactoryImpl;
using Poco::Net::TCPServerConnectionFilter;
using Poco::Net::TCPServerDispatcher;
using Poco::Net::TCPServerParams;
using Poco::Net::TimeoutNotification;
using Poco::Net::UDPClient;
using Poco::Net::UDPServerParams;
using Poco::Net::UDPSocketReader;
using Poco::Net::UnsupportedFamilyException;
using Poco::Net::UnsupportedRedirectException;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::Utility;
using Poco::Net::VerificationErrorArgs;
#endif
using Poco::Net::WebSocket;
using Poco::Net::WebSocketException;
using Poco::Net::WebSocketImpl;
using Poco::Net::WritableNotification;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::X509Certificate;
#endif
using Poco::Net::SocketBufVec;
using Poco::Net::UDPMsgSizeT;
using Poco::Net::HTTPBasicStreamBuf;
using Poco::Net::UDPMultiServer;
using Poco::Net::UDPServer;
using Poco::Net::SocketBufVecSize;
using Poco::Net::htmlize;
using Poco::Net::initializeNetwork;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::initializeSSL;
#endif
using Poco::Net::operator<<;
using Poco::Net::operator>>;
using Poco::Net::swap;
using Poco::Net::uninitializeNetwork;
#if defined(ENABLE_NETSSL_OPENSSL) || defined(ENABLE_NETSSL_WIN)
using Poco::Net::uninitializeSSL;
#endif
namespace Impl {
using Poco::Net::Impl::IPAddressImpl;
using Poco::Net::Impl::IPv4AddressImpl;
using Poco::Net::Impl::IPv4SocketAddressImpl;
using Poco::Net::Impl::IPv6AddressImpl;
using Poco::Net::Impl::IPv6SocketAddressImpl;
using Poco::Net::Impl::LocalSocketAddressImpl;
using Poco::Net::Impl::SocketAddressImpl;
}
#endif
}

53
modules/Poco/PDF.cppm Normal file
View File

@@ -0,0 +1,53 @@
//
// PDF.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_PDF
#include "Poco/PDF/AttributedString.h"
#include "Poco/PDF/Cell.h"
#include "Poco/PDF/Destination.h"
#include "Poco/PDF/Encoder.h"
#include "Poco/PDF/Font.h"
#include "Poco/PDF/Image.h"
#include "Poco/PDF/LinkAnnotation.h"
#include "Poco/PDF/Outline.h"
#include "Poco/PDF/Page.h"
#include "Poco/PDF/PDF.h"
#include "Poco/PDF/PDFException.h"
#include "Poco/PDF/Resource.h"
#include "Poco/PDF/Table.h"
#include "Poco/PDF/TextAnnotation.h"
#include "Poco/PDF/XMLTemplate.h"
#endif
export module Poco.PDF;
export namespace Poco::PDF {
#ifdef ENABLE_PDF
using Poco::PDF::AttributedString;
using Poco::PDF::Cell;
using Poco::PDF::Destination;
using Poco::PDF::Document;
using Poco::PDF::Encoder;
using Poco::PDF::Font;
using Poco::PDF::Image;
using Poco::PDF::LinkAnnotation;
using Poco::PDF::Outline;
using Poco::PDF::Page;
using Poco::PDF::PDFCreateException;
using Poco::PDF::PDFException;
using Poco::PDF::Resource;
using Poco::PDF::Table;
using Poco::PDF::TextAnnotation;
using Poco::PDF::XMLTemplate;
#endif
}

View File

@@ -0,0 +1,68 @@
//
// Prometheus.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_PROMETHEUS
#include "Poco/Prometheus/AtomicFloat.h"
#include "Poco/Prometheus/CallbackMetric.h"
#include "Poco/Prometheus/Collector.h"
#include "Poco/Prometheus/Counter.h"
#include "Poco/Prometheus/Exporter.h"
#include "Poco/Prometheus/Gauge.h"
#include "Poco/Prometheus/Histogram.h"
#include "Poco/Prometheus/IntCounter.h"
#include "Poco/Prometheus/IntGauge.h"
#include "Poco/Prometheus/LabeledMetric.h"
#include "Poco/Prometheus/LabeledMetricImpl.h"
#include "Poco/Prometheus/Metric.h"
#include "Poco/Prometheus/MetricsRequestHandler.h"
#include "Poco/Prometheus/MetricsServer.h"
#include "Poco/Prometheus/ProcessCollector.h"
#include "Poco/Prometheus/Prometheus.h"
#include "Poco/Prometheus/Registry.h"
#include "Poco/Prometheus/TextExporter.h"
#include "Poco/Prometheus/ThreadPoolCollector.h"
#endif
export module Poco.Prometheus;
export namespace Poco::Prometheus {
#ifdef ENABLE_PROMETHEUS
using Poco::Prometheus::AtomicFloat;
using Poco::Prometheus::CallbackMetric;
using Poco::Prometheus::Collector;
using Poco::Prometheus::Counter;
using Poco::Prometheus::CounterSample;
using Poco::Prometheus::Exporter;
using Poco::Prometheus::Gauge;
using Poco::Prometheus::GaugeSample;
using Poco::Prometheus::Histogram;
using Poco::Prometheus::HistogramData;
using Poco::Prometheus::HistogramSample;
using Poco::Prometheus::IntCounter;
using Poco::Prometheus::IntGauge;
using Poco::Prometheus::LabeledMetric;
using Poco::Prometheus::LabeledMetricImpl;
using Poco::Prometheus::Metric;
using Poco::Prometheus::MetricsRequestHandler;
using Poco::Prometheus::MetricsServer;
using Poco::Prometheus::ProcessCollector;
using Poco::Prometheus::Registry;
using Poco::Prometheus::TextExporter;
using Poco::Prometheus::ThreadPoolCollector;
using Poco::Prometheus::CallbackCounter;
using Poco::Prometheus::CallbackGauge;
using Poco::Prometheus::CallbackIntCounter;
using Poco::Prometheus::CallbackIntGauge;
#endif
}

50
modules/Poco/Redis.cppm Normal file
View File

@@ -0,0 +1,50 @@
//
// Redis.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_REDIS
#include "Poco/Redis/Array.h"
#include "Poco/Redis/AsyncReader.h"
#include "Poco/Redis/Client.h"
#include "Poco/Redis/Command.h"
#include "Poco/Redis/Error.h"
#include "Poco/Redis/Exception.h"
#include "Poco/Redis/PoolableConnectionFactory.h"
#include "Poco/Redis/RedisEventArgs.h"
#include "Poco/Redis/Redis.h"
#include "Poco/Redis/RedisStream.h"
#include "Poco/Redis/Type.h"
#endif
export module Poco.Redis;
export namespace Poco::Redis {
#ifdef ENABLE_REDIS
using Poco::Redis::Array;
using Poco::Redis::AsyncReader;
using Poco::Redis::Client;
using Poco::Redis::Command;
using Poco::Redis::Error;
using Poco::Redis::PooledConnection;
using Poco::Redis::RedisEventArgs;
using Poco::Redis::RedisException;
using Poco::Redis::RedisIOS;
using Poco::Redis::RedisInputStream;
using Poco::Redis::RedisOutputStream;
using Poco::Redis::RedisStreamBuf;
using Poco::Redis::RedisType;
using Poco::Redis::RedisTypeTraits;
using Poco::Redis::Type;
using Poco::Redis::BulkString;
#endif
}

View File

@@ -0,0 +1,28 @@
//
// SevenZip.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_SEVENZIP
#include "Poco/SevenZip/Archive.h"
#include "Poco/SevenZip/ArchiveEntry.h"
#include "Poco/SevenZip/SevenZip.h"
#endif
export module Poco.SevenZip;
export namespace Poco::SevenZip {
#ifdef ENABLE_SEVENZIP
using Poco::SevenZip::Archive;
using Poco::SevenZip::ArchiveEntry;
using Poco::SevenZip::ArchiveImpl;
#endif
}

103
modules/Poco/Util.cppm Normal file
View File

@@ -0,0 +1,103 @@
//
// Util.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_UTIL
#include "Poco/Util/AbstractConfiguration.h"
#include "Poco/Util/Application.h"
#include "Poco/Util/ConfigurationMapper.h"
#include "Poco/Util/ConfigurationView.h"
#include "Poco/Util/FilesystemConfiguration.h"
#include "Poco/Util/HelpFormatter.h"
#include "Poco/Util/IniFileConfiguration.h"
#include "Poco/Util/IntValidator.h"
#include "Poco/Util/JSONConfiguration.h"
#include "Poco/Util/LayeredConfiguration.h"
#include "Poco/Util/LocalConfigurationView.h"
#include "Poco/Util/LoggingConfigurator.h"
#include "Poco/Util/LoggingSubsystem.h"
#include "Poco/Util/MapConfiguration.h"
#include "Poco/Util/OptionCallback.h"
#include "Poco/Util/OptionException.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionProcessor.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/PropertyFileConfiguration.h"
#include "Poco/Util/RegExpValidator.h"
#include "Poco/Util/ServerApplication.h"
#include "Poco/Util/Subsystem.h"
#include "Poco/Util/SystemConfiguration.h"
#include "Poco/Util/Timer.h"
#include "Poco/Util/TimerTaskAdapter.h"
#include "Poco/Util/TimerTask.h"
#include "Poco/Util/Units.h"
#include "Poco/Util/Util.h"
#include "Poco/Util/Validator.h"
#ifdef _WIN32
#include "Poco/Util/WinRegistryConfiguration.h"
#include "Poco/Util/WinRegistryKey.h"
#include "Poco/Util/WinService.h"
#endif
#include "Poco/Util/XMLConfiguration.h"
#endif
export module Poco.Util;
export namespace Poco::Util {
#ifdef ENABLE_UTIL
using Poco::Util::AbstractConfiguration;
using Poco::Util::AbstractOptionCallback;
using Poco::Util::AmbiguousOptionException;
using Poco::Util::Application;
using Poco::Util::ConfigurationMapper;
using Poco::Util::ConfigurationView;
using Poco::Util::DuplicateOptionException;
using Poco::Util::EmptyOptionException;
using Poco::Util::FilesystemConfiguration;
using Poco::Util::HelpFormatter;
using Poco::Util::IncompatibleOptionsException;
using Poco::Util::IniFileConfiguration;
using Poco::Util::IntValidator;
using Poco::Util::InvalidArgumentException;
using Poco::Util::JSONConfiguration;
using Poco::Util::LayeredConfiguration;
using Poco::Util::LocalConfigurationView;
using Poco::Util::LoggingConfigurator;
using Poco::Util::LoggingSubsystem;
using Poco::Util::MapConfiguration;
using Poco::Util::MissingArgumentException;
using Poco::Util::MissingOptionException;
using Poco::Util::Option;
using Poco::Util::OptionCallback;
using Poco::Util::OptionException;
using Poco::Util::OptionProcessor;
using Poco::Util::OptionSet;
using Poco::Util::PropertyFileConfiguration;
using Poco::Util::RegExpValidator;
using Poco::Util::ServerApplication;
using Poco::Util::Subsystem;
using Poco::Util::SystemConfiguration;
using Poco::Util::Timer;
using Poco::Util::TimerFunc;
using Poco::Util::TimerTask;
using Poco::Util::TimerTaskAdapter;
using Poco::Util::UnexpectedArgumentException;
using Poco::Util::UnknownOptionException;
using Poco::Util::Validator;
#ifdef _WIN32
using Poco::Util::WinRegistryConfiguration;
using Poco::Util::WinRegistryKey;
using Poco::Util::WinService;
#endif
using Poco::Util::XMLConfiguration;
#endif
}

188
modules/Poco/XML.cppm Normal file
View File

@@ -0,0 +1,188 @@
//
// XML.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_XML
#include "Poco/DOM/AbstractContainerNode.h"
#include "Poco/DOM/AbstractNode.h"
#include "Poco/DOM/Attr.h"
#include "Poco/DOM/AttrMap.h"
#include "Poco/DOM/AutoPtr.h"
#include "Poco/DOM/CDATASection.h"
#include "Poco/DOM/CharacterData.h"
#include "Poco/DOM/ChildNodesList.h"
#include "Poco/DOM/Comment.h"
#include "Poco/DOM/DocumentEvent.h"
#include "Poco/DOM/DocumentFragment.h"
#include "Poco/DOM/Document.h"
#include "Poco/DOM/DocumentType.h"
#include "Poco/DOM/DOMBuilder.h"
#include "Poco/DOM/DOMException.h"
#include "Poco/DOM/DOMImplementation.h"
#include "Poco/DOM/DOMObject.h"
#include "Poco/DOM/DOMParser.h"
#include "Poco/DOM/DOMSerializer.h"
#include "Poco/DOM/DOMWriter.h"
#include "Poco/DOM/DTDMap.h"
#include "Poco/DOM/Element.h"
#include "Poco/DOM/ElementsByTagNameList.h"
#include "Poco/DOM/Entity.h"
#include "Poco/DOM/EntityReference.h"
#include "Poco/DOM/EventDispatcher.h"
#include "Poco/DOM/EventException.h"
#include "Poco/DOM/Event.h"
#include "Poco/DOM/EventListener.h"
#include "Poco/DOM/EventTarget.h"
#include "Poco/DOM/MutationEvent.h"
#include "Poco/DOM/NamedNodeMap.h"
#include "Poco/DOM/NodeAppender.h"
#include "Poco/DOM/NodeFilter.h"
#include "Poco/DOM/Node.h"
#include "Poco/DOM/NodeIterator.h"
#include "Poco/DOM/NodeList.h"
#include "Poco/DOM/Notation.h"
#include "Poco/DOM/ProcessingInstruction.h"
#include "Poco/DOM/Text.h"
#include "Poco/DOM/TreeWalker.h"
#include "Poco/SAX/Attributes.h"
#include "Poco/SAX/AttributesImpl.h"
#include "Poco/SAX/ContentHandler.h"
#include "Poco/SAX/DeclHandler.h"
#include "Poco/SAX/DefaultHandler.h"
#include "Poco/SAX/DTDHandler.h"
#include "Poco/SAX/EntityResolver.h"
#include "Poco/SAX/EntityResolverImpl.h"
#include "Poco/SAX/ErrorHandler.h"
#include "Poco/SAX/InputSource.h"
#include "Poco/SAX/LexicalHandler.h"
#include "Poco/SAX/Locator.h"
#include "Poco/SAX/LocatorImpl.h"
#include "Poco/SAX/NamespaceSupport.h"
#include "Poco/SAX/SAXException.h"
#include "Poco/SAX/SAXParser.h"
#include "Poco/SAX/WhitespaceFilter.h"
#include "Poco/SAX/XMLFilter.h"
#include "Poco/SAX/XMLFilterImpl.h"
#include "Poco/SAX/XMLReader.h"
#include "Poco/XML/Content.h"
#include "Poco/XML/Name.h"
#include "Poco/XML/NamePool.h"
#include "Poco/XML/NamespaceStrategy.h"
#include "Poco/XML/QName.h"
#include "Poco/XML/ValueTraits.h"
#include "Poco/XML/XMLException.h"
#include "Poco/XML/XML.h"
#include "Poco/XML/XMLStream.h"
#include "Poco/XML/XMLStreamParserException.h"
#include "Poco/XML/XMLStreamParser.h"
#include "Poco/XML/XMLString.h"
#include "Poco/XML/XMLWriter.h"
#endif
export module Poco.XML;
export namespace Poco::XML {
#ifdef ENABLE_XML
// DOM
using Poco::XML::AbstractContainerNode;
using Poco::XML::AbstractNode;
using Poco::XML::Attr;
using Poco::XML::AttrMap;
using Poco::XML::CDATASection;
using Poco::XML::CharacterData;
using Poco::XML::ChildNodesList;
using Poco::XML::Comment;
using Poco::XML::DOMBuilder;
using Poco::XML::DOMException;
using Poco::XML::DOMImplementation;
using Poco::XML::DOMObject;
using Poco::XML::DOMParser;
using Poco::XML::DOMSerializer;
using Poco::XML::DOMWriter;
using Poco::XML::DTDMap;
using Poco::XML::Document;
using Poco::XML::DocumentEvent;
using Poco::XML::DocumentFragment;
using Poco::XML::DocumentType;
using Poco::XML::Element;
using Poco::XML::ElementsByTagNameList;
using Poco::XML::ElementsByTagNameListNS;
using Poco::XML::Entity;
using Poco::XML::EntityReference;
using Poco::XML::Event;
using Poco::XML::EventDispatcher;
using Poco::XML::EventException;
using Poco::XML::EventListener;
using Poco::XML::EventTarget;
using Poco::XML::MutationEvent;
using Poco::XML::NamedNodeMap;
using Poco::XML::Node;
using Poco::XML::NodeAppender;
using Poco::XML::NodeFilter;
using Poco::XML::NodeIterator;
using Poco::XML::NodeList;
using Poco::XML::Notation;
using Poco::XML::ProcessingInstruction;
using Poco::XML::Text;
using Poco::XML::TreeWalker;
// SAX
using Poco::XML::Attributes;
using Poco::XML::ContentHandler;
using Poco::XML::DTDHandler;
using Poco::XML::DeclHandler;
using Poco::XML::DefaultHandler;
using Poco::XML::EntityResolver;
using Poco::XML::ErrorHandler;
using Poco::XML::InputSource;
using Poco::XML::LexicalHandler;
using Poco::XML::Locator;
using Poco::XML::NamespaceSupport;
using Poco::XML::SAXException;
using Poco::XML::SAXNotRecognizedException;
using Poco::XML::SAXNotSupportedException;
using Poco::XML::SAXParseException;
using Poco::XML::SAXParser;
using Poco::XML::WhitespaceFilter;
using Poco::XML::XMLFilter;
using Poco::XML::XMLReader;
using Poco::XML::AttributesImpl;
using Poco::XML::EntityResolverImpl;
using Poco::XML::LocatorImpl;
using Poco::XML::XMLFilterImpl;
// XML
using Poco::XML::Content;
using Poco::XML::DefaultValueTraits;
using Poco::XML::Name;
using Poco::XML::NamePool;
using Poco::XML::NamespacePrefixesStrategy;
using Poco::XML::NamespaceStrategy;
using Poco::XML::NoNamespacePrefixesStrategy;
using Poco::XML::NoNamespacesStrategy;
using Poco::XML::QName;
using Poco::XML::ValueTraits;
using Poco::XML::XMLException;
using Poco::XML::XMLStreamParser;
using Poco::XML::XMLStreamParserException;
using Poco::XML::XMLWriter;
using Poco::XML::fromXMLString;
using Poco::XML::operator!=;
using Poco::XML::operator<;
using Poco::XML::operator<<;
using Poco::XML::operator==;
using Poco::XML::swap;
using Poco::XML::toXMLString;
#endif
}

78
modules/Poco/Zip.cppm Normal file
View File

@@ -0,0 +1,78 @@
//
// Zip.cppm
//
// C++ module file
//
// Copyright (c) 2025, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
module;
#ifdef ENABLE_ZIP
#include "Poco/Zip/Add.h"
#include "Poco/Zip/AutoDetectStream.h"
#include "Poco/Zip/Compress.h"
#include "Poco/Zip/Decompress.h"
#include "Poco/Zip/Delete.h"
#include "Poco/Zip/Keep.h"
#include "Poco/Zip/ParseCallback.h"
#include "Poco/Zip/PartialStream.h"
#include "Poco/Zip/Rename.h"
#include "Poco/Zip/Replace.h"
#include "Poco/Zip/SkipCallback.h"
#include "Poco/Zip/ZipArchive.h"
#include "Poco/Zip/ZipArchiveInfo.h"
#include "Poco/Zip/ZipCommon.h"
#include "Poco/Zip/ZipDataInfo.h"
#include "Poco/Zip/ZipException.h"
#include "Poco/Zip/ZipFileInfo.h"
#include "Poco/Zip/Zip.h"
#include "Poco/Zip/ZipLocalFileHeader.h"
#include "Poco/Zip/ZipManipulator.h"
#include "Poco/Zip/ZipOperation.h"
#include "Poco/Zip/ZipStream.h"
#include "Poco/Zip/ZipUtil.h"
#endif
export module Poco.Zip;
export namespace Poco::Zip {
#ifdef ENABLE_ZIP
using Poco::Zip::Add;
using Poco::Zip::AutoDetectIOS;
using Poco::Zip::AutoDetectInputStream;
using Poco::Zip::AutoDetectStreamBuf;
using Poco::Zip::Compress;
using Poco::Zip::Decompress;
using Poco::Zip::Delete;
using Poco::Zip::Keep;
using Poco::Zip::ParseCallback;
using Poco::Zip::PartialIOS;
using Poco::Zip::PartialInputStream;
using Poco::Zip::PartialOutputStream;
using Poco::Zip::PartialStreamBuf;
using Poco::Zip::Rename;
using Poco::Zip::Replace;
using Poco::Zip::SkipCallback;
using Poco::Zip::ZipArchive;
using Poco::Zip::ZipArchiveInfo;
using Poco::Zip::ZipArchiveInfo64;
using Poco::Zip::ZipCommon;
using Poco::Zip::ZipDataInfo;
using Poco::Zip::ZipDataInfo64;
using Poco::Zip::ZipException;
using Poco::Zip::ZipFileInfo;
using Poco::Zip::ZipIOS;
using Poco::Zip::ZipInputStream;
using Poco::Zip::ZipLocalFileHeader;
using Poco::Zip::ZipManipulationException;
using Poco::Zip::ZipManipulator;
using Poco::Zip::ZipOperation;
using Poco::Zip::ZipOutputStream;
using Poco::Zip::ZipStreamBuf;
using Poco::Zip::ZipUtil;
#endif
}