* directoryiterator: Fix missing inline
Add missing inline to inline function.
This was found with clang-tidy check: misc-definitions-in-headers
* Convert deprecated throw() to noexcept
throw() has been deprecated in standar in C++17. It has been removed in
C++20. Code still compiles but let's just define these at those should
be.
These where found with clang-tidy check: modernize-use-noexcept
* Fix unnecessary copy initializations
Clang-tidy did find these with check:
performance-unnecessary-copy-initialization
* Fix some strings not references
Looks like these are just missing reference marks.
---------
Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
* Remove _WIN32_WCE macro
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.
* Remove WinCE support from build files
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. Remove all
references from build systems / scripts.
* Remove Windows CE related source and header files
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.
* Remove wcelibcex folder
Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.
* Remove rest Windows CE mentions
There where some Windows CE mentions left. Remove those.
* Update Windows CE documentation
We should keep documentation some time so people can find reason for
remove.
---------
Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
* GH #569: Cherry pick and correct code from devel-experimental.
* GH #569: Add missing timezone codes.
* enh(Foundation): DateTimeParser: stricter checks of timezones, more tests for invalid inputs. (#569)
* enh(Foundation): Small fixes of issues detected by CodeQL
---------
Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
* add sendfile method for streamsocket
* add mswsock.lib to the project files and templates
* remove /DPOCO_NO_AUTOMATIC_LIBS for cmake windows build
* merge from upstream
* merge from upstream
* fix code stile
add NotImplemented exception for unsupported platforms
exculude <sys/sendfile.h> for POCO_EMSCRIPTEN, because https://
github.com/emscripten-core/emscripten/pull/16234
* add iostream include for std::cout
* fix compilation for emscripten (wrap sendfile)
* Merge remote-tracking branch 'jackywoo/add_self_to_path' into 2282-path-self
* fix(Foundation): minor code cleanup. #2282
* enh(Foundation): Windows unit test for Path::self and exception for non-implemented platform.
* fix(Foundation): Path::self() throws SystemException when the path can't be acquired. #2282
Co-developed-by: Jackie Woo <wuchienchao@qq.com>
Co-developed-by: Matej Kenda <matejken@gmail.com>
* Made it possible to use lowercase hex numbers, also when encoding JSON (#3102)
Co-authored-by: Thomas Weyn <Thomas.Weyn@cebir.be>
* fix(JSONString): Remove deprecated toJSON functions #4305
* fix(NumericString): conversions inconsistencies #4304
---------
Co-authored-by: Archipel <thomas@weynwebworks.com>
Co-authored-by: Thomas Weyn <Thomas.Weyn@cebir.be>
SplitterChannel::addChannel() should only add a channel once to the internal vector. This prevents issues where the channel is accidentally added twice but only removed once because removeChannel stops at the first result. (#4270)
* add visitor pattern implementation for Poco::Dynamic::Var
* add changes to Makefile and vcxproj for VarVisitor
* resolve review comments Poco::Dynamic::Var
---------
Co-authored-by: Alexander B <bas524@ya.ru>
* Fix pthread_setname not declared #4063
* Fix include prctl.h for specific OS #4063
* Fix getThreadName for specific OS #4063
---------
Co-authored-by: root <root@debian-gnu-linux-11.localdomain>
Co-authored-by: Pavle <pavle@debian-gnu-linux-11.localdomain>
* Complimentary to #3918
I think that we can use Poco::Mutex and Poco::FastMutex as wrappers for std::recursive_mutex and std::mutex instead of replacing
For using std::*mutexes switch on cmake-option POCO_ENABLE_STD_MUTEX
* add define POCO_ENABLE_STD_MUTEX to the Config.h
remove empty if-else from CMakeLists.txt
Consider following situation. A class owns a timer. In destructor of that class we call .cancel() asynchronous on timer before it's destruction.
Now timer is executing cancel in it's own internal thread, while it's doing that destructor of timer is called from owner's destructor. Timer destructor enqueues stop notification. If that enqueue is happening just after while loop from cancel notification, stop notification is gonna be dropped and timer will never stop.
Fix: Add new method in TimedNotificationQueue which will return a notification regardless of the time it needs to be executed.
Get number of pending tasks in the queue. Flush out that many notifications from queue while taking special consideration of pending Stop and Cancel notifications.
Add test for new method in TimedNotificationQueue and fix cancel all tests to actually check if notification got executed.
fixes#3986
* Binary writer/reader: add writeCString and readCString.
* MongoDB::Database: add queryBuildInfo and queryServerHello; add WireVersion enum.
* MongoDB: Introduce OpMsgMessage (request and reply) and related changes in Connection, Database, MessageHeader.
* MongoDB: First unit test changes for OpMsgMessage.
* MongoDB::Document: new functions addNewArray and remove.
* MongoDB: OP_MSG unacknowledged write and many improvements
* MongoDB: new cursor using OP_MSG
* MongoDB: bunch of new tests for OP_MSG wire protocol.
* BinaryWriter::WriteCString: use write instead of operator <<.
* MongoDB::OpMsgCursor: Slightly modified prototype code for using moreToCome flag.
* MongoDB: Add OpMsg* files to Makefiles.
* MongoDB: Add OpMsg* files to VS project files.
* Compile fixes.
* MongoDB::Database: Add factory function for database commands createOpMsgMessage() and cursors createOpMsgCursor()