Commit Graph
33 Commits
Author SHA1 Message Date
peri4 1b66ff527f PIInit - remove old V singleton V shit, migrate to modern STATIC_INITIALIZER, fix Windows locale
all PIP_HAS_*-derivated headers - #ifdef after basic includes
2026-09-06 21:42:26 +03:00
peri4 3da94abb2a PIInit refactoring, iteration 2
add to PISystemInfo processorsCount<P|E> fields, now counts only for Windows
Introspection public API works without PIP_HAS_THREADS
2026-09-06 10:41:53 +03:00
peri4 4df907ef10 CMake - add all flags to pip_defs.h
Introspection - revert *_p files, because they are external API for introspection, not internal
2026-09-05 23:09:38 +03:00
andrey fa7ff781fe refactor: use targeted includes (pibase_macros.h, piliterals_string.h) and guard <string> by PIP_HAS_RTTI 2026-08-31 19:12:38 +03:00
andrey 331ef49991 refactor: simplify redundant PIP_HAS_* preprocessor guards
- drop INTROSPECTION conjunctions (CMake dep table already forces THREADS+SOCKET)
- remove whole-file guards in client_server/process tests (CMake only compiles them when flags are ON)
- normalize single-flag '#if defined(PIP_HAS_X)' to '#ifdef PIP_HAS_X'
2026-08-25 16:57:20 +03:00
andrey 69b22bf95a feat: complete PIP_HAS_* feature guards in code and auto-generate flag summary
Guard PIConnection, thread primitives, PICodeParser and other feature
code behind PIP_HAS_THREADS/PIP_HAS_FILESYSTEM. In CMake generate the
feature flags summary from the single PIP_HAS_FLAGS list (used by the
add_definitions loop as well), default ICU to OFF and make introspection
also require PIP_HAS_SOCKET. Build system/thread test suites only when
the corresponding feature flags are enabled.
2026-08-25 11:14:25 +03:00
andrey 2605446573 refactor: rename __PIP_TYPENAME_DECLARE to PIP_REGISTER_TYPENAME, add PIP_DECLARE_TYPENAME macro
- Rename __PIP_TYPENAME_DECLARE to PIP_REGISTER_TYPENAME across all headers
- Add PIP_DECLARE_TYPENAME(name) macro for in-class type name declaration
- Replace all static const char * __pip_typename__() member functions with PIP_DECLARE_TYPENAME
2026-08-24 19:31:41 +03:00
andrey 86a1084ec1 feat: enforce no-RTTI type name registration with static_assert 2026-08-23 08:20:51 +03:00
andrey f6075307b6 style: run clang-format over all files 2026-08-22 15:52:58 +03:00
andrey 858d205fd3 fix: guard PIObject dump diagnostics by PIP_INTROSPECTION and drop PIP_FORCE_NO_PIINTROSPECTION
- invert friend block in piobject.h (friends needed when introspection
  is enabled) and remove dead friend PIObjectManager
- guard PIObject::dump()/dumpApplication()/dumpApplicationToFile()
  declarations and definitions by PIP_INTROSPECTION
  (dumpApplicationToFile additionally requires PIP_HAS_FILESYSTEM)
- guard dumpApplicationToFile() call in __sighandler__ by
  PIP_INTROSPECTION && PIP_HAS_FILESYSTEM
- replace '#if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION)'
  with plain '#ifdef PIP_INTROSPECTION' everywhere, remove PIP_FORCE_NO_PIINTROSPECTION
- fix broken PIINTROSPECTION_CONTAINER_ALLOC(T, (as - ...)) in
  pideque.h/pivector.h ('as' no longer exists, use new_rsize)
2026-08-22 13:44:58 +03:00
andrey 4e7a5d58aa Merge branch 'master' into pico_sdk 2026-03-29 12:28:36 +03:00
peri4 ed13838237 merged AI doc, some new pages 2026-03-12 14:46:57 +03:00
andrey cf89d77981 pip micro disable piintrospection piwaitevent
PIP_NO_SOCET
2025-10-18 11:20:18 +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 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 c2b8a8d6da code format 2022-12-14 14:13:52 +03:00
peri4 430a41fefc before formatting 2022-12-14 13:56:19 +03:00
Бычков Андрей 1eaecb288f PIMapIterators refactoring
PIChunkStream some refactoring
2022-08-05 17:05:56 +03:00
Бычков Андрей d13e68c206 threadedRead now const uchar *
pipacketextractor Header mode now more flexible
fix splitTime mode
more refactoring
add virtual override to functions
remove piforeach
replace 0 to nullptr
iterate over pimap via iterators
replace CONNECTU to CONNECT# with compile time check
2022-07-26 17:18:08 +03:00
peri4 a4882dc054 complex macros with ; 2022-07-25 11:18:09 +03:00
peri4 ef8ffcd02f DEPRECATED[M], createMemoryBlock(), text stream ... 2022-05-11 20:55:51 +03:00
peri4 0897a8369f macros rename 2022-05-11 16:49:33 +03:00
peri4 b2bc385397 PIByteArray works on binary stream 2022-05-10 15:23:18 +03:00
peri4 0f9e592273 start moving to binarystream 2022-05-10 12:26:05 +03:00
peri4 6881fd13b7 PIConstChars 2022-04-29 23:53:07 +03:00
peri4 c1c324a5a8 doc 2022-04-23 12:44:09 +03:00
peri4 9fa78a1dbf doc 2022-04-15 16:36:14 +03:00
peri4 4b32101de6 introspection major optimization 2022-04-15 01:31:22 +03:00
peri4 42e253adc7 PIIntrospection 2022-04-14 17:48:15 +03:00
peri4 d5c27b1181 doc groups 2022-04-06 20:11:47 +03:00
Andrey fff2aa468a PIP_FORCE_NO_PIINTROSPECTION 2022-02-11 12:00:34 +03:00
peri4 d71432136c resurrect and assertions 2021-06-09 11:32:28 +03:00
peri4 ccd6a9888f tree changes 2020-08-19 00:47:05 +03:00