Commit Graph

347 Commits

Author SHA1 Message Date
d62599fb8e review fixes 2025-08-12 13:57:06 +03:00
edb077b400 PIThreadPoolLoopNW test 2025-06-03 20:15:00 +03:00
65d3168eb5 PICout::withExternalBufferAnd decomposed to PICout::withExternalBufferAndID and PICout::withExternalBufferAnd
PIString::toPercentageEncoding/fromPercentageEncoding
piStringify()
PIHTTPClient support arguments
some doc
2024-11-26 18:26:02 +03:00
58b3fa64bc http server fix 2024-11-25 15:00:42 +03:00
1acaf24df9 PIHTTPServer basic auth works 2024-11-24 23:23:08 +03:00
dff4f2b3a0 add http_client library, using libcurl
take out common http entities to http_common dir
2024-11-23 17:54:22 +03:00
caa7880cc4 get rid of piForeach
apply some code analyzer recommendations
ICU flag now check if libicu exists
prepare for more accurate growth of containers (limited PoT, then constantly increase size)
2024-11-20 20:01:47 +03:00
c9a5ddd89f PIProtectedVariable - user now can`t mistake
PIHTTPServer improvements
2024-11-18 11:11:19 +03:00
ee137b2820 http server options, remove old 2024-11-15 14:18:49 +03:00
cdde340efe add microhttpd server 2024-11-14 18:15:27 +03:00
0840d807a0 add PIReadWriteLock, PIReadLocker and PIWriteLocker 2024-11-13 13:56:16 +03:00
4655d72554 new class PISemaphore
doc for PIProtectedVariable
2024-11-12 18:50:22 +03:00
5b066cbc27 add PIProtectedVariable 2024-11-10 21:28:59 +03:00
57f8c1313e first release of translation facility
* runtime - loading and translating
 * design-time - works with *.ts file (pip_tr utility)
 * compile-time - CMake macro for compile *.ts
2024-11-05 13:49:00 +03:00
73ed51e3d4 translations: multi-line and special symbols support 2024-11-03 18:12:32 +03:00
b43158d3a8 add PIString::lineNumber() method
add ""_tr literal to translate string by PITranslator
add pip_tr util, now useless, only can generate *.ts
add qt_support internal lib, now only works with *.ts file
pip_vtt migrate to qt_support
2024-11-03 14:39:42 +03:00
9a928f6feb add PITranslator
begin localization "ru"
2024-11-02 18:43:30 +03:00
cd7e053fc5 version 4.2.0
move toStdFunction() to pibase.h
refactor PIParseHelper, now it much more abstract and useful
fix PIIODevice::createFromFullPath() when whitespaces at start or end are presence
PIStreamPacker add events for start and end packet receive
PIClientServer::ClientBase add virtual methods for start and end packet receive. also one can enable diagnostics with enableDiagnostics() method
PICout now call flush() on each end of output
add PIString::entries(const PIString & str)
2024-10-15 12:02:18 +03:00
3641e636d2 new PIClientServer::ClientBase::stopAndWait() method for blocking stop read.
PIClientServer::ClientBase::close() now non-blocking
2024-09-21 19:56:39 +03:00
000ce2a54d PICout improvement:
* renamed private members for more clear code
 * registerExternalBufferID() method to obtain unique ID for withExternalBuffer()
 * PICoutManipulators::PICoutStdStream enum for select stream (stdout or stderr)
 * Constructors now accept optional stream
 * piCerr and piCerrObj macros

PIDir::temporary() moved to "mkdtemp"

PILog:
 * now 4 levels
 * you can set max level
 * Error writes to piCerr
2024-09-16 16:06:07 +03:00
7a945f47b1 PILog works 2024-09-13 23:05:24 +03:00
17b902ebcc add PIClientServer::Config, common configuration type for both sides, stream packer and encryption settings 2024-09-13 11:08:32 +03:00
996b7ea403 important:
* PIThread::~PIThread() now unregister itself from introspection, if terminates than show warning
 * PISystemMonitor now correctly stops
 * PIPeer now can correctly stopAndWait
 * PIPeer::destroy(), protected method for close all eths and threads
 * new PIINTROSPECTION_STOP macro
 * Introspection now can be correctly stopped by macro, more safety

ClientServer:
 * ClientBase::close() stop and disconnect channel
 * Server clients clean-up now event-based
 * No warnings on client destructor
2024-09-12 17:07:48 +03:00
da4b09be9e PIEthernet fix tcp-server close (properly delete all clients)
PIEthernet::stopThreadedListen() method
decompose client to 2 implementations - server-side and client-side
2024-09-11 21:41:55 +03:00
b24b5a1346 add encryption 2024-09-11 15:44:02 +03:00
0d94699206 first try, works 2024-09-11 10:18:45 +03:00
af8c096c7a PIStateMachine "addOnFinish" renamed to "setOnFinish" 2024-08-28 13:48:33 +03:00
e6c8714857 version 4.1.0
maybe fix hang on PIEthernet::interrupt()
replace piLetobe with piChangeEndian:
 * piChangeEndianBinary
 * piChangeBinary
 * piChangedBinary
PIDiagnostics::start now accept PISystemTime instead of number
add PITimer::start(PISystemTime, std::function<void()>) overload
2024-08-28 11:56:36 +03:00
33fc334077 PIStateMachine::postEvent() now thread-safe and can be recursive 2024-08-05 23:25:23 +03:00
7d02f710ea add PIPackedTCP 2024-08-02 14:43:42 +03:00
abdba6d68b state machine, parallel seems to work, final state and info about active atomic states 2024-07-17 21:11:01 +03:00
3db26a762c first state machine code, exclusive already works
need to make final, parallel, timeouts
2024-07-17 14:16:25 +03:00
d4a024ea75 remove harmful createPIPair() 2024-05-06 19:22:22 +03:00
04d3e31dbc PISet fix 2024-04-05 21:02:37 +03:00
f47bc411bc version 3.16.0
new PISystemTime::Frequency type
2024-03-05 17:55:25 +03:00
7efdacc979 main fix 2023-12-09 07:19:28 +03:00
b8fc44714c version 3.15.0 - improved pip_cmg and PICodeInfo storage
Important! changed API to access PICodeInfo storage
2023-12-08 16:14:18 +03:00
ac76e07d9d version 3.13.2 2023-07-14 22:14:02 +03:00
35aadb0e78 doc and brush 2023-07-04 13:08:37 +03:00
ccae1a7311 more literals, use some in PIP, small refactor PIThread::start (clang-format mistakes) 2023-07-02 14:02:10 +03:00
d1193e7aa1 version 3.12.1
add piliterals.h
2023-06-29 18:20:24 +03:00
1a214cff4e version 3.12.0
split pibase.h into 2 files
add PIScopeExitCall
2023-06-18 22:02:20 +03:00
badcfac616 some PIValueTree changes, fix PIVariantTypes::Enum::fromString 2022-12-15 13:05:15 +03:00
c2b8a8d6da code format 2022-12-14 14:13:52 +03:00
c74ba871cd pivariant, enum, tiny format 2022-12-13 21:44:06 +03:00
c4cb81a104 PIJSON::toJSON with optionally unicode masking
PIVariantTypes::Color::toName()
2022-12-08 13:21:11 +03:00
cf5284a244 color collection, now only CSS colors
PIVariantTypes::Color from/to string (with CSS names)
2022-12-05 19:16:48 +03:00
b25ecf42fb PIValueTreeConversions text, options
PIVariant fixes
2022-12-04 18:27:54 +03:00
5bb9477b5b PIVariant string conversions, PIDateTime::fromString 2022-11-30 22:40:28 +03:00
d3d2b4281c PIP_ADD_COUNTER now almost unique across different cpp
add PIValueTree
2022-11-28 14:41:12 +03:00