Commit Graph
100 Commits
Author SHA1 Message Date
peri4 12114b3e77 old curl fix 2024-11-25 16:02:40 +03:00
peri4 6f6b717354 pip_test 2024-11-25 15:53:12 +03:00
peri4 58b3fa64bc http server fix 2024-11-25 15:00:42 +03:00
peri4 1acaf24df9 PIHTTPServer basic auth works 2024-11-24 23:23:08 +03:00
peri4 c2c9822169 fix FindPIP.cmake 2024-11-23 17:55:59 +03:00
peri4 dff4f2b3a0 add http_client library, using libcurl
take out common http entities to http_common dir
2024-11-23 17:54:22 +03:00
peri4 bf9ad65ff0 take out "asize" from vector/dequeue to picontainers.h->calcNewSize()
minAlloc and maxPoTAlloc now can be override from CMake by PIP_CONTAINERS_MIN_ALLOC and PIP_CONTAINERS_MAX_POT_ALLOC variables
2024-11-21 20:15:18 +03:00
peri4 53ec75bf0c remove junk 2024-11-21 16:31:40 +03:00
peri4 f5270d75eb multi-utf16 fix 2024-11-21 16:28:19 +03:00
peri4 4aa596b179 last commit error 2024-11-21 00:18:57 +03:00
peri4 002f21fc9e version 4.4.1 2024-11-21 00:10:35 +03:00
peri4 9ab46e4afc version 4.4.1
PIVector and PIDeque now growth to 64 MiB with PoT, then increments size by 64 MiB
in case of large containers it significantly save memory
2024-11-21 00:10:14 +03:00
peri4 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
peri4 24112498ce new method PILog::readAllLogs 2024-11-18 22:47:02 +03:00
peri4 c9a5ddd89f PIProtectedVariable - user now can`t mistake
PIHTTPServer improvements
2024-11-18 11:11:19 +03:00
peri4 3483edbd76 Merge pull request 'refactoring PICrypt, add PIStreamPackerConfig, delete piclientserver_config' (#184) from pisteampackerconfig into master
Reviewed-on: #184
2024-11-16 15:44:15 +03:00
peri4 f6b9131f4a test excluded for android 2024-11-15 17:14:19 +03:00
peri4 c67f7a2b64 log fix 2024-11-15 16:23:48 +03:00
peri4 047d38ea59 http includes 2024-11-15 15:47:56 +03:00
peri4 3d07795515 add_custom_command(... pip_lang) on ninja brings to resursive cmake and ninja call ( 2024-11-15 15:43:03 +03:00
peri4 ee137b2820 http server options, remove old 2024-11-15 14:18:49 +03:00
peri4 cdde340efe add microhttpd server 2024-11-14 18:15:27 +03:00
peri4 ee34e8a72e doc 2024-11-13 16:32:21 +03:00
peri4 0840d807a0 add PIReadWriteLock, PIReadLocker and PIWriteLocker 2024-11-13 13:56:16 +03:00
peri4 4655d72554 new class PISemaphore
doc for PIProtectedVariable
2024-11-12 18:50:22 +03:00
peri4 5b066cbc27 add PIProtectedVariable 2024-11-10 21:28:59 +03:00
peri4 2247473959 PICodeParser namespace fix 2024-11-07 15:43:13 +03:00
peri4 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
peri4 73ed51e3d4 translations: multi-line and special symbols support 2024-11-03 18:12:32 +03:00
peri4 1106cde3e4 return tr for PIString 2024-11-03 14:41:31 +03:00
peri4 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
peri4 9a928f6feb add PITranslator
begin localization "ru"
2024-11-02 18:43:30 +03:00
peri4 df75efe881 version 4.3.2
fix PIKbdListener wheel on Windows
2024-11-02 14:15:09 +03:00
peri4 9f1d23ad8e version 4.3.1
PICodeParser now works with multi-line macros
2024-10-23 19:11:46 +03:00
peri4 7cd2f7a310 PIBinaryStream supports PISet 2024-10-21 13:47:28 +03:00
peri4 7209eec012 author 2024-10-19 17:08:15 +03:00
peri4 992f59904a more documentation 2024-10-19 17:07:45 +03:00
peri4 9dbd7210cb PILog documentation 2024-10-19 16:58:12 +03:00
peri4 28f3471036 version 4.3.0 2024-10-16 22:29:57 +03:00
peri4 d3d7235338 enable complex type for PIMathVectorT and PIMathMatrixT
TODO: add precision to invert and test vector
2024-10-16 22:10:28 +03:00
peri4 92a87a0c64 picloud add "-w" option for watchdog 2024-10-15 15:04:39 +03:00
peri4 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
peri4 9eecbbab6e new method PIClientServer::Server::closeAll()
PISignals::releaseSignals()
2024-09-24 18:57:50 +03:00
peri4 3641e636d2 new PIClientServer::ClientBase::stopAndWait() method for blocking stop read.
PIClientServer::ClientBase::close() now non-blocking
2024-09-21 19:56:39 +03:00
peri4 4acab04895 PILog ready to use 2024-09-19 17:26:58 +03:00
peri4 aa963a4bda PIEthernet on error close disconnect 2024-09-17 16:50:22 +03:00
peri4 bdd18b614f PIEthernet more accuracy construct
PIThread windows fix
2024-09-17 16:11:18 +03:00
peri4 e186e0adff shorter thread names 2024-09-17 15:58:06 +03:00
peri4 f105f616f6 PIThread more accurate end, PIEthernet tcpserver client no reinit 2024-09-17 13:22:20 +03:00
peri4 eb97de1413 close 2024-09-17 11:21:23 +03:00
peri4 97f1c25ff8 close 2024-09-17 11:15:50 +03:00
peri4 97aad47a21 some fixes 2024-09-16 23:32:01 +03:00
peri4 43bd1d8550 Merge remote-tracking branch 'remotes/origin/tests_client_server' into test 2024-09-16 19:58:26 +03:00
peri4 224412e20a PIDir::temporary fix 2024-09-16 16:24:11 +03:00
peri4 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
peri4 9d4357c066 PIVector2D =() fix 2024-09-15 16:50:15 +03:00
peri4 7a945f47b1 PILog works 2024-09-13 23:05:24 +03:00
peri4 9a352bfc83 add PISystemTime::toFrequency(), add PILog 2024-09-13 18:00:48 +03:00
peri4 aa2f117075 finalize module 2024-09-13 13:37:09 +03:00
peri4 bf5bb45771 decompose, add new main group "Application"
PICLI code brush
2024-09-13 13:31:31 +03:00
peri4 cdc966bd8c Merge pull request 'client_server' (#181) from client_server into master
Reviewed-on: #181
2024-09-13 12:12:10 +03:00
peri4 17b902ebcc add PIClientServer::Config, common configuration type for both sides, stream packer and encryption settings 2024-09-13 11:08:32 +03:00
peri4 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
peri4 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
peri4 b24b5a1346 add encryption 2024-09-11 15:44:02 +03:00
peri4 0d94699206 first try, works 2024-09-11 10:18:45 +03:00
peri4 16a818c95e picloud hang fix try :`-( 2024-09-06 08:05:26 +03:00
peri4 a0454b809d change to private section 2024-08-28 17:21:11 +03:00
peri4 af8c096c7a PIStateMachine "addOnFinish" renamed to "setOnFinish" 2024-08-28 13:48:33 +03:00
peri4 14cf81aed0 remove void piLetobe(T * v) 2024-08-28 13:17:38 +03:00
peri4 c43b914fb3 PIMemoryBlock fix 2024-08-28 12:19:57 +03:00
peri4 f002f6cedd PIMemoryBlock fix 2024-08-28 12:19:37 +03:00
peri4 ce846eca51 fix deprecated message 2024-08-28 11:58:58 +03:00
peri4 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
peri4 33fc334077 PIStateMachine::postEvent() now thread-safe and can be recursive 2024-08-05 23:25:23 +03:00
peri4 6efc962923 in my opinion, PIStateMachine is ready to real work 2024-08-04 20:26:39 +03:00
peri4 7d02f710ea add PIPackedTCP 2024-08-02 14:43:42 +03:00
peri4 c8876807ed fix unidemponetial behaviour with PIP version 2024-07-30 17:21:30 +03:00
peri4 f43f834460 !! 2024-07-30 14:48:00 +03:00
peri4 ccf6b810b5 -librt is still need... 2024-07-30 14:41:54 +03:00
peri4 a438c4249d version fix 2024-07-30 14:26:07 +03:00
peri4 1c7fc39b6c version 4.0.0_alpha
in almost all methods removed timeouts in milliseconds, replaced to PISystemTime
PITimer rewrite, remove internal impl, now only thread implementation, API similar to PIThread
PITimer API no longer pass void*
PIPeer, PIConnection improved stability on reinit and exit
PISystemTime new methods
pisd now exit without hanging
2024-07-30 14:18:02 +03:00
peri4 f07c9cbce8 add timeout transition 2024-07-28 20:16:52 +03:00
peri4 abdba6d68b state machine, parallel seems to work, final state and info about active atomic states 2024-07-17 21:11:01 +03:00
peri4 3db26a762c first state machine code, exclusive already works
need to make final, parallel, timeouts
2024-07-17 14:16:25 +03:00
peri4 b35561f74e doc fix 2024-07-17 14:14:38 +03:00
peri4 f041d1435e PIIODevice::waitThreadedReadFinished now periodically (100 ms) call interrupt() 2024-07-10 18:36:29 +03:00
peri4 b781bd5148 PIBroadcast fix 2024-07-10 16:56:40 +03:00
peri4 a16e0b7659 substitution fix 2024-07-09 21:47:18 +03:00
peri4 0bafd3fa98 PIValueTree improvements: methods with path (recursive), forEachRecursive()
PIValueTreeConvertions::fromTextFile now can include other files and handle ${} substitutions
2024-07-09 21:44:30 +03:00
peri4 903b320629 version 3.21.0
add PISystemTime overload for thread/timer/io classes
2024-07-09 16:32:27 +03:00
peri4 9cd05996e7 version 3.20.0 2024-06-07 00:22:44 +03:00
peri4 15dc76c4a7 1 2024-06-06 22:06:40 +03:00
peri4 d46b5e008a try to fix cloud again 2024-06-01 22:27:39 +03:00
peri4 af4b718053 PIValueTree::contains fix for null entry 2024-05-22 15:15:32 +03:00
peri4 7eae1e127c PIBroadcast polishing 2024-05-14 21:01:53 +03:00
peri4 f97fed7daa string append more protection 2024-05-13 22:29:22 +03:00
peri4 d4a024ea75 remove harmful createPIPair() 2024-05-06 19:22:22 +03:00
peri4 491d89f117 version 3.19.0
PIMathVectorT subvector methods
PISystemTime::isNull()
PISystemTime::Frequency::isNull()
PISystemTime::toString()
PISystemTime::fromString()
PIVariant can handle strings with PISystemTime
PIDateTime::toSystemTime() now returns null time from invalid strings
2024-05-05 00:17:52 +03:00
peri4 a86e8f7b58 PIIOTextStream(PIString * string) now with mandatory Mode 2024-05-02 21:35:29 +03:00