├── .clang-format ├── .editorconfig ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ └── bug_report.md └── workflows │ ├── Linux.yml │ ├── Windows.yml │ ├── debug.yml │ └── macOS.yml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CMakeLists.txt ├── CMakeSettings.json ├── CONTRIBUTING.md ├── CPackLists.txt ├── LICENSE ├── README.md ├── cmake ├── Modules │ ├── FindMDAC.cmake │ ├── FindODBC.cmake │ ├── FindUnixODBC.cmake │ └── FindiODBC.cmake ├── arch.cmake ├── cxx.cmake ├── darwin │ └── default_libs.cmake ├── extract_flags.cmake ├── linux │ └── default_libs.cmake ├── os.cmake ├── packages.cmake ├── prevent_in_source_builds.cmake ├── sanitize.cmake └── unwind.cmake ├── contrib ├── CMakeLists.txt ├── double-conversion-cmake │ └── CMakeLists.txt ├── icu-cmake │ └── CMakeLists.txt ├── libcxx-cmake │ └── CMakeLists.txt ├── libcxxabi-cmake │ └── CMakeLists.txt ├── libunwind-cmake │ ├── CMakeLists.txt │ └── unwind-override.c ├── lz4-cmake │ └── CMakeLists.txt ├── nanodbc-cmake │ └── CMakeLists.txt ├── openssl-cmake │ ├── CMakeLists.txt │ ├── darwin_aarch64 │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ ├── darwin_x86_64 │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ ├── der_digests_gen.c │ ├── der_dsa_gen.c │ ├── der_ec_gen.c │ ├── der_ecx_gen.c │ ├── der_rsa_gen.c │ ├── der_sm2_gen.c │ ├── der_wrap_gen.c │ ├── fipsmodule.cnf │ ├── linux_aarch64 │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ ├── linux_loongarch64 │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ ├── linux_ppc64le │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ ├── linux_riscv64 │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ ├── linux_s390x │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ ├── linux_x86_64 │ │ ├── include │ │ │ ├── crypto │ │ │ │ ├── bn_conf.h │ │ │ │ └── dso_conf.h │ │ │ ├── internal │ │ │ │ └── param_names.h │ │ │ ├── openssl │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── cmp.h │ │ │ │ ├── cms.h │ │ │ │ ├── conf.h │ │ │ │ ├── configuration.h │ │ │ │ ├── core_names.h │ │ │ │ ├── crmf.h │ │ │ │ ├── crypto.h │ │ │ │ ├── ct.h │ │ │ │ ├── err.h │ │ │ │ ├── ess.h │ │ │ │ ├── fipskey.h │ │ │ │ ├── lhash.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── safestack.h │ │ │ │ ├── srp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ui.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── prov │ │ │ │ ├── der_digests.h │ │ │ │ ├── der_dsa.h │ │ │ │ ├── der_ec.h │ │ │ │ ├── der_ecx.h │ │ │ │ ├── der_rsa.h │ │ │ │ ├── der_sm2.h │ │ │ │ └── der_wrap.h │ │ ├── include_private │ │ │ └── buildinf.h │ │ └── params_idx.c │ └── openssl.cnf ├── poco │ ├── CMakeLists.txt │ ├── Crypto │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ └── Poco │ │ │ │ └── Crypto │ │ │ │ ├── Cipher.h │ │ │ │ ├── CipherFactory.h │ │ │ │ ├── CipherImpl.h │ │ │ │ ├── CipherKey.h │ │ │ │ ├── CipherKeyImpl.h │ │ │ │ ├── Crypto.h │ │ │ │ ├── CryptoException.h │ │ │ │ ├── CryptoStream.h │ │ │ │ ├── CryptoTransform.h │ │ │ │ ├── DigestEngine.h │ │ │ │ ├── ECDSADigestEngine.h │ │ │ │ ├── ECKey.h │ │ │ │ ├── ECKeyImpl.h │ │ │ │ ├── EVPPKey.h │ │ │ │ ├── KeyPair.h │ │ │ │ ├── KeyPairImpl.h │ │ │ │ ├── OpenSSLInitializer.h │ │ │ │ ├── PKCS12Container.h │ │ │ │ ├── RSACipherImpl.h │ │ │ │ ├── RSADigestEngine.h │ │ │ │ ├── RSAKey.h │ │ │ │ ├── RSAKeyImpl.h │ │ │ │ └── X509Certificate.h │ │ └── src │ │ │ ├── Cipher.cpp │ │ │ ├── CipherFactory.cpp │ │ │ ├── CipherImpl.cpp │ │ │ ├── CipherKey.cpp │ │ │ ├── CipherKeyImpl.cpp │ │ │ ├── CryptoException.cpp │ │ │ ├── CryptoStream.cpp │ │ │ ├── CryptoTransform.cpp │ │ │ ├── DigestEngine.cpp │ │ │ ├── ECDSADigestEngine.cpp │ │ │ ├── ECKey.cpp │ │ │ ├── ECKeyImpl.cpp │ │ │ ├── EVPPKey.cpp │ │ │ ├── KeyPair.cpp │ │ │ ├── KeyPairImpl.cpp │ │ │ ├── OpenSSLInitializer.cpp │ │ │ ├── PKCS12Container.cpp │ │ │ ├── RSACipherImpl.cpp │ │ │ ├── RSADigestEngine.cpp │ │ │ ├── RSAKey.cpp │ │ │ ├── RSAKeyImpl.cpp │ │ │ └── X509Certificate.cpp │ ├── Foundation │ │ ├── CMakeLists.txt │ │ ├── cmake │ │ │ └── PocoFoundationConfig.cmake │ │ ├── include │ │ │ └── Poco │ │ │ │ ├── ASCIIEncoding.h │ │ │ │ ├── AbstractCache.h │ │ │ │ ├── AbstractDelegate.h │ │ │ │ ├── AbstractEvent.h │ │ │ │ ├── AbstractObserver.h │ │ │ │ ├── AbstractPriorityDelegate.h │ │ │ │ ├── AbstractStrategy.h │ │ │ │ ├── AccessExpirationDecorator.h │ │ │ │ ├── AccessExpireCache.h │ │ │ │ ├── AccessExpireLRUCache.h │ │ │ │ ├── AccessExpireStrategy.h │ │ │ │ ├── ActiveDispatcher.h │ │ │ │ ├── ActiveMethod.h │ │ │ │ ├── ActiveResult.h │ │ │ │ ├── ActiveRunnable.h │ │ │ │ ├── ActiveStarter.h │ │ │ │ ├── Activity.h │ │ │ │ ├── Alignment.h │ │ │ │ ├── Any.h │ │ │ │ ├── ArchiveStrategy.h │ │ │ │ ├── Array.h │ │ │ │ ├── Ascii.h │ │ │ │ ├── AsyncChannel.h │ │ │ │ ├── AtomicCounter.h │ │ │ │ ├── AutoPtr.h │ │ │ │ ├── AutoReleasePool.h │ │ │ │ ├── Base32Decoder.h │ │ │ │ ├── Base32Encoder.h │ │ │ │ ├── Base64Decoder.h │ │ │ │ ├── Base64Encoder.h │ │ │ │ ├── BasicEvent.h │ │ │ │ ├── BinaryReader.h │ │ │ │ ├── BinaryWriter.h │ │ │ │ ├── Buffer.h │ │ │ │ ├── BufferAllocator.h │ │ │ │ ├── BufferedBidirectionalStreamBuf.h │ │ │ │ ├── BufferedStreamBuf.h │ │ │ │ ├── Bugcheck.h │ │ │ │ ├── ByteOrder.h │ │ │ │ ├── Channel.h │ │ │ │ ├── Checksum.h │ │ │ │ ├── ClassLibrary.h │ │ │ │ ├── ClassLoader.h │ │ │ │ ├── Clock.h │ │ │ │ ├── Condition.h │ │ │ │ ├── Config.h │ │ │ │ ├── Configurable.h │ │ │ │ ├── ConsoleChannel.h │ │ │ │ ├── CountingStream.h │ │ │ │ ├── DateTime.h │ │ │ │ ├── DateTimeFormat.h │ │ │ │ ├── DateTimeFormatter.h │ │ │ │ ├── DateTimeParser.h │ │ │ │ ├── Debugger.h │ │ │ │ ├── DefaultStrategy.h │ │ │ │ ├── DeflatingStream.h │ │ │ │ ├── Delegate.h │ │ │ │ ├── DigestEngine.h │ │ │ │ ├── DigestStream.h │ │ │ │ ├── DirectoryIterator.h │ │ │ │ ├── DirectoryIteratorStrategy.h │ │ │ │ ├── DirectoryIterator_UNIX.h │ │ │ │ ├── DirectoryIterator_WIN32.h │ │ │ │ ├── DirectoryIterator_WIN32U.h │ │ │ │ ├── DirectoryWatcher.h │ │ │ │ ├── Dynamic │ │ │ │ ├── Pair.h │ │ │ │ ├── Struct.h │ │ │ │ ├── Var.h │ │ │ │ ├── VarHolder.h │ │ │ │ └── VarIterator.h │ │ │ │ ├── DynamicAny.h │ │ │ │ ├── DynamicAnyHolder.h │ │ │ │ ├── DynamicFactory.h │ │ │ │ ├── DynamicStruct.h │ │ │ │ ├── Environment.h │ │ │ │ ├── Environment_UNIX.h │ │ │ │ ├── Environment_VX.h │ │ │ │ ├── Environment_WIN32.h │ │ │ │ ├── Environment_WIN32U.h │ │ │ │ ├── Environment_WINCE.h │ │ │ │ ├── Error.h │ │ │ │ ├── ErrorHandler.h │ │ │ │ ├── Event.h │ │ │ │ ├── EventArgs.h │ │ │ │ ├── EventChannel.h │ │ │ │ ├── EventLogChannel.h │ │ │ │ ├── Event_POSIX.h │ │ │ │ ├── Event_VX.h │ │ │ │ ├── Event_WIN32.h │ │ │ │ ├── Exception.h │ │ │ │ ├── ExpirationDecorator.h │ │ │ │ ├── Expire.h │ │ │ │ ├── ExpireCache.h │ │ │ │ ├── ExpireLRUCache.h │ │ │ │ ├── ExpireStrategy.h │ │ │ │ ├── FIFOBuffer.h │ │ │ │ ├── FIFOBufferStream.h │ │ │ │ ├── FIFOEvent.h │ │ │ │ ├── FIFOStrategy.h │ │ │ │ ├── FPEnvironment.h │ │ │ │ ├── FPEnvironment_C99.h │ │ │ │ ├── FPEnvironment_DEC.h │ │ │ │ ├── FPEnvironment_DUMMY.h │ │ │ │ ├── FPEnvironment_QNX.h │ │ │ │ ├── FPEnvironment_SUN.h │ │ │ │ ├── FPEnvironment_WIN32.h │ │ │ │ ├── File.h │ │ │ │ ├── FileChannel.h │ │ │ │ ├── FileStream.h │ │ │ │ ├── FileStreamFactory.h │ │ │ │ ├── FileStream_POSIX.h │ │ │ │ ├── FileStream_WIN32.h │ │ │ │ ├── File_UNIX.h │ │ │ │ ├── File_VX.h │ │ │ │ ├── File_WIN32.h │ │ │ │ ├── File_WIN32U.h │ │ │ │ ├── File_WINCE.h │ │ │ │ ├── Format.h │ │ │ │ ├── Formatter.h │ │ │ │ ├── FormattingChannel.h │ │ │ │ ├── Foundation.h │ │ │ │ ├── FunctionDelegate.h │ │ │ │ ├── FunctionPriorityDelegate.h │ │ │ │ ├── Glob.h │ │ │ │ ├── HMACEngine.h │ │ │ │ ├── Hash.h │ │ │ │ ├── HashFunction.h │ │ │ │ ├── HashMap.h │ │ │ │ ├── HashSet.h │ │ │ │ ├── HashStatistic.h │ │ │ │ ├── HashTable.h │ │ │ │ ├── HexBinaryDecoder.h │ │ │ │ ├── HexBinaryEncoder.h │ │ │ │ ├── InflatingStream.h │ │ │ │ ├── Instantiator.h │ │ │ │ ├── JSONString.h │ │ │ │ ├── KeyValueArgs.h │ │ │ │ ├── LRUCache.h │ │ │ │ ├── LRUStrategy.h │ │ │ │ ├── Latin1Encoding.h │ │ │ │ ├── Latin2Encoding.h │ │ │ │ ├── Latin9Encoding.h │ │ │ │ ├── LineEndingConverter.h │ │ │ │ ├── LinearHashTable.h │ │ │ │ ├── ListMap.h │ │ │ │ ├── LocalDateTime.h │ │ │ │ ├── LogFile.h │ │ │ │ ├── LogFile_STD.h │ │ │ │ ├── LogFile_WIN32.h │ │ │ │ ├── LogFile_WIN32U.h │ │ │ │ ├── LogStream.h │ │ │ │ ├── Logger.h │ │ │ │ ├── LoggingFactory.h │ │ │ │ ├── LoggingRegistry.h │ │ │ │ ├── MD4Engine.h │ │ │ │ ├── MD5Engine.h │ │ │ │ ├── Manifest.h │ │ │ │ ├── MemoryPool.h │ │ │ │ ├── MemoryStream.h │ │ │ │ ├── Message.h │ │ │ │ ├── MetaObject.h │ │ │ │ ├── MetaProgramming.h │ │ │ │ ├── Mutex.h │ │ │ │ ├── Mutex_POSIX.h │ │ │ │ ├── Mutex_VX.h │ │ │ │ ├── Mutex_WIN32.h │ │ │ │ ├── Mutex_WINCE.h │ │ │ │ ├── NObserver.h │ │ │ │ ├── NamedEvent.h │ │ │ │ ├── NamedEvent_Android.h │ │ │ │ ├── NamedEvent_UNIX.h │ │ │ │ ├── NamedEvent_WIN32.h │ │ │ │ ├── NamedEvent_WIN32U.h │ │ │ │ ├── NamedMutex.h │ │ │ │ ├── NamedMutex_Android.h │ │ │ │ ├── NamedMutex_UNIX.h │ │ │ │ ├── NamedMutex_WIN32.h │ │ │ │ ├── NamedMutex_WIN32U.h │ │ │ │ ├── NamedTuple.h │ │ │ │ ├── NestedDiagnosticContext.h │ │ │ │ ├── Notification.h │ │ │ │ ├── NotificationCenter.h │ │ │ │ ├── NotificationQueue.h │ │ │ │ ├── NotificationStrategy.h │ │ │ │ ├── NullChannel.h │ │ │ │ ├── NullStream.h │ │ │ │ ├── Nullable.h │ │ │ │ ├── NumberFormatter.h │ │ │ │ ├── NumberParser.h │ │ │ │ ├── NumericString.h │ │ │ │ ├── ObjectPool.h │ │ │ │ ├── Observer.h │ │ │ │ ├── Optional.h │ │ │ │ ├── PBKDF2Engine.h │ │ │ │ ├── Path.h │ │ │ │ ├── Path_UNIX.h │ │ │ │ ├── Path_WIN32.h │ │ │ │ ├── Path_WIN32U.h │ │ │ │ ├── Path_WINCE.h │ │ │ │ ├── PatternFormatter.h │ │ │ │ ├── Pipe.h │ │ │ │ ├── PipeImpl.h │ │ │ │ ├── PipeImpl_DUMMY.h │ │ │ │ ├── PipeImpl_POSIX.h │ │ │ │ ├── PipeImpl_WIN32.h │ │ │ │ ├── PipeStream.h │ │ │ │ ├── Platform.h │ │ │ │ ├── Platform_POSIX.h │ │ │ │ ├── Platform_VX.h │ │ │ │ ├── Platform_WIN32.h │ │ │ │ ├── Poco.h │ │ │ │ ├── PriorityDelegate.h │ │ │ │ ├── PriorityEvent.h │ │ │ │ ├── PriorityExpire.h │ │ │ │ ├── PriorityNotificationQueue.h │ │ │ │ ├── PriorityStrategy.h │ │ │ │ ├── Process.h │ │ │ │ ├── Process_UNIX.h │ │ │ │ ├── Process_VX.h │ │ │ │ ├── Process_WIN32.h │ │ │ │ ├── Process_WIN32U.h │ │ │ │ ├── Process_WINCE.h │ │ │ │ ├── PurgeStrategy.h │ │ │ │ ├── RWLock.h │ │ │ │ ├── RWLock_Android.h │ │ │ │ ├── RWLock_POSIX.h │ │ │ │ ├── RWLock_VX.h │ │ │ │ ├── RWLock_WIN32.h │ │ │ │ ├── RWLock_WINCE.h │ │ │ │ ├── Random.h │ │ │ │ ├── RandomStream.h │ │ │ │ ├── RecursiveDirectoryIterator.h │ │ │ │ ├── RecursiveDirectoryIteratorImpl.h │ │ │ │ ├── RefCountedObject.h │ │ │ │ ├── RegularExpression.h │ │ │ │ ├── RotateStrategy.h │ │ │ │ ├── Runnable.h │ │ │ │ ├── RunnableAdapter.h │ │ │ │ ├── SHA1Engine.h │ │ │ │ ├── ScopedLock.h │ │ │ │ ├── ScopedUnlock.h │ │ │ │ ├── Semaphore.h │ │ │ │ ├── Semaphore_POSIX.h │ │ │ │ ├── Semaphore_VX.h │ │ │ │ ├── Semaphore_WIN32.h │ │ │ │ ├── SharedLibrary.h │ │ │ │ ├── SharedLibrary_HPUX.h │ │ │ │ ├── SharedLibrary_UNIX.h │ │ │ │ ├── SharedLibrary_VX.h │ │ │ │ ├── SharedLibrary_WIN32.h │ │ │ │ ├── SharedLibrary_WIN32U.h │ │ │ │ ├── SharedMemory.h │ │ │ │ ├── SharedMemory_DUMMY.h │ │ │ │ ├── SharedMemory_POSIX.h │ │ │ │ ├── SharedMemory_WIN32.h │ │ │ │ ├── SharedPtr.h │ │ │ │ ├── SignalHandler.h │ │ │ │ ├── SimpleFileChannel.h │ │ │ │ ├── SimpleHashTable.h │ │ │ │ ├── SingletonHolder.h │ │ │ │ ├── SortedDirectoryIterator.h │ │ │ │ ├── SplitterChannel.h │ │ │ │ ├── Stopwatch.h │ │ │ │ ├── StrategyCollection.h │ │ │ │ ├── StreamChannel.h │ │ │ │ ├── StreamConverter.h │ │ │ │ ├── StreamCopier.h │ │ │ │ ├── StreamTokenizer.h │ │ │ │ ├── StreamUtil.h │ │ │ │ ├── String.h │ │ │ │ ├── StringTokenizer.h │ │ │ │ ├── SynchronizedObject.h │ │ │ │ ├── SyslogChannel.h │ │ │ │ ├── Task.h │ │ │ │ ├── TaskManager.h │ │ │ │ ├── TaskNotification.h │ │ │ │ ├── TeeStream.h │ │ │ │ ├── TemporaryFile.h │ │ │ │ ├── TextBufferIterator.h │ │ │ │ ├── TextConverter.h │ │ │ │ ├── TextEncoding.h │ │ │ │ ├── TextIterator.h │ │ │ │ ├── Thread.h │ │ │ │ ├── ThreadLocal.h │ │ │ │ ├── ThreadPool.h │ │ │ │ ├── ThreadTarget.h │ │ │ │ ├── Thread_POSIX.h │ │ │ │ ├── Thread_VX.h │ │ │ │ ├── Thread_WIN32.h │ │ │ │ ├── Thread_WINCE.h │ │ │ │ ├── TimedNotificationQueue.h │ │ │ │ ├── Timer.h │ │ │ │ ├── Timespan.h │ │ │ │ ├── Timestamp.h │ │ │ │ ├── Timezone.h │ │ │ │ ├── Token.h │ │ │ │ ├── Tuple.h │ │ │ │ ├── TypeList.h │ │ │ │ ├── Types.h │ │ │ │ ├── URI.h │ │ │ │ ├── URIStreamFactory.h │ │ │ │ ├── URIStreamOpener.h │ │ │ │ ├── UTF16Encoding.h │ │ │ │ ├── UTF32Encoding.h │ │ │ │ ├── UTF8Encoding.h │ │ │ │ ├── UTF8String.h │ │ │ │ ├── UTFString.h │ │ │ │ ├── UUID.h │ │ │ │ ├── UUIDGenerator.h │ │ │ │ ├── UnWindows.h │ │ │ │ ├── UnbufferedStreamBuf.h │ │ │ │ ├── Unicode.h │ │ │ │ ├── UnicodeConverter.h │ │ │ │ ├── UniqueAccessExpireCache.h │ │ │ │ ├── UniqueAccessExpireLRUCache.h │ │ │ │ ├── UniqueAccessExpireStrategy.h │ │ │ │ ├── UniqueExpireCache.h │ │ │ │ ├── UniqueExpireLRUCache.h │ │ │ │ ├── UniqueExpireStrategy.h │ │ │ │ ├── ValidArgs.h │ │ │ │ ├── Version.h │ │ │ │ ├── Void.h │ │ │ │ ├── Windows1250Encoding.h │ │ │ │ ├── Windows1251Encoding.h │ │ │ │ ├── Windows1252Encoding.h │ │ │ │ ├── WindowsConsoleChannel.h │ │ │ │ ├── zconf.h │ │ │ │ └── zlib.h │ │ └── src │ │ │ ├── ASCIIEncoding.cpp │ │ │ ├── AbstractObserver.cpp │ │ │ ├── ActiveDispatcher.cpp │ │ │ ├── ArchiveStrategy.cpp │ │ │ ├── Ascii.cpp │ │ │ ├── AsyncChannel.cpp │ │ │ ├── AtomicCounter.cpp │ │ │ ├── Base32Decoder.cpp │ │ │ ├── Base32Encoder.cpp │ │ │ ├── Base64Decoder.cpp │ │ │ ├── Base64Encoder.cpp │ │ │ ├── BinaryReader.cpp │ │ │ ├── BinaryWriter.cpp │ │ │ ├── Bugcheck.cpp │ │ │ ├── ByteOrder.cpp │ │ │ ├── Channel.cpp │ │ │ ├── Checksum.cpp │ │ │ ├── Clock.cpp │ │ │ ├── Condition.cpp │ │ │ ├── Configurable.cpp │ │ │ ├── ConsoleChannel.cpp │ │ │ ├── CountingStream.cpp │ │ │ ├── DateTime.cpp │ │ │ ├── DateTimeFormat.cpp │ │ │ ├── DateTimeFormatter.cpp │ │ │ ├── DateTimeParser.cpp │ │ │ ├── Debugger.cpp │ │ │ ├── DeflatingStream.cpp │ │ │ ├── DigestEngine.cpp │ │ │ ├── DigestStream.cpp │ │ │ ├── DirectoryIterator.cpp │ │ │ ├── DirectoryIteratorStrategy.cpp │ │ │ ├── DirectoryIterator_UNIX.cpp │ │ │ ├── DirectoryIterator_WIN32.cpp │ │ │ ├── DirectoryIterator_WIN32U.cpp │ │ │ ├── DirectoryWatcher.cpp │ │ │ ├── Environment.cpp │ │ │ ├── Environment_UNIX.cpp │ │ │ ├── Environment_VX.cpp │ │ │ ├── Environment_WIN32.cpp │ │ │ ├── Environment_WIN32U.cpp │ │ │ ├── Environment_WINCE.cpp │ │ │ ├── Error.cpp │ │ │ ├── ErrorHandler.cpp │ │ │ ├── Event.cpp │ │ │ ├── EventArgs.cpp │ │ │ ├── EventChannel.cpp │ │ │ ├── EventLogChannel.cpp │ │ │ ├── Event_POSIX.cpp │ │ │ ├── Event_VX.cpp │ │ │ ├── Event_WIN32.cpp │ │ │ ├── Exception.cpp │ │ │ ├── FIFOBufferStream.cpp │ │ │ ├── FPEnvironment.cpp │ │ │ ├── FPEnvironment_C99.cpp │ │ │ ├── FPEnvironment_DEC.cpp │ │ │ ├── FPEnvironment_DUMMY.cpp │ │ │ ├── FPEnvironment_QNX.cpp │ │ │ ├── FPEnvironment_SUN.cpp │ │ │ ├── FPEnvironment_WIN32.cpp │ │ │ ├── File.cpp │ │ │ ├── FileChannel.cpp │ │ │ ├── FileStream.cpp │ │ │ ├── FileStreamFactory.cpp │ │ │ ├── FileStream_POSIX.cpp │ │ │ ├── FileStream_WIN32.cpp │ │ │ ├── File_UNIX.cpp │ │ │ ├── File_VX.cpp │ │ │ ├── File_WIN32.cpp │ │ │ ├── File_WIN32U.cpp │ │ │ ├── File_WINCE.cpp │ │ │ ├── Format.cpp │ │ │ ├── Formatter.cpp │ │ │ ├── FormattingChannel.cpp │ │ │ ├── Glob.cpp │ │ │ ├── Hash.cpp │ │ │ ├── HashStatistic.cpp │ │ │ ├── HexBinaryDecoder.cpp │ │ │ ├── HexBinaryEncoder.cpp │ │ │ ├── InflatingStream.cpp │ │ │ ├── JSONString.cpp │ │ │ ├── Latin1Encoding.cpp │ │ │ ├── Latin2Encoding.cpp │ │ │ ├── Latin9Encoding.cpp │ │ │ ├── LineEndingConverter.cpp │ │ │ ├── LocalDateTime.cpp │ │ │ ├── LogFile.cpp │ │ │ ├── LogFile_STD.cpp │ │ │ ├── LogFile_WIN32.cpp │ │ │ ├── LogFile_WIN32U.cpp │ │ │ ├── LogStream.cpp │ │ │ ├── Logger.cpp │ │ │ ├── LoggingFactory.cpp │ │ │ ├── LoggingRegistry.cpp │ │ │ ├── MD4Engine.cpp │ │ │ ├── MD5Engine.cpp │ │ │ ├── MSG00001.bin │ │ │ ├── Manifest.cpp │ │ │ ├── MemoryPool.cpp │ │ │ ├── MemoryStream.cpp │ │ │ ├── Message.cpp │ │ │ ├── Mutex.cpp │ │ │ ├── Mutex_POSIX.cpp │ │ │ ├── Mutex_VX.cpp │ │ │ ├── Mutex_WIN32.cpp │ │ │ ├── Mutex_WINCE.cpp │ │ │ ├── NamedEvent.cpp │ │ │ ├── NamedEvent_Android.cpp │ │ │ ├── NamedEvent_UNIX.cpp │ │ │ ├── NamedEvent_WIN32.cpp │ │ │ ├── NamedEvent_WIN32U.cpp │ │ │ ├── NamedMutex.cpp │ │ │ ├── NamedMutex_Android.cpp │ │ │ ├── NamedMutex_UNIX.cpp │ │ │ ├── NamedMutex_WIN32.cpp │ │ │ ├── NamedMutex_WIN32U.cpp │ │ │ ├── NestedDiagnosticContext.cpp │ │ │ ├── Notification.cpp │ │ │ ├── NotificationCenter.cpp │ │ │ ├── NotificationQueue.cpp │ │ │ ├── NullChannel.cpp │ │ │ ├── NullStream.cpp │ │ │ ├── NumberFormatter.cpp │ │ │ ├── NumberParser.cpp │ │ │ ├── NumericString.cpp │ │ │ ├── Path.cpp │ │ │ ├── Path_UNIX.cpp │ │ │ ├── Path_WIN32.cpp │ │ │ ├── Path_WIN32U.cpp │ │ │ ├── Path_WINCE.cpp │ │ │ ├── PatternFormatter.cpp │ │ │ ├── Pipe.cpp │ │ │ ├── PipeImpl.cpp │ │ │ ├── PipeImpl_DUMMY.cpp │ │ │ ├── PipeImpl_POSIX.cpp │ │ │ ├── PipeImpl_WIN32.cpp │ │ │ ├── PipeStream.cpp │ │ │ ├── PriorityNotificationQueue.cpp │ │ │ ├── Process.cpp │ │ │ ├── Process_UNIX.cpp │ │ │ ├── Process_VX.cpp │ │ │ ├── Process_WIN32.cpp │ │ │ ├── Process_WIN32U.cpp │ │ │ ├── Process_WINCE.cpp │ │ │ ├── PurgeStrategy.cpp │ │ │ ├── RWLock.cpp │ │ │ ├── RWLock_Android.cpp │ │ │ ├── RWLock_POSIX.cpp │ │ │ ├── RWLock_VX.cpp │ │ │ ├── RWLock_WIN32.cpp │ │ │ ├── RWLock_WINCE.cpp │ │ │ ├── Random.cpp │ │ │ ├── RandomStream.cpp │ │ │ ├── RefCountedObject.cpp │ │ │ ├── RegularExpression.cpp │ │ │ ├── RotateStrategy.cpp │ │ │ ├── Runnable.cpp │ │ │ ├── SHA1Engine.cpp │ │ │ ├── Semaphore.cpp │ │ │ ├── Semaphore_POSIX.cpp │ │ │ ├── Semaphore_VX.cpp │ │ │ ├── Semaphore_WIN32.cpp │ │ │ ├── SharedLibrary.cpp │ │ │ ├── SharedLibrary_HPUX.cpp │ │ │ ├── SharedLibrary_UNIX.cpp │ │ │ ├── SharedLibrary_VX.cpp │ │ │ ├── SharedLibrary_WIN32.cpp │ │ │ ├── SharedLibrary_WIN32U.cpp │ │ │ ├── SharedMemory.cpp │ │ │ ├── SharedMemory_DUMMY.cpp │ │ │ ├── SharedMemory_POSIX.cpp │ │ │ ├── SharedMemory_WIN32.cpp │ │ │ ├── SignalHandler.cpp │ │ │ ├── SimpleFileChannel.cpp │ │ │ ├── SortedDirectoryIterator.cpp │ │ │ ├── SplitterChannel.cpp │ │ │ ├── Stopwatch.cpp │ │ │ ├── StreamChannel.cpp │ │ │ ├── StreamConverter.cpp │ │ │ ├── StreamCopier.cpp │ │ │ ├── StreamTokenizer.cpp │ │ │ ├── String.cpp │ │ │ ├── StringTokenizer.cpp │ │ │ ├── SynchronizedObject.cpp │ │ │ ├── SyslogChannel.cpp │ │ │ ├── Task.cpp │ │ │ ├── TaskManager.cpp │ │ │ ├── TaskNotification.cpp │ │ │ ├── TeeStream.cpp │ │ │ ├── TemporaryFile.cpp │ │ │ ├── TextBufferIterator.cpp │ │ │ ├── TextConverter.cpp │ │ │ ├── TextEncoding.cpp │ │ │ ├── TextIterator.cpp │ │ │ ├── Thread.cpp │ │ │ ├── ThreadLocal.cpp │ │ │ ├── ThreadPool.cpp │ │ │ ├── ThreadTarget.cpp │ │ │ ├── Thread_POSIX.cpp │ │ │ ├── Thread_VX.cpp │ │ │ ├── Thread_WIN32.cpp │ │ │ ├── Thread_WINCE.cpp │ │ │ ├── TimedNotificationQueue.cpp │ │ │ ├── Timer.cpp │ │ │ ├── Timespan.cpp │ │ │ ├── Timestamp.cpp │ │ │ ├── Timezone.cpp │ │ │ ├── Timezone_UNIX.cpp │ │ │ ├── Timezone_VX.cpp │ │ │ ├── Timezone_WIN32.cpp │ │ │ ├── Timezone_WINCE.cpp │ │ │ ├── Token.cpp │ │ │ ├── URI.cpp │ │ │ ├── URIStreamFactory.cpp │ │ │ ├── URIStreamOpener.cpp │ │ │ ├── UTF16Encoding.cpp │ │ │ ├── UTF32Encoding.cpp │ │ │ ├── UTF8Encoding.cpp │ │ │ ├── UTF8String.cpp │ │ │ ├── UUID.cpp │ │ │ ├── UUIDGenerator.cpp │ │ │ ├── Unicode.cpp │ │ │ ├── UnicodeConverter.cpp │ │ │ ├── Var.cpp │ │ │ ├── VarHolder.cpp │ │ │ ├── VarIterator.cpp │ │ │ ├── Void.cpp │ │ │ ├── Windows1250Encoding.cpp │ │ │ ├── Windows1251Encoding.cpp │ │ │ ├── Windows1252Encoding.cpp │ │ │ ├── WindowsConsoleChannel.cpp │ │ │ ├── adler32.c │ │ │ ├── bignum-dtoa.cc │ │ │ ├── bignum-dtoa.h │ │ │ ├── bignum.cc │ │ │ ├── bignum.h │ │ │ ├── cached-powers.cc │ │ │ ├── cached-powers.h │ │ │ ├── compress.c │ │ │ ├── crc32.c │ │ │ ├── crc32.h │ │ │ ├── deflate.c │ │ │ ├── deflate.h │ │ │ ├── diy-fp.cc │ │ │ ├── diy-fp.h │ │ │ ├── double-conversion.cc │ │ │ ├── double-conversion.h │ │ │ ├── fast-dtoa.cc │ │ │ ├── fast-dtoa.h │ │ │ ├── fixed-dtoa.cc │ │ │ ├── fixed-dtoa.h │ │ │ ├── gzguts.h │ │ │ ├── ieee.h │ │ │ ├── infback.c │ │ │ ├── inffast.c │ │ │ ├── inffast.h │ │ │ ├── inffixed.h │ │ │ ├── inflate.c │ │ │ ├── inflate.h │ │ │ ├── inftrees.c │ │ │ ├── inftrees.h │ │ │ ├── pcre.h │ │ │ ├── pcre_byte_order.c │ │ │ ├── pcre_chartables.c │ │ │ ├── pcre_compile.c │ │ │ ├── pcre_config.c │ │ │ ├── pcre_config.h │ │ │ ├── pcre_dfa_exec.c │ │ │ ├── pcre_exec.c │ │ │ ├── pcre_fullinfo.c │ │ │ ├── pcre_get.c │ │ │ ├── pcre_globals.c │ │ │ ├── pcre_internal.h │ │ │ ├── pcre_jit_compile.c │ │ │ ├── pcre_maketables.c │ │ │ ├── pcre_newline.c │ │ │ ├── pcre_ord2utf8.c │ │ │ ├── pcre_refcount.c │ │ │ ├── pcre_string_utils.c │ │ │ ├── pcre_study.c │ │ │ ├── pcre_tables.c │ │ │ ├── pcre_ucd.c │ │ │ ├── pcre_valid_utf8.c │ │ │ ├── pcre_version.c │ │ │ ├── pcre_xclass.c │ │ │ ├── pocomsg.mc │ │ │ ├── strtod.cc │ │ │ ├── strtod.h │ │ │ ├── trees.c │ │ │ ├── trees.h │ │ │ ├── ucp.h │ │ │ ├── utils.h │ │ │ ├── zconf.h │ │ │ ├── zlib.h │ │ │ ├── zutil.c │ │ │ └── zutil.h │ ├── LICENSE │ ├── Net │ │ ├── CMakeLists.txt │ │ ├── cmake │ │ │ └── PocoNetConfig.cmake │ │ ├── include │ │ │ └── Poco │ │ │ │ └── Net │ │ │ │ ├── AbstractHTTPRequestHandler.h │ │ │ │ ├── DNS.h │ │ │ │ ├── DatagramSocket.h │ │ │ │ ├── DatagramSocketImpl.h │ │ │ │ ├── DialogSocket.h │ │ │ │ ├── FTPClientSession.h │ │ │ │ ├── FTPStreamFactory.h │ │ │ │ ├── FilePartSource.h │ │ │ │ ├── HTMLForm.h │ │ │ │ ├── HTTPAuthenticationParams.h │ │ │ │ ├── HTTPBasicCredentials.h │ │ │ │ ├── HTTPBasicStreamBuf.h │ │ │ │ ├── HTTPBufferAllocator.h │ │ │ │ ├── HTTPChunkedStream.h │ │ │ │ ├── HTTPClientSession.h │ │ │ │ ├── HTTPCookie.h │ │ │ │ ├── HTTPCredentials.h │ │ │ │ ├── HTTPDigestCredentials.h │ │ │ │ ├── HTTPFixedLengthStream.h │ │ │ │ ├── HTTPHeaderStream.h │ │ │ │ ├── HTTPIOStream.h │ │ │ │ ├── HTTPMessage.h │ │ │ │ ├── HTTPRequest.h │ │ │ │ ├── HTTPRequestHandler.h │ │ │ │ ├── HTTPRequestHandlerFactory.h │ │ │ │ ├── HTTPResponse.h │ │ │ │ ├── HTTPServer.h │ │ │ │ ├── HTTPServerConnection.h │ │ │ │ ├── HTTPServerConnectionFactory.h │ │ │ │ ├── HTTPServerParams.h │ │ │ │ ├── HTTPServerRequest.h │ │ │ │ ├── HTTPServerRequestImpl.h │ │ │ │ ├── HTTPServerResponse.h │ │ │ │ ├── HTTPServerResponseImpl.h │ │ │ │ ├── HTTPServerSession.h │ │ │ │ ├── HTTPSession.h │ │ │ │ ├── HTTPSessionFactory.h │ │ │ │ ├── HTTPSessionInstantiator.h │ │ │ │ ├── HTTPStream.h │ │ │ │ ├── HTTPStreamFactory.h │ │ │ │ ├── HostEntry.h │ │ │ │ ├── ICMPClient.h │ │ │ │ ├── ICMPEventArgs.h │ │ │ │ ├── ICMPPacket.h │ │ │ │ ├── ICMPPacketImpl.h │ │ │ │ ├── ICMPSocket.h │ │ │ │ ├── ICMPSocketImpl.h │ │ │ │ ├── ICMPv4PacketImpl.h │ │ │ │ ├── IPAddress.h │ │ │ │ ├── IPAddressImpl.h │ │ │ │ ├── MailMessage.h │ │ │ │ ├── MailRecipient.h │ │ │ │ ├── MailStream.h │ │ │ │ ├── MediaType.h │ │ │ │ ├── MessageHeader.h │ │ │ │ ├── MulticastSocket.h │ │ │ │ ├── MultipartReader.h │ │ │ │ ├── MultipartWriter.h │ │ │ │ ├── NTPClient.h │ │ │ │ ├── NTPEventArgs.h │ │ │ │ ├── NTPPacket.h │ │ │ │ ├── NameValueCollection.h │ │ │ │ ├── Net.h │ │ │ │ ├── NetException.h │ │ │ │ ├── NetworkInterface.h │ │ │ │ ├── NullPartHandler.h │ │ │ │ ├── OAuth10Credentials.h │ │ │ │ ├── OAuth20Credentials.h │ │ │ │ ├── POP3ClientSession.h │ │ │ │ ├── ParallelSocketAcceptor.h │ │ │ │ ├── ParallelSocketReactor.h │ │ │ │ ├── PartHandler.h │ │ │ │ ├── PartSource.h │ │ │ │ ├── PartStore.h │ │ │ │ ├── PollSet.h │ │ │ │ ├── QuotedPrintableDecoder.h │ │ │ │ ├── QuotedPrintableEncoder.h │ │ │ │ ├── RawSocket.h │ │ │ │ ├── RawSocketImpl.h │ │ │ │ ├── RemoteSyslogChannel.h │ │ │ │ ├── RemoteSyslogListener.h │ │ │ │ ├── SMTPChannel.h │ │ │ │ ├── SMTPClientSession.h │ │ │ │ ├── ServerSocket.h │ │ │ │ ├── ServerSocketImpl.h │ │ │ │ ├── Socket.h │ │ │ │ ├── SocketAcceptor.h │ │ │ │ ├── SocketAddress.h │ │ │ │ ├── SocketAddressImpl.h │ │ │ │ ├── SocketConnector.h │ │ │ │ ├── SocketDefs.h │ │ │ │ ├── SocketImpl.h │ │ │ │ ├── SocketNotification.h │ │ │ │ ├── SocketNotifier.h │ │ │ │ ├── SocketReactor.h │ │ │ │ ├── SocketStream.h │ │ │ │ ├── StreamSocket.h │ │ │ │ ├── StreamSocketImpl.h │ │ │ │ ├── StringPartSource.h │ │ │ │ ├── TCPServer.h │ │ │ │ ├── TCPServerConnection.h │ │ │ │ ├── TCPServerConnectionFactory.h │ │ │ │ ├── TCPServerDispatcher.h │ │ │ │ ├── TCPServerParams.h │ │ │ │ ├── WebSocket.h │ │ │ │ └── WebSocketImpl.h │ │ └── src │ │ │ ├── AbstractHTTPRequestHandler.cpp │ │ │ ├── DNS.cpp │ │ │ ├── DatagramSocket.cpp │ │ │ ├── DatagramSocketImpl.cpp │ │ │ ├── DialogSocket.cpp │ │ │ ├── FTPClientSession.cpp │ │ │ ├── FTPStreamFactory.cpp │ │ │ ├── FilePartSource.cpp │ │ │ ├── HTMLForm.cpp │ │ │ ├── HTTPAuthenticationParams.cpp │ │ │ ├── HTTPBasicCredentials.cpp │ │ │ ├── HTTPBufferAllocator.cpp │ │ │ ├── HTTPChunkedStream.cpp │ │ │ ├── HTTPClientSession.cpp │ │ │ ├── HTTPCookie.cpp │ │ │ ├── HTTPCredentials.cpp │ │ │ ├── HTTPDigestCredentials.cpp │ │ │ ├── HTTPFixedLengthStream.cpp │ │ │ ├── HTTPHeaderStream.cpp │ │ │ ├── HTTPIOStream.cpp │ │ │ ├── HTTPMessage.cpp │ │ │ ├── HTTPRequest.cpp │ │ │ ├── HTTPRequestHandler.cpp │ │ │ ├── HTTPRequestHandlerFactory.cpp │ │ │ ├── HTTPResponse.cpp │ │ │ ├── HTTPServer.cpp │ │ │ ├── HTTPServerConnection.cpp │ │ │ ├── HTTPServerConnectionFactory.cpp │ │ │ ├── HTTPServerParams.cpp │ │ │ ├── HTTPServerRequest.cpp │ │ │ ├── HTTPServerRequestImpl.cpp │ │ │ ├── HTTPServerResponse.cpp │ │ │ ├── HTTPServerResponseImpl.cpp │ │ │ ├── HTTPServerSession.cpp │ │ │ ├── HTTPSession.cpp │ │ │ ├── HTTPSessionFactory.cpp │ │ │ ├── HTTPSessionInstantiator.cpp │ │ │ ├── HTTPStream.cpp │ │ │ ├── HTTPStreamFactory.cpp │ │ │ ├── HostEntry.cpp │ │ │ ├── ICMPClient.cpp │ │ │ ├── ICMPEventArgs.cpp │ │ │ ├── ICMPPacket.cpp │ │ │ ├── ICMPPacketImpl.cpp │ │ │ ├── ICMPSocket.cpp │ │ │ ├── ICMPSocketImpl.cpp │ │ │ ├── ICMPv4PacketImpl.cpp │ │ │ ├── IPAddress.cpp │ │ │ ├── IPAddressImpl.cpp │ │ │ ├── MailMessage.cpp │ │ │ ├── MailRecipient.cpp │ │ │ ├── MailStream.cpp │ │ │ ├── MediaType.cpp │ │ │ ├── MessageHeader.cpp │ │ │ ├── MulticastSocket.cpp │ │ │ ├── MultipartReader.cpp │ │ │ ├── MultipartWriter.cpp │ │ │ ├── NTPClient.cpp │ │ │ ├── NTPEventArgs.cpp │ │ │ ├── NTPPacket.cpp │ │ │ ├── NameValueCollection.cpp │ │ │ ├── Net.cpp │ │ │ ├── NetException.cpp │ │ │ ├── NetworkInterface.cpp │ │ │ ├── NullPartHandler.cpp │ │ │ ├── OAuth10Credentials.cpp │ │ │ ├── OAuth20Credentials.cpp │ │ │ ├── POP3ClientSession.cpp │ │ │ ├── PartHandler.cpp │ │ │ ├── PartSource.cpp │ │ │ ├── PartStore.cpp │ │ │ ├── PollSet.cpp │ │ │ ├── QuotedPrintableDecoder.cpp │ │ │ ├── QuotedPrintableEncoder.cpp │ │ │ ├── RawSocket.cpp │ │ │ ├── RawSocketImpl.cpp │ │ │ ├── RemoteSyslogChannel.cpp │ │ │ ├── RemoteSyslogListener.cpp │ │ │ ├── SMTPChannel.cpp │ │ │ ├── SMTPClientSession.cpp │ │ │ ├── ServerSocket.cpp │ │ │ ├── ServerSocketImpl.cpp │ │ │ ├── Socket.cpp │ │ │ ├── SocketAddress.cpp │ │ │ ├── SocketAddressImpl.cpp │ │ │ ├── SocketImpl.cpp │ │ │ ├── SocketNotification.cpp │ │ │ ├── SocketNotifier.cpp │ │ │ ├── SocketReactor.cpp │ │ │ ├── SocketStream.cpp │ │ │ ├── StreamSocket.cpp │ │ │ ├── StreamSocketImpl.cpp │ │ │ ├── StringPartSource.cpp │ │ │ ├── TCPServer.cpp │ │ │ ├── TCPServerConnection.cpp │ │ │ ├── TCPServerConnectionFactory.cpp │ │ │ ├── TCPServerDispatcher.cpp │ │ │ ├── TCPServerParams.cpp │ │ │ ├── WebSocket.cpp │ │ │ └── WebSocketImpl.cpp │ ├── NetSSL_OpenSSL │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ └── Poco │ │ │ │ └── Net │ │ │ │ ├── AcceptCertificateHandler.h │ │ │ │ ├── CertificateHandlerFactory.h │ │ │ │ ├── CertificateHandlerFactoryMgr.h │ │ │ │ ├── Context.h │ │ │ │ ├── HTTPSClientSession.h │ │ │ │ ├── HTTPSSessionInstantiator.h │ │ │ │ ├── HTTPSStreamFactory.h │ │ │ │ ├── InvalidCertificateHandler.h │ │ │ │ ├── KeyConsoleHandler.h │ │ │ │ ├── KeyFileHandler.h │ │ │ │ ├── NetSSL.h │ │ │ │ ├── PrivateKeyFactory.h │ │ │ │ ├── PrivateKeyFactoryMgr.h │ │ │ │ ├── PrivateKeyPassphraseHandler.h │ │ │ │ ├── RejectCertificateHandler.h │ │ │ │ ├── SSLException.h │ │ │ │ ├── SSLManager.h │ │ │ │ ├── SecureSMTPClientSession.h │ │ │ │ ├── SecureServerSocket.h │ │ │ │ ├── SecureServerSocketImpl.h │ │ │ │ ├── SecureSocketImpl.h │ │ │ │ ├── SecureStreamSocket.h │ │ │ │ ├── SecureStreamSocketImpl.h │ │ │ │ ├── Session.h │ │ │ │ ├── Utility.h │ │ │ │ ├── VerificationErrorArgs.h │ │ │ │ └── X509Certificate.h │ │ └── src │ │ │ ├── AcceptCertificateHandler.cpp │ │ │ ├── CertificateHandlerFactory.cpp │ │ │ ├── CertificateHandlerFactoryMgr.cpp │ │ │ ├── Context.cpp │ │ │ ├── HTTPSClientSession.cpp │ │ │ ├── HTTPSSessionInstantiator.cpp │ │ │ ├── HTTPSStreamFactory.cpp │ │ │ ├── InvalidCertificateHandler.cpp │ │ │ ├── KeyConsoleHandler.cpp │ │ │ ├── KeyFileHandler.cpp │ │ │ ├── PrivateKeyFactory.cpp │ │ │ ├── PrivateKeyFactoryMgr.cpp │ │ │ ├── PrivateKeyPassphraseHandler.cpp │ │ │ ├── RejectCertificateHandler.cpp │ │ │ ├── SSLException.cpp │ │ │ ├── SSLManager.cpp │ │ │ ├── SecureSMTPClientSession.cpp │ │ │ ├── SecureServerSocket.cpp │ │ │ ├── SecureServerSocketImpl.cpp │ │ │ ├── SecureSocketImpl.cpp │ │ │ ├── SecureStreamSocket.cpp │ │ │ ├── SecureStreamSocketImpl.cpp │ │ │ ├── Session.cpp │ │ │ ├── Utility.cpp │ │ │ ├── VerificationErrorArgs.cpp │ │ │ └── X509Certificate.cpp │ ├── NetSSL_Win │ │ ├── CMakeLists.txt │ │ ├── cmake │ │ │ └── PocoNetSSLWinConfig.cmake │ │ ├── include │ │ │ └── Poco │ │ │ │ └── Net │ │ │ │ ├── AcceptCertificateHandler.h │ │ │ │ ├── AutoSecBufferDesc.h │ │ │ │ ├── CertificateHandlerFactory.h │ │ │ │ ├── CertificateHandlerFactoryMgr.h │ │ │ │ ├── ConsoleCertificateHandler.h │ │ │ │ ├── Context.h │ │ │ │ ├── HTTPSClientSession.h │ │ │ │ ├── HTTPSSessionInstantiator.h │ │ │ │ ├── HTTPSStreamFactory.h │ │ │ │ ├── InvalidCertificateHandler.h │ │ │ │ ├── KeyConsoleHandler.h │ │ │ │ ├── KeyFileHandler.h │ │ │ │ ├── NetSSL.h │ │ │ │ ├── PrivateKeyFactory.h │ │ │ │ ├── PrivateKeyFactoryMgr.h │ │ │ │ ├── PrivateKeyPassphraseHandler.h │ │ │ │ ├── RejectCertificateHandler.h │ │ │ │ ├── SSLException.h │ │ │ │ ├── SSLManager.h │ │ │ │ ├── SecureSMTPClientSession.h │ │ │ │ ├── SecureServerSocket.h │ │ │ │ ├── SecureServerSocketImpl.h │ │ │ │ ├── SecureSocketImpl.h │ │ │ │ ├── SecureStreamSocket.h │ │ │ │ ├── SecureStreamSocketImpl.h │ │ │ │ ├── Session.h │ │ │ │ ├── Utility.h │ │ │ │ ├── VerificationErrorArgs.h │ │ │ │ └── X509Certificate.h │ │ └── src │ │ │ ├── AcceptCertificateHandler.cpp │ │ │ ├── CertificateHandlerFactory.cpp │ │ │ ├── CertificateHandlerFactoryMgr.cpp │ │ │ ├── ConsoleCertificateHandler.cpp │ │ │ ├── Context.cpp │ │ │ ├── HTTPSClientSession.cpp │ │ │ ├── HTTPSSessionInstantiator.cpp │ │ │ ├── HTTPSStreamFactory.cpp │ │ │ ├── InvalidCertificateHandler.cpp │ │ │ ├── KeyConsoleHandler.cpp │ │ │ ├── KeyFileHandler.cpp │ │ │ ├── PrivateKeyFactory.cpp │ │ │ ├── PrivateKeyFactoryMgr.cpp │ │ │ ├── PrivateKeyPassphraseHandler.cpp │ │ │ ├── RejectCertificateHandler.cpp │ │ │ ├── SSLException.cpp │ │ │ ├── SSLManager.cpp │ │ │ ├── SecureSMTPClientSession.cpp │ │ │ ├── SecureServerSocket.cpp │ │ │ ├── SecureServerSocketImpl.cpp │ │ │ ├── SecureSocketImpl.cpp │ │ │ ├── SecureStreamSocket.cpp │ │ │ ├── SecureStreamSocketImpl.cpp │ │ │ ├── Session.cpp │ │ │ ├── Utility.cpp │ │ │ ├── VerificationErrorArgs.cpp │ │ │ └── X509Certificate.cpp │ ├── README.md │ └── Util │ │ ├── CMakeLists.txt │ │ ├── XMLConfiguration.cpp │ │ ├── XMLConfiguration.h │ │ ├── include │ │ └── Poco │ │ │ └── Util │ │ │ ├── AbstractConfiguration.h │ │ │ ├── Application.h │ │ │ ├── ConfigurationView.h │ │ │ ├── FilesystemConfiguration.h │ │ │ ├── HelpFormatter.h │ │ │ ├── IniFileConfiguration.h │ │ │ ├── IntValidator.h │ │ │ ├── JSONConfiguration.h │ │ │ ├── LayeredConfiguration.h │ │ │ ├── LoggingConfigurator.h │ │ │ ├── LoggingSubsystem.h │ │ │ ├── MapConfiguration.h │ │ │ ├── Option.h │ │ │ ├── OptionCallback.h │ │ │ ├── OptionException.h │ │ │ ├── OptionProcessor.h │ │ │ ├── OptionSet.h │ │ │ ├── PropertyFileConfiguration.h │ │ │ ├── RegExpValidator.h │ │ │ ├── ServerApplication.h │ │ │ ├── Subsystem.h │ │ │ ├── SystemConfiguration.h │ │ │ ├── Timer.h │ │ │ ├── TimerTask.h │ │ │ ├── TimerTaskAdapter.h │ │ │ ├── Units.h │ │ │ ├── Util.h │ │ │ └── Validator.h │ │ └── src │ │ ├── AbstractConfiguration.cpp │ │ ├── Application.cpp │ │ ├── ConfigurationView.cpp │ │ ├── FilesystemConfiguration.cpp │ │ ├── HelpFormatter.cpp │ │ ├── IniFileConfiguration.cpp │ │ ├── IntValidator.cpp │ │ ├── JSONConfiguration.cpp │ │ ├── LayeredConfiguration.cpp │ │ ├── LoggingConfigurator.cpp │ │ ├── LoggingSubsystem.cpp │ │ ├── MapConfiguration.cpp │ │ ├── Option.cpp │ │ ├── OptionCallback.cpp │ │ ├── OptionException.cpp │ │ ├── OptionProcessor.cpp │ │ ├── OptionSet.cpp │ │ ├── PropertyFileConfiguration.cpp │ │ ├── RegExpValidator.cpp │ │ ├── ServerApplication.cpp │ │ ├── Subsystem.cpp │ │ ├── SystemConfiguration.cpp │ │ ├── Timer.cpp │ │ ├── TimerTask.cpp │ │ └── Validator.cpp ├── unixodbc-cmake │ ├── CMakeLists.txt │ ├── darwin_arm64 │ │ ├── libltdl │ │ │ ├── config.h │ │ │ ├── libltdlcS.c │ │ │ └── lt__argz.h │ │ ├── private │ │ │ └── config.h │ │ └── unixodbc_conf.h │ ├── darwin_x86_64 │ │ ├── libltdl │ │ │ ├── config.h │ │ │ ├── libltdlcS.c │ │ │ └── lt__argz.h │ │ ├── private │ │ │ └── config.h │ │ └── unixodbc_conf.h │ └── linux_x86_64 │ │ ├── libltdl │ │ ├── config.h │ │ └── libltdlcS.c │ │ ├── private │ │ └── config.h │ │ └── unixodbc_conf.h └── zlib-ng-cmake │ └── CMakeLists.txt ├── driver ├── CMakeLists.txt ├── api │ ├── impl │ │ ├── impl.cpp │ │ └── impl.h │ ├── odbc.cpp │ ├── sql_columns_resultset_mutator.cpp │ └── sql_columns_resultset_mutator.h ├── attributes.cpp ├── attributes.h ├── config │ ├── config.cpp │ ├── config.h │ └── ini_defines.h ├── connection.cpp ├── connection.h ├── descriptor.cpp ├── descriptor.h ├── diagnostics.cpp ├── diagnostics.h ├── driver.cpp ├── driver.h ├── environment.cpp ├── environment.h ├── escaping │ ├── escape_sequences.cpp │ ├── escape_sequences.h │ ├── function_declare.h │ ├── lexer.cpp │ ├── lexer.h │ └── lexer_declare.h ├── exception.cpp ├── exception.h ├── exported_symbols_darwin.txt ├── exported_symbols_linux.txt ├── format │ ├── ODBCDriver2.cpp │ ├── ODBCDriver2.h │ ├── RowBinaryWithNamesAndTypes.cpp │ └── RowBinaryWithNamesAndTypes.h ├── object.cpp ├── object.h ├── platform │ ├── config_cmake.h.in │ ├── platform.h │ └── win │ │ ├── clickhouse-odbc.def │ │ ├── clickhouse-odbcw.def │ │ ├── dllmain.cpp │ │ ├── resource.h │ │ ├── resource.rc │ │ └── setup.cpp ├── result_set.cpp ├── result_set.h ├── statement.cpp ├── statement.h ├── test │ ├── AttributeContainer_ut.cpp │ ├── CMakeLists.txt │ ├── authentication_it.cpp │ ├── buffer_filling_ut.cpp │ ├── client_test_base.h │ ├── client_utils.h │ ├── column_bindings_it.cpp │ ├── common_utils.h │ ├── connection_string_ut.cpp │ ├── datetime_it.cpp │ ├── escape_sequences_ut.cpp │ ├── gtest_env.cpp │ ├── gtest_env.h │ ├── gtest_main.cpp │ ├── lexer_ut.cpp │ ├── load_ut.cpp │ ├── misc_it.cpp │ ├── nano_it.cpp │ ├── performance_it.cpp │ ├── performance_ut.cpp │ ├── result_set_reader.hpp │ ├── statement_parameter_binding_ut.cpp │ ├── statement_parameter_bindings_it.cpp │ ├── statement_parameters_it.cpp │ ├── type_conversion_ut.cpp │ ├── type_info_it.cpp │ └── utils_ut.cpp └── utils │ ├── amortized_istream_reader.h │ ├── conversion.h │ ├── conversion_context.cpp │ ├── conversion_context.h │ ├── conversion_icu.h │ ├── conversion_std.h │ ├── iostream_debug_helpers.h │ ├── object_pool.h │ ├── resize_without_initialization.h │ ├── sql_encoding.h │ ├── string_pool.h │ ├── string_view.h │ ├── type_info.cpp │ ├── type_info.h │ ├── type_parser.cpp │ ├── type_parser.h │ ├── unicode_converter.cpp │ ├── unicode_converter.h │ └── utils.h ├── format_sources ├── packaging ├── Changelog.txt ├── License.rtf ├── Readme.rtf ├── RegConfig.patch.wxs ├── clickhouse-odbc.tdc.sample ├── debian │ ├── .pbuilderrc │ ├── changelog │ ├── clickhouse-odbc.postinst │ ├── clickhouse-odbc.prerm │ ├── compat │ ├── control │ ├── rules │ └── source │ │ ├── format │ │ └── options ├── odbc.ini.sample └── odbcinst.ini.sample └── test ├── deploy_and_run_clickhouse_macos.sh ├── detect_driver_manager.pl ├── detect_driver_manager.py ├── docker-compose.yml ├── docker-compose ├── config.xml └── users.xml ├── docker ├── Dockerfile └── Dockerfile.centos7 ├── mssql.linked.server.sql ├── pytest.ini ├── requirements.txt ├── run_clickhouse_macos.sh ├── src ├── e2e │ ├── __init__.py │ ├── test_datatypes.py │ ├── test_funcvalues.py │ └── test_sanity.py └── util │ ├── __init__.py │ ├── env.py │ └── utils.py ├── test.pl ├── test.py ├── test.sh └── vcvars_enabled_bash.sh /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | indent_style = space 7 | indent_size = 4 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 140 11 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto encoding=utf-8 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | ### Describe the bug 12 | 13 | ### Steps to reproduce 14 | 1. 15 | 2. 16 | 3. 17 | 18 | ### Expected behaviour 19 | 20 | ### Code example 21 | 22 | ### Error log 23 | 24 | ### Query log 25 | 26 | ### Configuration 27 | #### Environment 28 | * Driver version: 29 | * OS: 30 | * ODBC Driver manager: 31 | 32 | #### ClickHouse server 33 | * ClickHouse Server version: 34 | * ClickHouse Server non-default settings, if any: 35 | * `CREATE TABLE` statements for tables involved: 36 | * Sample data for all these tables, use [clickhouse-obfuscator](https://github.com/ClickHouse/ClickHouse/blob/master/programs/obfuscator/Obfuscator.cpp#L42-L80) if necessary 37 | -------------------------------------------------------------------------------- /.github/workflows/debug.yml: -------------------------------------------------------------------------------- 1 | # Log all debug info to facilitate debugging 2 | name: debug 3 | 4 | 'on': 5 | [push, pull_request, release] 6 | 7 | jobs: 8 | DebugInfo: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: hmarr/debug-action@v3 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /build_* 3 | /build-* 4 | 5 | .vs/ 6 | 7 | CMakeFiles/ 8 | CMakeCache.txt 9 | 10 | __pycache__/ 11 | *.py[cod] 12 | -------------------------------------------------------------------------------- /CPackLists.txt: -------------------------------------------------------------------------------- 1 | # This file will be included at CPack-time, once per generator after CPack has set CPACK_GENERATOR to the actual generator being used. 2 | 3 | if ( 4 | CPACK_GENERATOR MATCHES "RPM" OR 5 | CPACK_GENERATOR MATCHES "DEB" 6 | ) 7 | set (CPACK_PACKAGING_INSTALL_PREFIX "${CPACK_PACKAGE_INSTALL_DIRECTORY}") 8 | endif () 9 | -------------------------------------------------------------------------------- /cmake/arch.cmake: -------------------------------------------------------------------------------- 1 | if (CMAKE_SIZEOF_VOID_P EQUAL 8) 2 | set (ARCH_BITS 64) 3 | elseif (CMAKE_SIZEOF_VOID_P EQUAL 4) 4 | set (ARCH_BITS 32) 5 | endif () 6 | 7 | if (CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64") 8 | if (CMAKE_LIBRARY_ARCHITECTURE MATCHES "i386") 9 | message (FATAL_ERROR "32bit platforms are not supported") 10 | endif () 11 | set (ARCH_AMD64 1) 12 | elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*|arm64.*|ARM64.*)") 13 | set (ARCH_AARCH64 1) 14 | set (ARCH_ARM 1) 15 | elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc64le.*|ppc64le.*|PPC64LE.*)") 16 | set (ARCH_PPC64LE 1) 17 | elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(s390x.*|S390X.*)") 18 | set (ARCH_S390X 1) 19 | elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64") 20 | set (ARCH_RISCV64 1) 21 | elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64") 22 | set (ARCH_LOONGARCH64 1) 23 | else () 24 | message (FATAL_ERROR "Platform ${CMAKE_SYSTEM_PROCESSOR} is not supported") 25 | endif () 26 | 27 | if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") 28 | set (COMPILER_GCC 1) 29 | elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") 30 | set (COMPILER_CLANG 1) 31 | endif () 32 | -------------------------------------------------------------------------------- /cmake/cxx.cmake: -------------------------------------------------------------------------------- 1 | set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_LIBCPP_DEBUG=0") # More checks in debug build. 2 | 3 | add_subdirectory(contrib/libcxxabi-cmake) 4 | add_subdirectory(contrib/libcxx-cmake) 5 | 6 | # Exception handling library is embedded into libcxxabi. 7 | 8 | target_link_libraries(global-libs INTERFACE cxx cxxabi) 9 | -------------------------------------------------------------------------------- /cmake/darwin/default_libs.cmake: -------------------------------------------------------------------------------- 1 | #set (DEFAULT_LIBS "-nodefaultlibs") 2 | 3 | set (DEFAULT_LIBS "${DEFAULT_LIBS} ${COVERAGE_OPTION} -lc -lm -lpthread -ldl") 4 | 5 | message(STATUS "Default libraries: ${DEFAULT_LIBS}") 6 | 7 | set(CMAKE_CXX_STANDARD_LIBRARIES ${DEFAULT_LIBS}) 8 | set(CMAKE_C_STANDARD_LIBRARIES ${DEFAULT_LIBS}) 9 | 10 | # Minimal supported SDK version 11 | set(CMAKE_OSX_DEPLOYMENT_TARGET 13.3) 12 | 13 | # Unfortunately '-pthread' doesn't work with '-nodefaultlibs'. 14 | # Just make sure we have pthreads at all. 15 | set(THREADS_PREFER_PTHREAD_FLAG ON) 16 | find_package(Threads REQUIRED) 17 | 18 | #include (cmake/unwind.cmake) 19 | #include (cmake/cxx.cmake) 20 | #link_libraries(global-group) 21 | # 22 | #target_link_libraries(global-group INTERFACE 23 | # $ 24 | #) 25 | -------------------------------------------------------------------------------- /cmake/extract_flags.cmake: -------------------------------------------------------------------------------- 1 | macro (extract_flags 2 | _mixed_flags_val 3 | _defines_name 4 | _include_dirs_name 5 | _compiler_flags_name 6 | _linker_flags_name 7 | ) 8 | string (REPLACE " " ";" _mixed_flags "${_mixed_flags_val}") 9 | 10 | foreach (_flag ${_mixed_flags}) 11 | if ("${_flag}" MATCHES "^-D(.*)$") 12 | list (APPEND ${_defines_name} "${CMAKE_MATCH_1}") 13 | elseif ("${_flag}" MATCHES "^-I(.*)$") 14 | list (APPEND ${_include_dirs_name} "${CMAKE_MATCH_1}") 15 | elseif ("${_flag}" MATCHES "^-L(.*)$" OR "${_flag}" MATCHES "^-l(.*)$") 16 | list (APPEND ${_linker_flags_name} "${_flag}") 17 | else () 18 | list (APPEND ${_compiler_flags_name} "${_flag}") 19 | endif () 20 | endforeach () 21 | 22 | unset (_flag) 23 | unset (_mixed_flags) 24 | endmacro () 25 | -------------------------------------------------------------------------------- /cmake/os.cmake: -------------------------------------------------------------------------------- 1 | 2 | if (CMAKE_SYSTEM_NAME MATCHES "Linux") 3 | set (OS_LINUX 1) 4 | add_definitions(-D OS_LINUX) 5 | elseif (CMAKE_SYSTEM_NAME MATCHES "Android") 6 | # This is a toy configuration and not in CI, so expect it to be broken. 7 | # Use cmake flags such as: -DCMAKE_TOOLCHAIN_FILE=~/ch2/android-ndk-r21d/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=28 8 | set (OS_ANDROID 1) 9 | add_definitions(-D OS_ANDROID) 10 | elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") 11 | set (OS_FREEBSD 1) 12 | add_definitions(-D OS_FREEBSD) 13 | elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin") 14 | set (OS_DARWIN 1) 15 | add_definitions(-D OS_DARWIN) 16 | # For MAP_ANON/MAP_ANONYMOUS 17 | add_definitions(-D _DARWIN_C_SOURCE) 18 | elseif (CMAKE_SYSTEM_NAME MATCHES "SunOS") 19 | set (OS_SUNOS 1) 20 | add_definitions(-D OS_SUNOS) 21 | elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") 22 | if(NOT "${CMAKE_GENERATOR}" MATCHES "(Win64|IA64)") 23 | set(WINDOWS_32 1) 24 | MESSAGE(STATUS "WIN32") 25 | endif() 26 | 27 | set (OS_WINDOWS 1) 28 | add_definitions(-D OS_WINDOWS) 29 | else () 30 | message (FATAL_ERROR "Platform '${CMAKE_SYSTEM_NAME}' is not supported") 31 | endif () 32 | -------------------------------------------------------------------------------- /cmake/packages.cmake: -------------------------------------------------------------------------------- 1 | if (OS_LINUX) 2 | if (EXISTS "/etc/os-release") 3 | find_program (AWK awk) 4 | 5 | if (AWK) 6 | execute_process ( 7 | COMMAND ${AWK} "-F=" "$1==\"ID\" { gsub(/\"/, \"\", $2); print tolower($2) ;}" "/etc/os-release" 8 | OUTPUT_VARIABLE _os_release_id 9 | OUTPUT_STRIP_TRAILING_WHITESPACE 10 | ) 11 | 12 | if (_os_release_id STREQUAL "rhel") 13 | set (UNIX_RHEL 1) 14 | elseif (_os_release_id STREQUAL "fedora") 15 | set (UNIX_FEDORA 1) 16 | elseif (_os_release_id STREQUAL "centos") 17 | set (UNIX_CENTOS 1) 18 | elseif (_os_release_id STREQUAL "debian") 19 | set (UNIX_DEBIAN 1) 20 | elseif (_os_release_id STREQUAL "ubuntu") 21 | set (UNIX_UBUNTU 1) 22 | endif () 23 | endif () 24 | endif () 25 | endif () 26 | -------------------------------------------------------------------------------- /cmake/unwind.cmake: -------------------------------------------------------------------------------- 1 | add_subdirectory(contrib/libunwind-cmake) 2 | -------------------------------------------------------------------------------- /contrib/double-conversion-cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(LIBRARY_DIR "${CMAKE_SOURCE_DIR}/contrib/double-conversion") 2 | 3 | add_library(_double-conversion 4 | "${LIBRARY_DIR}/double-conversion/bignum-dtoa.cc" 5 | "${LIBRARY_DIR}/double-conversion/bignum.cc" 6 | "${LIBRARY_DIR}/double-conversion/cached-powers.cc" 7 | "${LIBRARY_DIR}/double-conversion/double-to-string.cc" 8 | "${LIBRARY_DIR}/double-conversion/fast-dtoa.cc" 9 | "${LIBRARY_DIR}/double-conversion/fixed-dtoa.cc" 10 | "${LIBRARY_DIR}/double-conversion/string-to-double.cc" 11 | "${LIBRARY_DIR}/double-conversion/strtod.cc" 12 | ) 13 | 14 | target_include_directories(_double-conversion SYSTEM BEFORE PUBLIC "${LIBRARY_DIR}") 15 | 16 | add_library(ch_contrib::double_conversion ALIAS _double-conversion) 17 | -------------------------------------------------------------------------------- /contrib/libunwind-cmake/unwind-override.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /// On MacOS this function will be replaced with a dynamic symbol 4 | /// from the system library. 5 | #if !defined(OS_DARWIN) 6 | int backtrace(void ** buffer, int size) 7 | { 8 | return unw_backtrace(buffer, size); 9 | } 10 | #endif 11 | -------------------------------------------------------------------------------- /contrib/lz4-cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # lz4 is the main compression method, cannot be disabled. 2 | 3 | set (LIBRARY_DIR "${CMAKE_SOURCE_DIR}/contrib/lz4") 4 | set (SRCS 5 | "${LIBRARY_DIR}/lib/lz4.c" 6 | "${LIBRARY_DIR}/lib/lz4hc.c" 7 | "${LIBRARY_DIR}/lib/lz4frame.c" 8 | "${LIBRARY_DIR}/lib/xxhash.c" 9 | ) 10 | 11 | add_library (_lz4 ${SRCS}) 12 | add_library (ch_contrib::lz4 ALIAS _lz4) 13 | 14 | target_compile_definitions (_lz4 PUBLIC LZ4_DISABLE_DEPRECATE_WARNINGS=1) 15 | target_compile_definitions (_lz4 PUBLIC LZ4_FAST_DEC_LOOP=1) 16 | 17 | if(ARCH_S390X) 18 | target_compile_definitions(_lz4 PRIVATE LZ4_STATIC_LINKING_ONLY_ENDIANNESS_INDEPENDENT_OUTPUT) 19 | endif() 20 | 21 | if (SANITIZE STREQUAL "undefined") 22 | target_compile_options (_lz4 PRIVATE -fno-sanitize=undefined) 23 | endif () 24 | target_include_directories(_lz4 PUBLIC "${LIBRARY_DIR}/lib") 25 | -------------------------------------------------------------------------------- /contrib/nanodbc-cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (OS_DARWIN OR OS_LINUX) 2 | if (NOT TARGET ch_contrib::unixodbc) 3 | message(FATAL_ERROR "Configuration error: unixodbc is not a target") 4 | endif() 5 | 6 | set (LIBRARY_DIR "${CMAKE_SOURCE_DIR}/contrib/nanodbc") 7 | 8 | set (SRCS 9 | "${LIBRARY_DIR}/nanodbc/nanodbc.cpp" 10 | ) 11 | 12 | add_library(_nanodbc ${SRCS}) 13 | target_link_libraries(_nanodbc PUBLIC ch_contrib::unixodbc) 14 | target_include_directories(_nanodbc SYSTEM PUBLIC "${LIBRARY_DIR}/") 15 | add_library(ch_contrib::nanodbc ALIAS _nanodbc) 16 | 17 | elseif (OS_WINDOWS) 18 | set (LIBRARY_DIR "${CMAKE_SOURCE_DIR}/contrib/nanodbc") 19 | set (SRCS 20 | "${LIBRARY_DIR}/nanodbc/nanodbc.cpp" 21 | ) 22 | 23 | add_library(_nanodbc ${SRCS}) 24 | target_link_libraries(_nanodbc PUBLIC ODBC::Driver) 25 | target_include_directories(_nanodbc SYSTEM PUBLIC "${LIBRARY_DIR}/") 26 | add_library(ch_contrib::nanodbc ALIAS _nanodbc) 27 | endif() 28 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/darwin_aarch64/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/darwin_aarch64/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".dylib" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/darwin_aarch64/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/darwin_x86_64/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/darwin_x86_64/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".dylib" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/darwin_x86_64/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/der_sm2_gen.c: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from providers/common/der/der_sm2_gen.c.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #include "prov/der_sm2.h" 14 | 15 | /* Well known OIDs precompiled */ 16 | 17 | /* 18 | * sm2-with-SM3 OBJECT IDENTIFIER ::= { sm-scheme 501 } 19 | */ 20 | const unsigned char ossl_der_oid_sm2_with_SM3[DER_OID_SZ_sm2_with_SM3] = { 21 | DER_OID_V_sm2_with_SM3 22 | }; 23 | 24 | /* 25 | * curveSM2 OBJECT IDENTIFIER ::= { sm-scheme 301 } 26 | */ 27 | const unsigned char ossl_der_oid_curveSM2[DER_OID_SZ_curveSM2] = { 28 | DER_OID_V_curveSM2 29 | }; 30 | 31 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/fipsmodule.cnf: -------------------------------------------------------------------------------- 1 | [fips_sect] 2 | activate = 1 3 | conditional-errors = 1 4 | security-checks = 1 5 | module-mac = D6:10:14:8D:C3:5A:83:B9:3B:7D:96:FE:E9:11:EF:B3:94:5C:B3:CA:4E:A9:2B:6D:A9:61:E9:E2:8E:44:EF:B0 6 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_aarch64/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_aarch64/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".so" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_aarch64/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_loongarch64/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_loongarch64/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".so" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_loongarch64/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_ppc64le/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_ppc64le/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".so" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_ppc64le/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_riscv64/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_riscv64/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".so" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_riscv64/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_s390x/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_s390x/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".so" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_s390x/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_x86_64/include/crypto/bn_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/bn_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_BN_CONF_H 13 | # define OSSL_CRYPTO_BN_CONF_H 14 | # pragma once 15 | 16 | /* 17 | * The contents of this file are not used in the UEFI build, as 18 | * both 32-bit and 64-bit builds are supported from a single run 19 | * of the Configure script. 20 | */ 21 | 22 | /* Should we define BN_DIV2W here? */ 23 | 24 | /* Only one for the following should be defined */ 25 | #define SIXTY_FOUR_BIT_LONG 26 | #undef SIXTY_FOUR_BIT 27 | #undef THIRTY_TWO_BIT 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_x86_64/include/crypto/dso_conf.h: -------------------------------------------------------------------------------- 1 | /* WARNING: do not edit! */ 2 | /* Generated by Makefile from include/crypto/dso_conf.h.in */ 3 | /* 4 | * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. 5 | * 6 | * Licensed under the Apache License 2.0 (the "License"). You may not use 7 | * this file except in compliance with the License. You can obtain a copy 8 | * in the file LICENSE in the source distribution or at 9 | * https://www.openssl.org/source/license.html 10 | */ 11 | 12 | #ifndef OSSL_CRYPTO_DSO_CONF_H 13 | # define OSSL_CRYPTO_DSO_CONF_H 14 | # pragma once 15 | 16 | # define DSO_DLFCN 17 | # define HAVE_DLFCN_H 18 | # define DSO_EXTENSION ".so" 19 | #endif 20 | -------------------------------------------------------------------------------- /contrib/openssl-cmake/linux_x86_64/include/openssl/fipskey.h: -------------------------------------------------------------------------------- 1 | /* 2 | * WARNING: do not edit! 3 | * Generated by Makefile from include/openssl/fipskey.h.in 4 | * 5 | * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 6 | * 7 | * Licensed under the Apache License 2.0 (the "License"). You may not use 8 | * this file except in compliance with the License. You can obtain a copy 9 | * in the file LICENSE in the source distribution or at 10 | * https://www.openssl.org/source/license.html 11 | */ 12 | 13 | #ifndef OPENSSL_FIPSKEY_H 14 | # define OPENSSL_FIPSKEY_H 15 | # pragma once 16 | 17 | # ifdef __cplusplus 18 | extern "C" { 19 | # endif 20 | 21 | /* 22 | * The FIPS validation HMAC key, usable as an array initializer. 23 | */ 24 | #define FIPS_KEY_ELEMENTS \ 25 | 0xf4, 0x55, 0x66, 0x50, 0xac, 0x31, 0xd3, 0x54, 0x61, 0x61, 0x0b, 0xac, 0x4e, 0xd8, 0x1b, 0x1a, 0x18, 0x1b, 0x2d, 0x8a, 0x43, 0xea, 0x28, 0x54, 0xcb, 0xae, 0x22, 0xca, 0x74, 0x56, 0x08, 0x13 26 | 27 | /* 28 | * The FIPS validation key, as a string. 29 | */ 30 | #define FIPS_KEY_STRING "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" 31 | 32 | # ifdef __cplusplus 33 | } 34 | # endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /contrib/poco/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory (Foundation) 2 | add_subdirectory (Net) 3 | if (OS_LINUX OR OS_DARWIN) 4 | add_subdirectory (Crypto) 5 | add_subdirectory (NetSSL_OpenSSL) 6 | elseif (OS_WINDOWS) 7 | if (MSVC) 8 | if (TARGET Foundation) 9 | set_property(TARGET Foundation APPEND PROPERTY INTERFACE_LINK_LIBRARIES Iphlpapi) 10 | elseif (TARGET Poco::Foundation) 11 | set_property(TARGET _poco_foundation APPEND PROPERTY INTERFACE_LINK_LIBRARIES Iphlpapi) 12 | endif () 13 | endif () 14 | add_subdirectory (NetSSL_Win) 15 | endif() 16 | add_subdirectory (Util) 17 | -------------------------------------------------------------------------------- /contrib/poco/Crypto/src/CipherKey.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // CipherKey.cpp 3 | // 4 | // Library: Crypto 5 | // Package: Cipher 6 | // Module: CipherKey 7 | // 8 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Crypto/CipherKey.h" 16 | 17 | 18 | namespace Poco { 19 | namespace Crypto { 20 | 21 | 22 | CipherKey::CipherKey(const std::string& name, 23 | const std::string& passphrase, 24 | const std::string& salt, 25 | int iterationCount, 26 | const std::string &digest): 27 | _pImpl(new CipherKeyImpl(name, passphrase, salt, iterationCount, digest)) 28 | { 29 | } 30 | 31 | 32 | CipherKey::CipherKey(const std::string& name, const ByteVec& key, const ByteVec& iv): 33 | _pImpl(new CipherKeyImpl(name, key, iv)) 34 | { 35 | } 36 | 37 | 38 | CipherKey::CipherKey(const std::string& name): 39 | _pImpl(new CipherKeyImpl(name)) 40 | { 41 | } 42 | 43 | 44 | CipherKey::~CipherKey() 45 | { 46 | } 47 | 48 | 49 | } } // namespace Poco::Crypto 50 | -------------------------------------------------------------------------------- /contrib/poco/Crypto/src/CryptoTransform.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // CryptoTransform.cpp 3 | // 4 | // Library: Crypto 5 | // Package: Cipher 6 | // Module: CryptoTransform 7 | // 8 | // Copyright (c) 2008, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Crypto/CryptoTransform.h" 16 | 17 | 18 | namespace Poco { 19 | namespace Crypto { 20 | 21 | 22 | CryptoTransform::CryptoTransform() 23 | { 24 | } 25 | 26 | 27 | CryptoTransform::~CryptoTransform() 28 | { 29 | } 30 | 31 | 32 | int CryptoTransform::setPadding(int padding) 33 | { 34 | return 1; 35 | } 36 | 37 | 38 | } } // namespace Poco::Crypto 39 | -------------------------------------------------------------------------------- /contrib/poco/Crypto/src/KeyPair.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // KeyPair.cpp 3 | // 4 | // 5 | // Library: Crypto 6 | // Package: CryptoCore 7 | // Module: KeyPair 8 | // 9 | // Copyright (c) 2008, Applied Informatics Software Engineering GmbH. 10 | // and Contributors. 11 | // 12 | // SPDX-License-Identifier: BSL-1.0 13 | // 14 | 15 | 16 | #include "Poco/Crypto/KeyPair.h" 17 | #include 18 | 19 | 20 | namespace Poco { 21 | namespace Crypto { 22 | 23 | 24 | KeyPair::KeyPair(KeyPairImpl::Ptr pKeyPairImpl): _pImpl(pKeyPairImpl) 25 | { 26 | } 27 | 28 | 29 | KeyPair::~KeyPair() 30 | { 31 | } 32 | 33 | 34 | } } // namespace Poco::Crypto 35 | -------------------------------------------------------------------------------- /contrib/poco/Crypto/src/KeyPairImpl.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // KeyPairImpl.cpp 3 | // 4 | // 5 | // Library: Crypto 6 | // Package: CryptoCore 7 | // Module: KeyPairImpl 8 | // 9 | // Copyright (c) 2008, Applied Informatics Software Engineering GmbH. 10 | // and Contributors. 11 | // 12 | // SPDX-License-Identifier: BSL-1.0 13 | // 14 | 15 | 16 | #include "Poco/Crypto/KeyPairImpl.h" 17 | 18 | 19 | namespace Poco { 20 | namespace Crypto { 21 | 22 | 23 | KeyPairImpl::KeyPairImpl(const std::string& name, Type type): 24 | _name(name), 25 | _type(type) 26 | { 27 | } 28 | 29 | 30 | KeyPairImpl::~KeyPairImpl() 31 | { 32 | } 33 | 34 | 35 | } } // namespace Poco::Crypto 36 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/cmake/PocoFoundationConfig.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/PocoFoundationTargets.cmake") -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/ActiveStarter.h: -------------------------------------------------------------------------------- 1 | // 2 | // ActiveStarter.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: ActiveObjects 7 | // 8 | // Definition of the ActiveStarter class. 9 | // 10 | // Copyright (c) 2006-2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ActiveStarter_INCLUDED 18 | #define Foundation_ActiveStarter_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/ThreadPool.h" 23 | #include "Poco/ActiveRunnable.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | template 30 | class ActiveStarter 31 | /// The default implementation of the StarterType 32 | /// policy for ActiveMethod. It starts the method 33 | /// in its own thread, obtained from the default 34 | /// thread pool. 35 | { 36 | public: 37 | static void start(OwnerType* /*pOwner*/, ActiveRunnableBase::Ptr pRunnable) 38 | { 39 | ThreadPool::defaultPool().start(*pRunnable); 40 | pRunnable->duplicate(); // The runnable will release itself. 41 | } 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_ActiveStarter_INCLUDED 49 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/BufferAllocator.h: -------------------------------------------------------------------------------- 1 | // 2 | // BufferAllocator.h 3 | // 4 | // Library: Foundation 5 | // Package: Streams 6 | // Module: BufferAllocator 7 | // 8 | // Definition of the BufferAllocator class. 9 | // 10 | // Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_BufferAllocator_INCLUDED 18 | #define Foundation_BufferAllocator_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | template 30 | class BufferAllocator 31 | /// The BufferAllocator used if no specific 32 | /// BufferAllocator has been specified. 33 | { 34 | public: 35 | typedef ch char_type; 36 | 37 | static char_type* allocate(std::streamsize size) 38 | { 39 | return new char_type[static_cast(size)]; 40 | } 41 | 42 | static void deallocate(char_type* ptr, std::streamsize /*size*/) throw() 43 | { 44 | delete [] ptr; 45 | } 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_BufferAllocator_INCLUDED 53 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/DynamicAny.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicAny.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: Var 7 | // 8 | // Forward header for Var class to maintain backward compatibility. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicAny_INCLUDED 18 | #define Foundation_DynamicAny_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/Var.h" 22 | 23 | 24 | #endif // Foundation_DynamicAny_INCLUDED 25 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/DynamicAnyHolder.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicAnyHolder.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: VarHolder 7 | // 8 | // Forward header for VarHolder class to maintain backward compatibility 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicAnyHolder_INCLUDED 18 | #define Foundation_DynamicAnyHolder_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/VarHolder.h" 22 | 23 | 24 | #endif // Foundation_DynamicAnyHolder_INCLUDED 25 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/DynamicStruct.h: -------------------------------------------------------------------------------- 1 | // 2 | // DynamicStruct.h 3 | // 4 | // Library: Foundation 5 | // Package: Dynamic 6 | // Module: Struct 7 | // 8 | // Forward header for Struct class to maintain backward compatibility. 9 | // 10 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_DynamicStruct_INCLUDED 18 | #define Foundation_DynamicStruct_INCLUDED 19 | 20 | //@ deprecated 21 | #include "Poco/Dynamic/Struct.h" 22 | 23 | 24 | #endif // Foundation_DynamicStruct_INCLUDED 25 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Environment_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Environment_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Environment 7 | // 8 | // Definition of the EnvironmentImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Environment_WIN32_INCLUDED 18 | #define Foundation_Environment_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EnvironmentImpl 28 | { 29 | public: 30 | typedef UInt8 NodeId[6]; /// Ethernet address. 31 | 32 | static std::string getImpl(const std::string& name); 33 | static bool hasImpl(const std::string& name); 34 | static void setImpl(const std::string& name, const std::string& value); 35 | static std::string osNameImpl(); 36 | static std::string osDisplayNameImpl(); 37 | static std::string osVersionImpl(); 38 | static std::string osArchitectureImpl(); 39 | static std::string nodeNameImpl(); 40 | static void nodeIdImpl(NodeId& id); 41 | static unsigned processorCountImpl(); 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_Environment_WIN32_INCLUDED 49 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Environment_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // Environment_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Environment 7 | // 8 | // Definition of the EnvironmentImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Environment_WIN32U_INCLUDED 18 | #define Foundation_Environment_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EnvironmentImpl 28 | { 29 | public: 30 | typedef UInt8 NodeId[6]; /// Ethernet address. 31 | 32 | static std::string getImpl(const std::string& name); 33 | static bool hasImpl(const std::string& name); 34 | static void setImpl(const std::string& name, const std::string& value); 35 | static std::string osNameImpl(); 36 | static std::string osDisplayNameImpl(); 37 | static std::string osVersionImpl(); 38 | static std::string osArchitectureImpl(); 39 | static std::string nodeNameImpl(); 40 | static void nodeIdImpl(NodeId& id); 41 | static unsigned processorCountImpl(); 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_Environment_WIN32U_INCLUDED 49 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Error.h: -------------------------------------------------------------------------------- 1 | // 2 | // Error.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Error 7 | // 8 | // Definition of the Error class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Error_INCLUDED 18 | #define Foundation_Error_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API Error 28 | /// The Error class provides utility functions 29 | /// for error reporting. 30 | { 31 | public: 32 | 33 | #ifdef POCO_OS_FAMILY_WINDOWS 34 | static DWORD last(); 35 | /// Utility function returning the last error. 36 | 37 | static std::string getMessage(DWORD errorCode); 38 | /// Utility function translating numeric error code to string. 39 | #else 40 | static int last(); 41 | /// Utility function returning the last error. 42 | 43 | static std::string getMessage(int errorCode); 44 | /// Utility function translating numeric error code to string. 45 | #endif 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_Error_INCLUDED 53 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/EventArgs.h: -------------------------------------------------------------------------------- 1 | // 2 | // EventArgs.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: EventArgs 7 | // 8 | // Definition of EventArgs. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_EventArgs_INCLUDED 18 | #define Foundation_EventArgs_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API EventArgs 28 | /// The purpose of the EventArgs class is to be used as parameter 29 | /// when one doesn't want to send any data. 30 | /// 31 | /// One can use EventArgs as a base class for one's own event arguments 32 | /// but with the arguments being a template parameter this is not 33 | /// necessary. 34 | { 35 | public: 36 | EventArgs(); 37 | 38 | virtual ~EventArgs(); 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Event_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Event_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Event 7 | // 8 | // Definition of the EventImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Event_VX_INCLUDED 18 | #define Foundation_Event_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API EventImpl 30 | { 31 | protected: 32 | EventImpl(bool autoReset); 33 | ~EventImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | void resetImpl(); 38 | 39 | private: 40 | bool _auto; 41 | volatile bool _state; 42 | SEM_ID _sem; 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_Event_VX_INCLUDED 50 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/FIFOStrategy.h: -------------------------------------------------------------------------------- 1 | // 2 | // FIFOStrategy.h 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: FIFOStragegy 7 | // 8 | // Implementation of the FIFOStrategy template. 9 | // 10 | // Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_FIFOStrategy_INCLUDED 18 | #define Foundation_FIFOStrategy_INCLUDED 19 | 20 | 21 | #include "Poco/DefaultStrategy.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | //@ deprecated 28 | template 29 | class FIFOStrategy: public DefaultStrategy 30 | /// Note: As of release 1.4.2, DefaultStrategy already 31 | /// implements FIFO behavior, so this class is provided 32 | /// for backwards compatibility only. 33 | { 34 | public: 35 | FIFOStrategy() 36 | { 37 | } 38 | 39 | FIFOStrategy(const FIFOStrategy& s): 40 | DefaultStrategy(s) 41 | { 42 | } 43 | 44 | ~FIFOStrategy() 45 | { 46 | } 47 | 48 | FIFOStrategy& operator = (const FIFOStrategy& s) 49 | { 50 | DefaultStrategy::operator = (s); 51 | return *this; 52 | } 53 | }; 54 | 55 | 56 | } // namespace Poco 57 | 58 | 59 | #endif // Foundation_FIFOStrategy_INCLUDED 60 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/HashFunction.h: -------------------------------------------------------------------------------- 1 | // 2 | // HashFunction.h 3 | // 4 | // Library: Foundation 5 | // Package: Hashing 6 | // Module: HashFunction 7 | // 8 | // Definition of the HashFunction class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_HashFunction_INCLUDED 18 | #define Foundation_HashFunction_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Hash.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | //@ deprecated 29 | template 30 | struct HashFunction 31 | /// A generic hash function. 32 | { 33 | UInt32 operator () (T key, UInt32 maxValue) const 34 | /// Returns the hash value for the given key. 35 | { 36 | return static_cast(Poco::hash(key)) % maxValue; 37 | } 38 | }; 39 | 40 | 41 | //@ deprecated 42 | template <> 43 | struct HashFunction 44 | /// A generic hash function. 45 | { 46 | UInt32 operator () (const std::string& key, UInt32 maxValue) const 47 | /// Returns the hash value for the given key. 48 | { 49 | return static_cast(Poco::hash(key)) % maxValue; 50 | } 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_HashFunctions_INCLUDED 58 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/LogFile_STD.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_STD.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using iostreams. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_STD_INCLUDED 18 | #define Foundation_LogFile_STD_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/FileStream.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for non-Windows platforms. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | std::string _path; 44 | mutable Poco::FileOutputStream _str; 45 | Timestamp _creationDate; 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_LogFile_STD_INCLUDED 53 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/LogFile_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Definition of the LogFileImpl class using the Windows file APIs. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_LogFile_WIN32_INCLUDED 18 | #define Foundation_LogFile_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Timestamp.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API LogFileImpl 30 | /// The implementation of LogFile for Windows. 31 | /// The native filesystem APIs are used for 32 | /// total control over locking behavior. 33 | { 34 | public: 35 | LogFileImpl(const std::string& path); 36 | ~LogFileImpl(); 37 | void writeImpl(const std::string& text, bool flush); 38 | UInt64 sizeImpl() const; 39 | Timestamp creationDateImpl() const; 40 | const std::string& pathImpl() const; 41 | 42 | private: 43 | void createFile(); 44 | 45 | std::string _path; 46 | HANDLE _hFile; 47 | Timestamp _creationDate; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_LogFile_WIN32_INCLUDED 55 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Mutex_WINCE.h: -------------------------------------------------------------------------------- 1 | // 2 | // Mutex_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Definition of the MutexImpl and FastMutexImpl classes for WIN32. 9 | // 10 | // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Mutex_WINCE_INCLUDED 18 | #define Foundation_Mutex_WINCE_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API MutexImpl 30 | { 31 | protected: 32 | MutexImpl(); 33 | ~MutexImpl(); 34 | void lockImpl(); 35 | bool tryLockImpl(); 36 | bool tryLockImpl(long milliseconds); 37 | void unlockImpl(); 38 | 39 | private: 40 | HANDLE _mutex; 41 | }; 42 | 43 | 44 | typedef MutexImpl FastMutexImpl; 45 | 46 | 47 | } // namespace Poco 48 | 49 | 50 | #endif // Foundation_Mutex_WINCE_INCLUDED 51 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/NamedEvent_Android.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_Android.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Android. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_Android_INCLUDED 18 | #define Foundation_NamedEvent_Android_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API NamedEventImpl 28 | { 29 | protected: 30 | NamedEventImpl(const std::string& name); 31 | ~NamedEventImpl(); 32 | void setImpl(); 33 | void waitImpl(); 34 | }; 35 | 36 | 37 | } // namespace Poco 38 | 39 | 40 | #endif // Foundation_NamedEvent_Android_INCLUDED 41 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/NamedEvent_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Unix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_UNIX_INCLUDED 18 | #define Foundation_NamedEvent_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 23 | #include 24 | #endif 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | class Foundation_API NamedEventImpl 31 | { 32 | protected: 33 | NamedEventImpl(const std::string& name); 34 | ~NamedEventImpl(); 35 | void setImpl(); 36 | void waitImpl(); 37 | 38 | private: 39 | std::string getFileName(); 40 | 41 | std::string _name; 42 | #if defined(sun) || defined(__APPLE__) || defined(__osf__) || defined(__QNX__) || defined(_AIX) 43 | sem_t* _sem; 44 | #else 45 | int _semid; // semaphore id 46 | #endif 47 | }; 48 | 49 | 50 | } // namespace Poco 51 | 52 | 53 | #endif // Foundation_NamedEvent_UNIX_INCLUDED 54 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/NamedEvent_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_WIN32_INCLUDED 18 | #define Foundation_NamedEvent_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedEventImpl 29 | { 30 | protected: 31 | NamedEventImpl(const std::string& name); 32 | ~NamedEventImpl(); 33 | void setImpl(); 34 | void waitImpl(); 35 | 36 | private: 37 | std::string _name; 38 | HANDLE _event; 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif // Foundation_NamedEvent_WIN32_INCLUDED 46 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/NamedEvent_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Definition of the NamedEventImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedEvent_WIN32U_INCLUDED 18 | #define Foundation_NamedEvent_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedEventImpl 29 | { 30 | protected: 31 | NamedEventImpl(const std::string& name); 32 | ~NamedEventImpl(); 33 | void setImpl(); 34 | void waitImpl(); 35 | 36 | private: 37 | std::string _name; 38 | std::wstring _uname; 39 | HANDLE _event; 40 | }; 41 | 42 | 43 | } // namespace Poco 44 | 45 | 46 | #endif // Foundation_NamedEvent_WIN32U_INCLUDED 47 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/NamedMutex_Android.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_Android.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Android. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_Android_INCLUDED 18 | #define Foundation_NamedMutex_Android_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API NamedMutexImpl 28 | { 29 | protected: 30 | NamedMutexImpl(const std::string& name); 31 | ~NamedMutexImpl(); 32 | void lockImpl(); 33 | bool tryLockImpl(); 34 | void unlockImpl(); 35 | }; 36 | 37 | 38 | } // namespace Poco 39 | 40 | 41 | #endif // Foundation_NamedMutex_Android_INCLUDED 42 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/NamedMutex_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_WIN32_INCLUDED 18 | #define Foundation_NamedMutex_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedMutexImpl 29 | { 30 | protected: 31 | NamedMutexImpl(const std::string& name); 32 | ~NamedMutexImpl(); 33 | void lockImpl(); 34 | bool tryLockImpl(); 35 | void unlockImpl(); 36 | 37 | private: 38 | std::string _name; 39 | HANDLE _mutex; 40 | }; 41 | 42 | 43 | } // namespace Poco 44 | 45 | 46 | #endif // Foundation_NamedMutex_WIN32_INCLUDED 47 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/NamedMutex_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Definition of the NamedMutexImpl class for Windows. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_NamedMutex_WIN32U_INCLUDED 18 | #define Foundation_NamedMutex_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/UnWindows.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API NamedMutexImpl 29 | { 30 | protected: 31 | NamedMutexImpl(const std::string& name); 32 | ~NamedMutexImpl(); 33 | void lockImpl(); 34 | bool tryLockImpl(); 35 | void unlockImpl(); 36 | 37 | private: 38 | std::string _name; 39 | std::wstring _uname; 40 | HANDLE _mutex; 41 | }; 42 | 43 | 44 | } // namespace Poco 45 | 46 | 47 | #endif // Foundation_NamedMutex_WIN32U_INCLUDED 48 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Path_UNIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_UNIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class fo rUnix. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_UNIX_INCLUDED 18 | #define Foundation_Path_UNIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string configHomeImpl(); 34 | static std::string dataHomeImpl(); 35 | static std::string tempHomeImpl(); 36 | static std::string cacheHomeImpl(); 37 | static std::string tempImpl(); 38 | static std::string configImpl(); 39 | static std::string nullImpl(); 40 | static std::string expandImpl(const std::string& path); 41 | static void listRootsImpl(std::vector& roots); 42 | }; 43 | 44 | 45 | } // namespace Poco 46 | 47 | 48 | #endif // Foundation_Path_UNIX_INCLUDED 49 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Path_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WIN32_INCLUDED 18 | #define Foundation_Path_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string configHomeImpl(); 34 | static std::string dataHomeImpl(); 35 | static std::string cacheHomeImpl(); 36 | static std::string tempHomeImpl(); 37 | static std::string tempImpl(); 38 | static std::string configImpl(); 39 | static std::string nullImpl(); 40 | static std::string systemImpl(); 41 | static std::string expandImpl(const std::string& path); 42 | static void listRootsImpl(std::vector& roots); 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_Path_WIN32_INCLUDED 50 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Path_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WIN32U_INCLUDED 18 | #define Foundation_Path_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string configHomeImpl(); 34 | static std::string dataHomeImpl(); 35 | static std::string cacheHomeImpl(); 36 | static std::string tempHomeImpl(); 37 | static std::string tempImpl(); 38 | static std::string configImpl(); 39 | static std::string nullImpl(); 40 | static std::string systemImpl(); 41 | static std::string expandImpl(const std::string& path); 42 | static void listRootsImpl(std::vector& roots); 43 | 44 | enum 45 | { 46 | MAX_PATH_LEN = 32767 47 | }; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_Path_WIN32U_INCLUDED 55 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Path_WINCE.h: -------------------------------------------------------------------------------- 1 | // 2 | // Path_WINCE.h 3 | // 4 | // Library: Foundation 5 | // Package: Filesystem 6 | // Module: Path 7 | // 8 | // Definition of the PathImpl class for WIN32. 9 | // 10 | // Copyright (c) 2006-2010, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Path_WINCE_INCLUDED 18 | #define Foundation_Path_WINCE_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PathImpl 29 | { 30 | public: 31 | static std::string currentImpl(); 32 | static std::string homeImpl(); 33 | static std::string configHomeImpl(); 34 | static std::string dataHomeImpl(); 35 | static std::string cacheHomeImpl(); 36 | static std::string tempHomeImpl(); 37 | static std::string tempImpl(); 38 | static std::string configImpl(); 39 | static std::string nullImpl(); 40 | static std::string systemImpl(); 41 | static std::string expandImpl(const std::string& path); 42 | static void listRootsImpl(std::vector& roots); 43 | 44 | enum 45 | { 46 | MAX_PATH_LEN = 32767 47 | }; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_Path_WINCE_INCLUDED 55 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/PipeImpl.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_INCLUDED 18 | #define Foundation_PipeImpl_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | #if defined(POCO_OS_FAMILY_WINDOWS) 25 | #if defined(_WIN32_WCE) 26 | #include "PipeImpl_DUMMY.h" 27 | #else 28 | #include "Poco/PipeImpl_WIN32.h" 29 | #endif 30 | #elif defined(POCO_OS_FAMILY_UNIX) 31 | #include "Poco/PipeImpl_POSIX.h" 32 | #else 33 | #include "Poco/PipeImpl_DUMMY.h" 34 | #endif 35 | 36 | 37 | #endif // Foundation_PipeImpl_INCLUDED 38 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/PipeImpl_DUMMY.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_DUMMY.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl_DUMMY class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_DUMMY_INCLUDED 18 | #define Foundation_PipeImpl_DUMMY_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PipeImpl: public RefCountedObject 29 | /// A dummy implementation of PipeImpl for platforms 30 | /// that do not support pipes. 31 | { 32 | public: 33 | typedef int Handle; 34 | 35 | PipeImpl(); 36 | ~PipeImpl(); 37 | int writeBytes(const void* buffer, int length); 38 | int readBytes(void* buffer, int length); 39 | Handle readHandle() const; 40 | Handle writeHandle() const; 41 | void closeRead(); 42 | void closeWrite(); 43 | }; 44 | 45 | 46 | } // namespace Poco 47 | 48 | 49 | #endif // Foundation_PipeImpl_DUMMY_INCLUDED 50 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/PipeImpl_POSIX.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_POSIX.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class for POSIX. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_POSIX_INCLUDED 18 | #define Foundation_PipeImpl_POSIX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API PipeImpl: public RefCountedObject 29 | /// A dummy implementation of PipeImpl for platforms 30 | /// that do not support pipes. 31 | { 32 | public: 33 | typedef int Handle; 34 | 35 | PipeImpl(); 36 | ~PipeImpl(); 37 | int writeBytes(const void* buffer, int length); 38 | int readBytes(void* buffer, int length); 39 | Handle readHandle() const; 40 | Handle writeHandle() const; 41 | void closeRead(); 42 | void closeWrite(); 43 | 44 | private: 45 | int _readfd; 46 | int _writefd; 47 | }; 48 | 49 | 50 | } // namespace Poco 51 | 52 | 53 | #endif // Foundation_PipeImpl_POSIX_INCLUDED 54 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/PipeImpl_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Definition of the PipeImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_PipeImpl_WIN32_INCLUDED 18 | #define Foundation_PipeImpl_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/RefCountedObject.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API PipeImpl: public RefCountedObject 30 | /// A dummy implementation of PipeImpl for platforms 31 | /// that do not support pipes. 32 | { 33 | public: 34 | typedef HANDLE Handle; 35 | 36 | PipeImpl(); 37 | ~PipeImpl(); 38 | int writeBytes(const void* buffer, int length); 39 | int readBytes(void* buffer, int length); 40 | Handle readHandle() const; 41 | Handle writeHandle() const; 42 | void closeRead(); 43 | void closeWrite(); 44 | 45 | private: 46 | HANDLE _readHandle; 47 | HANDLE _writeHandle; 48 | }; 49 | 50 | 51 | } // namespace Poco 52 | 53 | 54 | #endif // Foundation_PipeImpl_WIN32_INCLUDED 55 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Platform_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Platform_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Platform 7 | // 8 | // Platform and architecture identification macros 9 | // and platform-specific definitions for VxWorks 10 | // 11 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 12 | // and Contributors. 13 | // 14 | // SPDX-License-Identifier: BSL-1.0 15 | // 16 | 17 | 18 | #ifndef Foundation_Platform_VX_INCLUDED 19 | #define Foundation_Platform_VX_INCLUDED 20 | 21 | 22 | #define POCO_NO_SYS_SELECT_H 23 | #define POCO_NO_FPENVIRONMENT 24 | #define POCO_NO_WSTRING 25 | #define POCO_NO_SHAREDMEMORY 26 | #define POCO_NO_SYSLOGCHANNEL 27 | 28 | 29 | #endif // Foundation_Platform_VX_INCLUDED 30 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Poco.h: -------------------------------------------------------------------------------- 1 | // 2 | // Poco.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Foundation 7 | // 8 | // Basic definitions for the POCO libraries. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Poco_INCLUDED 18 | #define Foundation_Poco_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | #endif // Foundation_Poco_INCLUDED 25 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/RWLock_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // RWLock_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: RWLock 7 | // 8 | // Definition of the RWLockImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_RWLock_WIN32_INCLUDED 18 | #define Foundation_RWLock_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API RWLockImpl 30 | { 31 | protected: 32 | RWLockImpl(); 33 | ~RWLockImpl(); 34 | void readLockImpl(); 35 | bool tryReadLockImpl(); 36 | void writeLockImpl(); 37 | bool tryWriteLockImpl(); 38 | void unlockImpl(); 39 | 40 | private: 41 | void addWriter(); 42 | void removeWriter(); 43 | DWORD tryReadLockOnce(); 44 | 45 | HANDLE _mutex; 46 | HANDLE _readEvent; 47 | HANDLE _writeEvent; 48 | unsigned _readers; 49 | unsigned _writersWaiting; 50 | unsigned _writers; 51 | }; 52 | 53 | 54 | } // namespace Poco 55 | 56 | 57 | #endif // Foundation_RWLock_WIN32_INCLUDED 58 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Runnable.h: -------------------------------------------------------------------------------- 1 | // 2 | // Runnable.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Thread 7 | // 8 | // Definition of the Runnable class. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Runnable_INCLUDED 18 | #define Foundation_Runnable_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | class Foundation_API Runnable 28 | /// The Runnable interface with the run() method 29 | /// must be implemented by classes that provide 30 | /// an entry point for a thread. 31 | { 32 | public: 33 | Runnable(); 34 | virtual ~Runnable(); 35 | 36 | virtual void run() = 0; 37 | /// Do whatever the thread needs to do. Must 38 | /// be overridden by subclasses. 39 | }; 40 | 41 | 42 | } // namespace Poco 43 | 44 | 45 | #endif // Foundation_Runnable_INCLUDED 46 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Semaphore_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Definition of the SemaphoreImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-20011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Semaphore_VX_INCLUDED 18 | #define Foundation_Semaphore_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SemaphoreImpl 30 | { 31 | protected: 32 | SemaphoreImpl(int n, int max); 33 | ~SemaphoreImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | 38 | private: 39 | SEM_ID _sem; 40 | }; 41 | 42 | 43 | // 44 | // inlines 45 | // 46 | inline void SemaphoreImpl::setImpl() 47 | { 48 | if (semGive(_sem) != OK) 49 | throw SystemException("cannot signal semaphore"); 50 | } 51 | 52 | 53 | } // namespace Poco 54 | 55 | 56 | #endif // Foundation_Semaphore_VX_INCLUDED 57 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Semaphore_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Definition of the SemaphoreImpl class for WIN32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Semaphore_WIN32_INCLUDED 18 | #define Foundation_Semaphore_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Exception.h" 23 | #include "Poco/UnWindows.h" 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SemaphoreImpl 30 | { 31 | protected: 32 | SemaphoreImpl(int n, int max); 33 | ~SemaphoreImpl(); 34 | void setImpl(); 35 | void waitImpl(); 36 | bool waitImpl(long milliseconds); 37 | 38 | private: 39 | HANDLE _sema; 40 | }; 41 | 42 | 43 | // 44 | // inlines 45 | // 46 | inline void SemaphoreImpl::setImpl() 47 | { 48 | if (!ReleaseSemaphore(_sema, 1, NULL)) 49 | { 50 | throw SystemException("cannot signal semaphore"); 51 | } 52 | } 53 | 54 | 55 | } // namespace Poco 56 | 57 | 58 | #endif // Foundation_Semaphore_WIN32_INCLUDED 59 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/SharedLibrary_HPUX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_HPUX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for HP-UX. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_HPUX_INCLUDED 18 | #define Foundation_SharedLibrary_HPUX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SharedLibraryImpl 30 | { 31 | protected: 32 | SharedLibraryImpl(); 33 | ~SharedLibraryImpl(); 34 | void loadImpl(const std::string& path, int flags); 35 | void unloadImpl(); 36 | bool isLoadedImpl() const; 37 | void* findSymbolImpl(const std::string& name); 38 | const std::string& getPathImpl() const; 39 | static std::string suffixImpl(); 40 | static bool setSearchPathImpl(const std::string& path); 41 | 42 | private: 43 | std::string _path; 44 | shl_t _handle; 45 | static FastMutex _mutex; 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_SharedLibrary_HPUX_INCLUDED 53 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/SharedLibrary_VX.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_VX.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for VxWorks. 9 | // 10 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_VX_INCLUDED 18 | #define Foundation_SharedLibrary_VX_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | #include 24 | 25 | 26 | namespace Poco { 27 | 28 | 29 | class Foundation_API SharedLibraryImpl 30 | { 31 | protected: 32 | SharedLibraryImpl(); 33 | ~SharedLibraryImpl(); 34 | void loadImpl(const std::string& path, int flags); 35 | void unloadImpl(); 36 | bool isLoadedImpl() const; 37 | void* findSymbolImpl(const std::string& name); 38 | const std::string& getPathImpl() const; 39 | static std::string suffixImpl(); 40 | static bool setSearchPathImpl(const std::string& path); 41 | 42 | private: 43 | std::string _path; 44 | MODULE_ID _moduleId; 45 | static FastMutex _mutex; 46 | }; 47 | 48 | 49 | } // namespace Poco 50 | 51 | 52 | #endif // Foundation_SharedLibrary_VX_INCLUDED 53 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/SharedLibrary_WIN32.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_WIN32.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for Win32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_WIN32_INCLUDED 18 | #define Foundation_SharedLibrary_WIN32_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | SharedLibraryImpl(); 32 | ~SharedLibraryImpl(); 33 | void loadImpl(const std::string& path, int flags); 34 | void unloadImpl(); 35 | bool isLoadedImpl() const; 36 | void* findSymbolImpl(const std::string& name); 37 | const std::string& getPathImpl() const; 38 | static std::string suffixImpl(); 39 | static bool setSearchPathImpl(const std::string& path); 40 | 41 | private: 42 | std::string _path; 43 | void* _handle; 44 | static FastMutex _mutex; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_SharedLibrary_WIN32_INCLUDED 52 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/SharedLibrary_WIN32U.h: -------------------------------------------------------------------------------- 1 | // 2 | // SharedLibrary_WIN32U.h 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: SharedLibrary 7 | // 8 | // Definition of the SharedLibraryImpl class for Win32. 9 | // 10 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_SharedLibrary_WIN32U_INCLUDED 18 | #define Foundation_SharedLibrary_WIN32U_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | #include "Poco/Mutex.h" 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | class Foundation_API SharedLibraryImpl 29 | { 30 | protected: 31 | SharedLibraryImpl(); 32 | ~SharedLibraryImpl(); 33 | void loadImpl(const std::string& path, int flags); 34 | void unloadImpl(); 35 | bool isLoadedImpl() const; 36 | void* findSymbolImpl(const std::string& name); 37 | const std::string& getPathImpl() const; 38 | static std::string suffixImpl(); 39 | static bool setSearchPathImpl(const std::string& path); 40 | 41 | private: 42 | std::string _path; 43 | void* _handle; 44 | static FastMutex _mutex; 45 | }; 46 | 47 | 48 | } // namespace Poco 49 | 50 | 51 | #endif // Foundation_SharedLibrary_WIN32U_INCLUDED 52 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/ValidArgs.h: -------------------------------------------------------------------------------- 1 | // 2 | // ValidArgs.h 3 | // 4 | // Library: Foundation 5 | // Package: Cache 6 | // Module: ValidArgs 7 | // 8 | // Definition of the ValidArgs class. 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_ValidArgs_INCLUDED 18 | #define Foundation_ValidArgs_INCLUDED 19 | 20 | 21 | #include "Poco/Foundation.h" 22 | 23 | 24 | namespace Poco { 25 | 26 | 27 | template 28 | class ValidArgs 29 | { 30 | public: 31 | ValidArgs(const TKey& key): 32 | _key(key), 33 | _isValid(true) 34 | { 35 | } 36 | 37 | ValidArgs(const ValidArgs& args): 38 | _key(args._key), 39 | _isValid(args._isValid) 40 | { 41 | } 42 | 43 | ~ValidArgs() 44 | { 45 | } 46 | 47 | const TKey& key() const 48 | { 49 | return _key; 50 | } 51 | 52 | bool isValid() const 53 | { 54 | return _isValid; 55 | } 56 | 57 | void invalidate() 58 | { 59 | _isValid = false; 60 | } 61 | 62 | protected: 63 | const TKey& _key; 64 | bool _isValid; 65 | 66 | private: 67 | ValidArgs& operator = (const ValidArgs& args); 68 | }; 69 | 70 | 71 | } // namespace Poco 72 | 73 | 74 | #endif // Foundation_ValidArgs_INCLUDED 75 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/include/Poco/Version.h: -------------------------------------------------------------------------------- 1 | // 2 | // Version.h 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Version 7 | // 8 | // Version information for the POCO C++ Libraries. 9 | // 10 | // Copyright (c) 2004-2016, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #ifndef Foundation_Version_INCLUDED 18 | #define Foundation_Version_INCLUDED 19 | 20 | 21 | // 22 | // Version Information 23 | // 24 | // Since 1.6.0, we're using Semantic Versioning 2.0 25 | // (http://semver.org/spec/v2.0.0.html) 26 | // 27 | // Version format is 0xAABBCCDD, where 28 | // - AA is the major version number, 29 | // - BB is the minor version number, 30 | // - CC is the patch version number, and 31 | // - DD is the pre-release designation/number. 32 | // The pre-release designation hex digits have a special meaning: 33 | // 00: final/stable releases 34 | // Dx: development releases 35 | // Ax: alpha releases 36 | // Bx: beta releases 37 | // 38 | #define POCO_VERSION 0x01090400 39 | 40 | 41 | #endif // Foundation_Version_INCLUDED 42 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/AbstractObserver.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // AbstractObserver.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Notifications 6 | // Module: NotificationCenter 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/AbstractObserver.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | AbstractObserver::AbstractObserver() 22 | { 23 | } 24 | 25 | 26 | AbstractObserver::AbstractObserver(const AbstractObserver& observer) 27 | { 28 | } 29 | 30 | 31 | AbstractObserver::~AbstractObserver() 32 | { 33 | } 34 | 35 | 36 | AbstractObserver& AbstractObserver::operator = (const AbstractObserver& observer) 37 | { 38 | return *this; 39 | } 40 | 41 | 42 | } // namespace Poco 43 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/ByteOrder.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // ByteOrder.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: ByteOrder 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/ByteOrder.h" 16 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Channel.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Channel.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: Channel 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Channel.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | Channel::Channel() 22 | { 23 | } 24 | 25 | 26 | Channel::~Channel() 27 | { 28 | } 29 | 30 | 31 | void Channel::open() 32 | { 33 | } 34 | 35 | 36 | void Channel::close() 37 | { 38 | } 39 | 40 | 41 | void Channel::setProperty(const std::string& name, const std::string& value) 42 | { 43 | throw PropertyNotSupportedException(name); 44 | } 45 | 46 | 47 | std::string Channel::getProperty(const std::string& name) const 48 | { 49 | throw PropertyNotSupportedException(name); 50 | } 51 | 52 | 53 | } // namespace Poco 54 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Checksum.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Checksum.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: Checksum 7 | // 8 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Checksum.h" 16 | #if defined(POCO_UNBUNDLED) 17 | #include 18 | #else 19 | #include "Poco/zlib.h" 20 | #endif 21 | 22 | 23 | namespace Poco { 24 | 25 | 26 | Checksum::Checksum(): 27 | _type(TYPE_CRC32), 28 | _value(crc32(0L, Z_NULL, 0)) 29 | { 30 | } 31 | 32 | 33 | Checksum::Checksum(Type t): 34 | _type(t), 35 | _value(0) 36 | { 37 | if (t == TYPE_CRC32) 38 | _value = crc32(0L, Z_NULL, 0); 39 | else 40 | _value = adler32(0L, Z_NULL, 0); 41 | } 42 | 43 | 44 | Checksum::~Checksum() 45 | { 46 | } 47 | 48 | 49 | void Checksum::update(const char* data, unsigned length) 50 | { 51 | if (_type == TYPE_ADLER32) 52 | _value = adler32(_value, reinterpret_cast(data), length); 53 | else 54 | _value = crc32(_value, reinterpret_cast(data), length); 55 | } 56 | 57 | 58 | } // namespace Poco 59 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Configurable.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Configurable.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: Configurable 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Configurable.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | Configurable::Configurable() 22 | { 23 | } 24 | 25 | 26 | Configurable::~Configurable() 27 | { 28 | } 29 | 30 | 31 | } // namespace Poco 32 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Event.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Event.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Event 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Event.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) 19 | #include "Event_WIN32.cpp" 20 | #elif defined(POCO_VXWORKS) 21 | #include "Event_VX.cpp" 22 | #else 23 | #include "Event_POSIX.cpp" 24 | #endif 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | Event::Event(bool autoReset): EventImpl(autoReset) 31 | { 32 | } 33 | 34 | 35 | Event::~Event() 36 | { 37 | } 38 | 39 | 40 | } // namespace Poco 41 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/EventArgs.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // EventArgs.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Events 6 | // Module: EventArgs 7 | // 8 | // Implementation of EventArgs 9 | // 10 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 11 | // and Contributors. 12 | // 13 | // SPDX-License-Identifier: BSL-1.0 14 | // 15 | 16 | 17 | #include "Poco/EventArgs.h" 18 | 19 | 20 | namespace Poco { 21 | 22 | 23 | EventArgs::EventArgs() 24 | { 25 | } 26 | 27 | 28 | EventArgs::~EventArgs() 29 | { 30 | } 31 | 32 | 33 | } // namespace Poco 34 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/EventChannel.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // EventChannel.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: EventChannel 7 | // 8 | // Copyright (c) 2015, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/EventChannel.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | EventChannel::EventChannel() 22 | { 23 | } 24 | 25 | 26 | EventChannel::~EventChannel() 27 | { 28 | } 29 | 30 | 31 | void EventChannel::log(const Message& msg) 32 | { 33 | messageLogged(this, msg); 34 | } 35 | 36 | 37 | } // namespace Poco 38 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Event_WIN32.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Event_WIN32.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Event 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Event_WIN32.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | EventImpl::EventImpl(bool autoReset) 22 | { 23 | _event = CreateEventW(NULL, autoReset ? FALSE : TRUE, FALSE, NULL); 24 | if (!_event) 25 | throw SystemException("cannot create event"); 26 | } 27 | 28 | 29 | EventImpl::~EventImpl() 30 | { 31 | CloseHandle(_event); 32 | } 33 | 34 | 35 | void EventImpl::waitImpl() 36 | { 37 | switch (WaitForSingleObject(_event, INFINITE)) 38 | { 39 | case WAIT_OBJECT_0: 40 | return; 41 | default: 42 | throw SystemException("wait for event failed"); 43 | } 44 | } 45 | 46 | 47 | bool EventImpl::waitImpl(long milliseconds) 48 | { 49 | switch (WaitForSingleObject(_event, milliseconds + 1)) 50 | { 51 | case WAIT_TIMEOUT: 52 | return false; 53 | case WAIT_OBJECT_0: 54 | return true; 55 | default: 56 | throw SystemException("wait for event failed"); 57 | } 58 | } 59 | 60 | 61 | } // namespace Poco 62 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Formatter.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Formatter.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: Formatter 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Formatter.h" 16 | #include "Poco/Exception.h" 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | Formatter::Formatter() 23 | { 24 | } 25 | 26 | 27 | Formatter::~Formatter() 28 | { 29 | } 30 | 31 | 32 | void Formatter::setProperty(const std::string& name, const std::string& value) 33 | { 34 | throw PropertyNotSupportedException(); 35 | } 36 | 37 | 38 | std::string Formatter::getProperty(const std::string& name) const 39 | { 40 | throw PropertyNotSupportedException(); 41 | } 42 | 43 | 44 | } // namespace Poco 45 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Hash.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Hash.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Hashing 6 | // Module: Hash 7 | // 8 | // Copyright (c) 2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Hash.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | std::size_t hash(const std::string& str) 22 | { 23 | std::size_t h = 0; 24 | std::string::const_iterator it = str.begin(); 25 | std::string::const_iterator end = str.end(); 26 | while (it != end) 27 | { 28 | h = h * 0xf4243 ^ *it++; 29 | } 30 | return h; 31 | } 32 | 33 | 34 | } // namespace Poco 35 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/LogFile.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // LogFile.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: LogFile 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/LogFile.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8) 19 | #include "LogFile_WIN32U.cpp" 20 | #elif defined(POCO_OS_FAMILY_WINDOWS) 21 | #include "LogFile_WIN32.cpp" 22 | #else 23 | #include "LogFile_STD.cpp" 24 | #endif 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | LogFile::LogFile(const std::string& path): LogFileImpl(path) 31 | { 32 | } 33 | 34 | 35 | LogFile::~LogFile() 36 | { 37 | } 38 | 39 | 40 | } // namespace Poco 41 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/MSG00001.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ClickHouse/clickhouse-odbc/5b9bfe87d693a48790119eca257d019e73f0812c/contrib/poco/Foundation/src/MSG00001.bin -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Manifest.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Manifest.cpp 3 | // 4 | // Library: Foundation 5 | // Package: SharedLibrary 6 | // Module: ClassLoader 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Manifest.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | ManifestBase::ManifestBase() 22 | { 23 | } 24 | 25 | 26 | ManifestBase::~ManifestBase() 27 | { 28 | } 29 | 30 | 31 | } // namespace Poco 32 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/MemoryStream.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // MemoryStream.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Streams 6 | // Module: MemoryStream 7 | // 8 | // Copyright (c) 2009, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/MemoryStream.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | MemoryIOS::MemoryIOS(char* pBuffer, std::streamsize bufferSize): 22 | _buf(pBuffer, bufferSize) 23 | { 24 | poco_ios_init(&_buf); 25 | } 26 | 27 | 28 | MemoryIOS::~MemoryIOS() 29 | { 30 | } 31 | 32 | 33 | MemoryInputStream::MemoryInputStream(const char* pBuffer, std::streamsize bufferSize): 34 | MemoryIOS(const_cast(pBuffer), bufferSize), 35 | std::istream(&_buf) 36 | { 37 | } 38 | 39 | 40 | MemoryInputStream::~MemoryInputStream() 41 | { 42 | } 43 | 44 | 45 | MemoryOutputStream::MemoryOutputStream(char* pBuffer, std::streamsize bufferSize): 46 | MemoryIOS(pBuffer, bufferSize), 47 | std::ostream(&_buf) 48 | { 49 | } 50 | 51 | 52 | MemoryOutputStream::~MemoryOutputStream() 53 | { 54 | } 55 | 56 | 57 | } // namespace Poco 58 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Mutex.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Mutex.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Copyright (c) 2004-2008, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Mutex.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) 19 | #if defined(_WIN32_WCE) 20 | #include "Mutex_WINCE.cpp" 21 | #else 22 | #include "Mutex_WIN32.cpp" 23 | #endif 24 | #elif defined(POCO_VXWORKS) 25 | #include "Mutex_VX.cpp" 26 | #else 27 | #include "Mutex_POSIX.cpp" 28 | #endif 29 | 30 | 31 | namespace Poco { 32 | 33 | 34 | Mutex::Mutex() 35 | { 36 | } 37 | 38 | 39 | Mutex::~Mutex() 40 | { 41 | } 42 | 43 | 44 | FastMutex::FastMutex() 45 | { 46 | } 47 | 48 | 49 | FastMutex::~FastMutex() 50 | { 51 | } 52 | 53 | 54 | } // namespace Poco 55 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Mutex_VX.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Mutex_VX.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Mutex_VX.h" 16 | #include 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | MutexImpl::MutexImpl() 23 | { 24 | _sem = semMCreate(SEM_INVERSION_SAFE | SEM_Q_PRIORITY); 25 | if (_sem == 0) 26 | throw Poco::SystemException("cannot create mutex"); 27 | } 28 | 29 | 30 | MutexImpl::MutexImpl(bool fast) 31 | { 32 | if (fast) 33 | { 34 | _sem = semBCreate(SEM_Q_PRIORITY, SEM_FULL); 35 | } 36 | else 37 | { 38 | _sem = semMCreate(SEM_INVERSION_SAFE | SEM_Q_PRIORITY); 39 | } 40 | if (_sem == 0) 41 | throw Poco::SystemException("cannot create mutex"); 42 | } 43 | 44 | 45 | MutexImpl::~MutexImpl() 46 | { 47 | semDelete(_sem); 48 | } 49 | 50 | 51 | bool MutexImpl::tryLockImpl(long milliseconds) 52 | { 53 | int ticks = milliseconds*sysClkRateGet()/1000; 54 | return semTake(_sem, ticks) == OK; 55 | } 56 | 57 | 58 | FastMutexImpl::FastMutexImpl(): MutexImpl(true) 59 | { 60 | } 61 | 62 | 63 | FastMutexImpl::~FastMutexImpl() 64 | { 65 | } 66 | 67 | 68 | } // namespace Poco 69 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Mutex_WIN32.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Mutex_WIN32.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Mutex 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Mutex_WIN32.h" 16 | #include "Poco/Timestamp.h" 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | MutexImpl::MutexImpl() 23 | { 24 | // the fct has a boolean return value under WInnNt/2000/XP but not on Win98 25 | // the return only checks if the input address of &_cs was valid, so it is safe to omit it 26 | InitializeCriticalSectionAndSpinCount(&_cs, 4000); 27 | } 28 | 29 | 30 | MutexImpl::~MutexImpl() 31 | { 32 | DeleteCriticalSection(&_cs); 33 | } 34 | 35 | 36 | bool MutexImpl::tryLockImpl(long milliseconds) 37 | { 38 | const int sleepMillis = 5; 39 | Timestamp now; 40 | Timestamp::TimeDiff diff(Timestamp::TimeDiff(milliseconds)*1000); 41 | do 42 | { 43 | try 44 | { 45 | if (TryEnterCriticalSection(&_cs) == TRUE) 46 | return true; 47 | } 48 | catch (...) 49 | { 50 | throw SystemException("cannot lock mutex"); 51 | } 52 | Sleep(sleepMillis); 53 | } 54 | while (!now.isElapsed(diff)); 55 | return false; 56 | } 57 | 58 | 59 | } // namespace Poco 60 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/NamedEvent.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/NamedEvent.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8) 19 | #include "NamedEvent_WIN32U.cpp" 20 | #elif defined(POCO_OS_FAMILY_WINDOWS) 21 | #include "NamedEvent_WIN32.cpp" 22 | #elif POCO_OS == POCO_OS_ANDROID 23 | #include "NamedEvent_Android.cpp" 24 | #elif defined(POCO_OS_FAMILY_UNIX) 25 | #include "NamedEvent_UNIX.cpp" 26 | #endif 27 | 28 | 29 | namespace Poco { 30 | 31 | 32 | NamedEvent::NamedEvent(const std::string& name): 33 | NamedEventImpl(name) 34 | { 35 | } 36 | 37 | 38 | NamedEvent::~NamedEvent() 39 | { 40 | } 41 | 42 | 43 | } // namespace Poco 44 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/NamedEvent_Android.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // NamedEvent_Android.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedEvent 7 | // 8 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/NamedEvent_Android.h" 16 | #include "Poco/Exception.h" 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | NamedEventImpl::NamedEventImpl(const std::string&) 23 | { 24 | } 25 | 26 | 27 | NamedEventImpl::~NamedEventImpl() 28 | { 29 | } 30 | 31 | 32 | void NamedEventImpl::setImpl() 33 | { 34 | throw NotImplementedException("NamedEvent::set() not available on Android"); 35 | } 36 | 37 | 38 | void NamedEventImpl::waitImpl() 39 | { 40 | throw NotImplementedException("NamedEvent::wait() not available on Android"); 41 | } 42 | 43 | 44 | } // namespace Poco 45 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/NamedMutex.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/NamedMutex.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8) 19 | #include "NamedMutex_WIN32U.cpp" 20 | #elif defined(POCO_OS_FAMILY_WINDOWS) 21 | #include "NamedMutex_WIN32.cpp" 22 | #elif POCO_OS == POCO_OS_ANDROID 23 | #include "NamedMutex_Android.cpp" 24 | #elif defined(POCO_OS_FAMILY_UNIX) 25 | #include "NamedMutex_UNIX.cpp" 26 | #endif 27 | 28 | 29 | namespace Poco { 30 | 31 | 32 | NamedMutex::NamedMutex(const std::string& name): 33 | NamedMutexImpl(name) 34 | { 35 | } 36 | 37 | 38 | NamedMutex::~NamedMutex() 39 | { 40 | } 41 | 42 | 43 | } // namespace Poco 44 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/NamedMutex_Android.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // NamedMutex_Android.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: NamedMutex 7 | // 8 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/NamedMutex_Android.h" 16 | #include "Poco/Exception.h" 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | NamedMutexImpl::NamedMutexImpl(const std::string&) 23 | { 24 | } 25 | 26 | 27 | NamedMutexImpl::~NamedMutexImpl() 28 | { 29 | } 30 | 31 | 32 | void NamedMutexImpl::lockImpl() 33 | { 34 | throw NotImplementedException("NamedMutex::lock() is not supported on Android"); 35 | } 36 | 37 | 38 | bool NamedMutexImpl::tryLockImpl() 39 | { 40 | throw NotImplementedException("NamedMutex::tryLock() is not supported on Android"); 41 | } 42 | 43 | 44 | void NamedMutexImpl::unlockImpl() 45 | { 46 | throw NotImplementedException("NamedMutex::unlock() is not supported on Android"); 47 | } 48 | 49 | 50 | } // namespace Poco 51 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Notification.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Notification.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Notifications 6 | // Module: Notification 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Notification.h" 16 | #include 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | Notification::Notification() 23 | { 24 | } 25 | 26 | 27 | Notification::~Notification() 28 | { 29 | } 30 | 31 | 32 | std::string Notification::name() const 33 | { 34 | return typeid(*this).name(); 35 | } 36 | 37 | 38 | } // namespace Poco 39 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/NullChannel.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // NullChannel.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: NullChannel 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/NullChannel.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | NullChannel::NullChannel() 22 | { 23 | } 24 | 25 | 26 | NullChannel::~NullChannel() 27 | { 28 | } 29 | 30 | 31 | void NullChannel::log(const Message&) 32 | { 33 | } 34 | 35 | 36 | void NullChannel::setProperty(const std::string&, const std::string&) 37 | { 38 | } 39 | 40 | 41 | } // namespace Poco 42 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/NullStream.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // NullStream.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Streams 6 | // Module: NullStream 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/NullStream.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | NullStreamBuf::NullStreamBuf() 22 | { 23 | } 24 | 25 | 26 | NullStreamBuf::~NullStreamBuf() 27 | { 28 | } 29 | 30 | 31 | int NullStreamBuf::readFromDevice() 32 | { 33 | return -1; 34 | } 35 | 36 | 37 | int NullStreamBuf::writeToDevice(char c) 38 | { 39 | return charToInt(c); 40 | } 41 | 42 | 43 | NullIOS::NullIOS() 44 | { 45 | poco_ios_init(&_buf); 46 | } 47 | 48 | 49 | NullIOS::~NullIOS() 50 | { 51 | } 52 | 53 | 54 | NullInputStream::NullInputStream(): std::istream(&_buf) 55 | { 56 | } 57 | 58 | 59 | NullInputStream::~NullInputStream() 60 | { 61 | } 62 | 63 | 64 | NullOutputStream::NullOutputStream(): std::ostream(&_buf) 65 | { 66 | } 67 | 68 | 69 | NullOutputStream::~NullOutputStream() 70 | { 71 | } 72 | 73 | 74 | } // namespace Poco 75 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Pipe.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Pipe.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: Pipe 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Pipe.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | Pipe::Pipe(): 22 | _pImpl(new PipeImpl) 23 | { 24 | } 25 | 26 | 27 | Pipe::Pipe(const Pipe& pipe): 28 | _pImpl(pipe._pImpl) 29 | { 30 | _pImpl->duplicate(); 31 | } 32 | 33 | 34 | Pipe::~Pipe() 35 | { 36 | _pImpl->release(); 37 | } 38 | 39 | 40 | Pipe& Pipe::operator = (const Pipe& pipe) 41 | { 42 | if (this != &pipe) 43 | { 44 | _pImpl->release(); 45 | _pImpl = pipe._pImpl; 46 | _pImpl->duplicate(); 47 | } 48 | return *this; 49 | } 50 | 51 | 52 | void Pipe::close(CloseMode mode) 53 | { 54 | switch (mode) 55 | { 56 | case CLOSE_READ: 57 | _pImpl->closeRead(); 58 | break; 59 | case CLOSE_WRITE: 60 | _pImpl->closeWrite(); 61 | break; 62 | default: 63 | _pImpl->closeRead(); 64 | _pImpl->closeWrite(); 65 | break; 66 | } 67 | } 68 | 69 | 70 | } // namespace Poco 71 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/PipeImpl.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/PipeImpl.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) 19 | #if defined(_WIN32_WCE) 20 | #include "PipeImpl_DUMMY.cpp" 21 | #else 22 | #include "PipeImpl_WIN32.cpp" 23 | #endif 24 | #elif defined(POCO_OS_FAMILY_UNIX) 25 | #include "PipeImpl_POSIX.cpp" 26 | #else 27 | #include "PipeImpl_DUMMY.cpp" 28 | #endif 29 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/PipeImpl_DUMMY.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // PipeImpl_DUMMY.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: PipeImpl 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/PipeImpl_DUMMY.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | PipeImpl::PipeImpl() 22 | { 23 | } 24 | 25 | 26 | PipeImpl::~PipeImpl() 27 | { 28 | } 29 | 30 | 31 | int PipeImpl::writeBytes(const void* buffer, int length) 32 | { 33 | return 0; 34 | } 35 | 36 | 37 | int PipeImpl::readBytes(void* buffer, int length) 38 | { 39 | return 0; 40 | } 41 | 42 | 43 | PipeImpl::Handle PipeImpl::readHandle() const 44 | { 45 | return 0; 46 | } 47 | 48 | 49 | PipeImpl::Handle PipeImpl::writeHandle() const 50 | { 51 | return 0; 52 | } 53 | 54 | 55 | void PipeImpl::closeRead() 56 | { 57 | } 58 | 59 | 60 | void PipeImpl::closeWrite() 61 | { 62 | } 63 | 64 | 65 | } // namespace Poco 66 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/RWLock.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // RWLock.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: RWLock 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/RWLock.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) 19 | #if defined(_WIN32_WCE) 20 | #include "RWLock_WINCE.cpp" 21 | #else 22 | #include "RWLock_WIN32.cpp" 23 | #endif 24 | #elif POCO_OS == POCO_OS_ANDROID 25 | #include "RWLock_Android.cpp" 26 | #elif defined(POCO_VXWORKS) 27 | #include "RWLock_VX.cpp" 28 | #else 29 | #include "RWLock_POSIX.cpp" 30 | #endif 31 | 32 | 33 | namespace Poco { 34 | 35 | 36 | RWLock::RWLock() 37 | { 38 | } 39 | 40 | 41 | RWLock::~RWLock() 42 | { 43 | } 44 | 45 | 46 | } // namespace Poco 47 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/RWLock_Android.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // RWLock_Android.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: RWLock 7 | // 8 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/RWLock_Android.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | RWLockImpl::RWLockImpl() 22 | { 23 | pthread_mutexattr_t attr; 24 | pthread_mutexattr_init(&attr); 25 | if (pthread_mutex_init(&_mutex, &attr)) 26 | { 27 | pthread_mutexattr_destroy(&attr); 28 | throw SystemException("cannot create mutex"); 29 | } 30 | pthread_mutexattr_destroy(&attr);} 31 | 32 | 33 | RWLockImpl::~RWLockImpl() 34 | { 35 | pthread_mutex_destroy(&_mutex); 36 | } 37 | 38 | 39 | } // namespace Poco 40 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/RWLock_POSIX.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // RWLock_POSIX.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: RWLock 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/RWLock_POSIX.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | RWLockImpl::RWLockImpl() 22 | { 23 | if (pthread_rwlock_init(&_rwl, NULL)) 24 | throw SystemException("cannot create reader/writer lock"); 25 | } 26 | 27 | 28 | RWLockImpl::~RWLockImpl() 29 | { 30 | pthread_rwlock_destroy(&_rwl); 31 | } 32 | 33 | 34 | } // namespace Poco 35 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/RWLock_VX.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // RWLock_VX.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: RWLock 7 | // 8 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/RWLock_VX.h" 16 | #include 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | RWLockImpl::RWLockImpl() 23 | { 24 | #if defined(POCO_VXWORKS) 25 | // This workaround is for VxWorks 5.x where 26 | // pthread_mutex_init() won't properly initialize the mutex 27 | // resulting in a subsequent freeze in pthread_mutex_destroy() 28 | // if the mutex has never been used. 29 | std::memset(&_mutex, 0, sizeof(_mutex)); 30 | #endif 31 | pthread_mutexattr_t attr; 32 | pthread_mutexattr_init(&attr); 33 | if (pthread_mutex_init(&_mutex, &attr)) 34 | { 35 | pthread_mutexattr_destroy(&attr); 36 | throw SystemException("cannot create mutex"); 37 | } 38 | pthread_mutexattr_destroy(&attr); 39 | } 40 | 41 | 42 | RWLockImpl::~RWLockImpl() 43 | { 44 | pthread_mutex_destroy(&_mutex); 45 | } 46 | 47 | 48 | } // namespace Poco 49 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/RefCountedObject.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // RefCountedObject.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Core 6 | // Module: RefCountedObject 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/RefCountedObject.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | RefCountedObject::RefCountedObject(): _counter(1) 22 | { 23 | } 24 | 25 | 26 | RefCountedObject::~RefCountedObject() 27 | { 28 | } 29 | 30 | 31 | } // namespace Poco 32 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Runnable.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Runnable.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Thread 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Runnable.h" 16 | #include "Poco/Thread.h" 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | Runnable::Runnable() 23 | { 24 | } 25 | 26 | 27 | Runnable::~Runnable() 28 | { 29 | } 30 | 31 | 32 | } // namespace Poco 33 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Semaphore.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Semaphore.h" 16 | 17 | 18 | #if defined(POCO_OS_FAMILY_WINDOWS) 19 | #include "Semaphore_WIN32.cpp" 20 | #elif defined(POCO_VXWORKS) 21 | #include "Semaphore_VX.cpp" 22 | #else 23 | #include "Semaphore_POSIX.cpp" 24 | #endif 25 | 26 | 27 | namespace Poco { 28 | 29 | 30 | Semaphore::Semaphore(int n): SemaphoreImpl(n, n) 31 | { 32 | } 33 | 34 | 35 | Semaphore::Semaphore(int n, int max): SemaphoreImpl(n, max) 36 | { 37 | } 38 | 39 | 40 | Semaphore::~Semaphore() 41 | { 42 | } 43 | 44 | 45 | } // namespace Poco 46 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Semaphore_VX.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Semaphore_VX.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: Semaphore 7 | // 8 | // Copyright (c) 2004-2011, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Semaphore_VX.h" 16 | #include 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | SemaphoreImpl::SemaphoreImpl(int n, int max) 23 | { 24 | poco_assert (n >= 0 && max > 0 && n <= max); 25 | 26 | _sem = semCCreate(SEM_Q_PRIORITY, n); 27 | if (_sem == 0) 28 | throw Poco::SystemException("cannot create semaphore"); 29 | } 30 | 31 | 32 | SemaphoreImpl::~SemaphoreImpl() 33 | { 34 | semDelete(_sem); 35 | } 36 | 37 | 38 | void SemaphoreImpl::waitImpl() 39 | { 40 | if (semTake(_sem, WAIT_FOREVER) != OK) 41 | throw SystemException("cannot wait for semaphore"); 42 | } 43 | 44 | 45 | bool SemaphoreImpl::waitImpl(long milliseconds) 46 | { 47 | int ticks = milliseconds*sysClkRateGet()/1000; 48 | return semTake(_sem, ticks) == OK; 49 | } 50 | 51 | 52 | } // namespace Poco 53 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/SharedMemory_DUMMY.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // SharedMemoryImpl.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Processes 6 | // Module: SharedMemoryImpl 7 | // 8 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/SharedMemory_DUMMY.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | SharedMemoryImpl::SharedMemoryImpl(const std::string&, std::size_t, SharedMemory::AccessMode, const void*, bool) 22 | { 23 | } 24 | 25 | 26 | SharedMemoryImpl::SharedMemoryImpl(const Poco::File&, SharedMemory::AccessMode, const void*) 27 | { 28 | } 29 | 30 | 31 | SharedMemoryImpl::~SharedMemoryImpl() 32 | { 33 | } 34 | 35 | 36 | } // namespace Poco 37 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Stopwatch.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Stopwatch.cpp 3 | // 4 | // Library: Foundation 5 | // Package: DateTime 6 | // Module: Stopwatch 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Stopwatch.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | Stopwatch::Stopwatch(): _elapsed(0), _running(false) 22 | { 23 | } 24 | 25 | 26 | Stopwatch::~Stopwatch() 27 | { 28 | } 29 | 30 | 31 | Clock::ClockDiff Stopwatch::elapsed() const 32 | { 33 | if (_running) 34 | { 35 | Clock current; 36 | return _elapsed + (current - _start); 37 | } 38 | else 39 | { 40 | return _elapsed; 41 | } 42 | } 43 | 44 | 45 | void Stopwatch::reset() 46 | { 47 | _elapsed = 0; 48 | _running = false; 49 | } 50 | 51 | 52 | void Stopwatch::restart() 53 | { 54 | _elapsed = 0; 55 | _start.update(); 56 | _running = true; 57 | } 58 | 59 | 60 | } // namespace Poco 61 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/StreamChannel.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // StreamChannel.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Logging 6 | // Module: StreamChannel 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/StreamChannel.h" 16 | #include "Poco/Message.h" 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | StreamChannel::StreamChannel(std::ostream& str): _str(str) 23 | { 24 | } 25 | 26 | 27 | StreamChannel::~StreamChannel() 28 | { 29 | } 30 | 31 | 32 | void StreamChannel::log(const Message& msg) 33 | { 34 | FastMutex::ScopedLock lock(_mutex); 35 | 36 | _str << msg.getText() << std::endl; 37 | } 38 | 39 | 40 | } // namespace Poco 41 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/SynchronizedObject.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // SynchronizedObject.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: SynchronizedObject 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/SynchronizedObject.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | SynchronizedObject::SynchronizedObject() 22 | { 23 | } 24 | 25 | 26 | SynchronizedObject::~SynchronizedObject() 27 | { 28 | } 29 | 30 | 31 | } // namespace Poco 32 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/ThreadTarget.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // ThreadTarget.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Threading 6 | // Module: ThreadTarget 7 | // 8 | // Copyright (c) 2008, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/ThreadTarget.h" 16 | 17 | 18 | namespace Poco { 19 | 20 | 21 | ThreadTarget::ThreadTarget(Callback method): _method(method) 22 | { 23 | } 24 | 25 | 26 | ThreadTarget::ThreadTarget(const ThreadTarget& te): _method(te._method) 27 | { 28 | } 29 | 30 | 31 | ThreadTarget& ThreadTarget::operator = (const ThreadTarget& te) 32 | { 33 | _method = te._method; 34 | return *this; 35 | } 36 | 37 | 38 | ThreadTarget::~ThreadTarget() 39 | { 40 | } 41 | 42 | 43 | } // namespace Poco 44 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Timezone.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Timezone.cpp 3 | // 4 | // Library: Foundation 5 | // Package: DateTime 6 | // Module: Timezone 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Timezone.h" 16 | #include 17 | 18 | 19 | #if defined(POCO_OS_FAMILY_WINDOWS) 20 | #if defined(_WIN32_WCE) 21 | #include "Timezone_WINCE.cpp" 22 | #else 23 | #include "Timezone_WIN32.cpp" 24 | #endif 25 | #elif defined(POCO_VXWORKS) 26 | #include "Timezone_VX.cpp" 27 | #else 28 | #include "Timezone_UNIX.cpp" 29 | #endif 30 | 31 | 32 | namespace Poco { 33 | 34 | 35 | int Timezone::tzd() 36 | { 37 | return utcOffset() + dst(); 38 | } 39 | 40 | 41 | } // namespace Poco 42 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/URIStreamFactory.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // URIStreamFactory.cpp 3 | // 4 | // Library: Foundation 5 | // Package: URI 6 | // Module: URIStreamFactory 7 | // 8 | // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/URIStreamFactory.h" 16 | #include 17 | 18 | 19 | namespace Poco { 20 | 21 | 22 | URIStreamFactory::URIStreamFactory() 23 | { 24 | } 25 | 26 | 27 | URIStreamFactory::~URIStreamFactory() 28 | { 29 | } 30 | 31 | 32 | URIRedirection::URIRedirection(const std::string& uri): 33 | _uri(uri) 34 | { 35 | } 36 | 37 | 38 | URIRedirection::URIRedirection(const URIRedirection& redir): 39 | _uri(redir._uri) 40 | { 41 | } 42 | 43 | 44 | URIRedirection& URIRedirection::operator = (const URIRedirection& redir) 45 | { 46 | URIRedirection tmp(redir); 47 | swap(tmp); 48 | return *this; 49 | } 50 | 51 | 52 | void URIRedirection::swap(URIRedirection& redir) 53 | { 54 | std::swap(_uri, redir._uri); 55 | } 56 | 57 | 58 | } // namespace Poco 59 | -------------------------------------------------------------------------------- /contrib/poco/Foundation/src/Unicode.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Unicode.cpp 3 | // 4 | // Library: Foundation 5 | // Package: Text 6 | // Module: Unicode 7 | // 8 | // Copyright (c) 2007, Applied Informatics Software Engineering GmbH. 9 | // and Contributors. 10 | // 11 | // SPDX-License-Identifier: BSL-1.0 12 | // 13 | 14 | 15 | #include "Poco/Unicode.h" 16 | 17 | 18 | extern "C" 19 | { 20 | #include "pcre_config.h" 21 | #include "pcre_internal.h" 22 | } 23 | 24 | 25 | namespace Poco { 26 | 27 | 28 | void Unicode::properties(int ch, CharacterProperties& props) 29 | { 30 | if (ch > UCP_MAX_CODEPOINT) ch = 0; 31 | const ucd_record* ucd = GET_UCD(ch); 32 | props.category = static_cast(_pcre_ucp_gentype[ucd->chartype]); 33 | props.type = static_cast(ucd->chartype); 34 | props.script = static_cast