39 Commits

Author SHA1 Message Date
Ian Geiser
4689564c4c Fixes for MSVC 2019 2021-08-03 16:38:46 +02:00
Ian Reinhart Geiser
804cf6b7cd Fix for #35 2021-05-07 08:36:07 +02:00
Dawid Drozd
d7c9690cc7 Fix Travis build
- Update Travis
- Fix option
- Update Catch2 required version to 2.10
2020-01-02 12:48:14 +01:00
Dawid Drozd
59683ebd08 Add tsan asan lsan msan ubsan build types
For testing and development
2019-12-29 15:02:03 +01:00
Dawid Drozd
c5756e24a8 Update needed c++ version 2019-12-29 15:00:20 +01:00
Dawid Drozd
2bc2858a8a New EventBus 3.0 2019-12-27 11:24:34 +01:00
Dawid Drozd
7e6bb32e27 Update CXX_STANDARD to C++17 and minimum required cmake version to 3.11 2019-06-30 14:14:43 +02:00
Dawid Drozd
1156e0adfa Remove not needed cpack config
This was previously moved to lib/CMakeLists.txt
[PATCH]
2019-04-21 14:34:50 +02:00
Dawid Drozd
9fe2ae68f1
Merge branch 'master' into master 2019-04-21 13:14:30 +02:00
Aang23
afc8cea23c Update and fix CPack 2019-04-12 13:19:16 +02:00
Aang23
427652522e Split and update CPack configuration 2019-04-11 21:05:56 +02:00
Aang23
1146cebc55 Split and update CPack configuration 2019-04-11 10:33:58 +02:00
Dawid Drozd
bc466a3d6b Update dev project cmake 2019-03-30 15:28:17 +01:00
Dawid Drozd
7cf4465168 Add AsyncEventBus
Now it is possible to schedule events from different threads.
2018-09-08 19:56:19 +02:00
Dawid Drozd
3688c145cb Reorganize project structure
commit f7dd4172cf535cf52601a8819cf5c8bfabcd1fe4
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 31 10:26:27 2018 +0200

    Improve Travis script

    Fixed after reordering project structure

commit d054e5c91762da15defa458404e355d7c670e301
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Mon Jul 30 15:11:21 2018 +0200

    Update Travis CI for linux and OSX

commit 63395f5a7e3dd9f2a52b2d6a254da89ec1d6e5e9
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Fri Jul 27 14:38:40 2018 +0200

    Secure EventBus from wrong usage

    For example user previously could do such thing:

    bus.listen<const MyEvent>(...)

    bus.listen<MyEvent>(...)

    Those we 2 different events :/

commit f9195316d3ba6313ee425e3194b65b32fe52d641
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Thu Jul 26 12:44:17 2018 +0200

    Update for better managing Debug/Release

    Updated project for easy switch between debug/release versions of library

    Thanks to that we can do only find_package and don't have to care about if's switching between
    debug/release

    Thanks: https://github.com/forexample/package-example

commit 7d708959d9e96176875ca882f0f69a72622added
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Wed Jul 25 13:45:55 2018 +0200

    Update clang-format style

commit beb1d3b863379490f321e43f3e42ab272954ea67
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 16:05:16 2018 +0200

    Add some docs

commit ca450dfeee2d4bc604bbb9bf0599f373c21a4173
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 15:49:52 2018 +0200

    Remove not needed includes

commit 6473b80e8e60408675bcc4adc88653390576c4bd
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 15:41:57 2018 +0200

    Code format

commit 8abb56e1dd4b71df2b05bb34bef0530567e4ff2e
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 15:41:40 2018 +0200

    Improve performance

    Thanks to that we don't need RTTI

commit 1feacbb1f9ae6a5ac2209a6dc1df5c868ead8fd4
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 15:14:16 2018 +0200

    Remove trash

commit b5dc5c05589b969dd61eb65b68e4cdce69c5a5fb
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 15:00:15 2018 +0200

    Fix include path

commit 9939fd09805191f0bdada6cb85193a291d519116
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 14:51:02 2018 +0200

    Update install lib

commit 9eaa09f9ec5a29045b03ffc7632878863a2b2b9b
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 14:50:47 2018 +0200

    Fix

commit 7a5b3323af0b728f7e511ac22ff5027c6d06402e
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 14:16:12 2018 +0200

    Update README

commit beb6599ee4385fdffc747dc866db46e160be1358
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 14:16:05 2018 +0200

    Add performance compare to Poco::NotifactionCenter

commit 1d25b997580a9ee09c9db86135b4ca9e1b1a10c6
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 14:14:08 2018 +0200

    Update clang-format

commit 4f4cb4a7e8a849c067a42085eb3e76c3df894bc7
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 13:04:30 2018 +0200

    Remove bad flag

    It is only working for GCC

commit 66a7945084607f94d9d0c803008398e8d281fd06
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 13:03:15 2018 +0200

    Remove deprecated stuff

    It was breaking encapsulation

commit 1e7500607b42bff3632250f623888b95a503dfd0
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 13:01:37 2018 +0200

    Update sample

commit 11a146bb9145fa55f9b9a39a9e033387007a7151
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 13:01:27 2018 +0200

    Add clang-format rules

commit 685562c632d9751f50a2f05b92ef9ebf53a5d6e0
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 12:47:10 2018 +0200

    Reorganize project layout

    Inspired by: https://www.youtube.com/watch?v=6sWec7b0JIc

commit 40d1d6487814730533d7dd7cbedbaf2b4e34ef19
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 12:45:55 2018 +0200

    Remove Catch2 submodule

    Switch to own dependency

commit ca21df04f392adcb027a5b4f25ffac085b51f48c
Author: Dawid Drozd <dawid.drozd@mobica.com>
Date:   Tue Jul 24 11:28:51 2018 +0200

    Remove old code
2018-07-31 11:33:35 +02:00
Pierre Salmon
1e4858e9bc Fix Windows compilation error 2018-02-14 11:34:42 +01:00
Dawid Drozd
caec657b07 Fix GCC compile 2017-12-07 12:07:24 +01:00
Dawid Drozd
b41c6254ff Update compile flags 2017-12-05 13:14:20 +01:00
Dawid Drozd
636b63865d Fix compiler flags 2017-12-04 13:46:51 +01:00
Dawid Drozd
6660828175 Bump version to 2.2.0
Break back compatibility of EventCollector::getBus
2017-11-24 12:55:33 +01:00
Dawid Drozd
951d3f1e42 Enable testing by variable 2017-11-24 12:40:16 +01:00
Dawid Drozd
5c8da7fe1c Bump version to 2.1.4 2017-09-20 20:42:21 +02:00
Dawid Drozd
4064cec28b Remove compile options from library
In some cases using flag:`D_GLIBCXX_DEBUG` will cause some memory corruption
errors. For example our executable will link to this library without
`D_GLIBCXX_DEBUG` flag on it self.

Do not investigate it deeply but probably hardcoding compile options in library
isn't good idea.
2017-09-20 19:50:33 +02:00
Dawid Drozd
caddfc98b8 Bump version to 2.1.3 2017-09-10 15:03:49 +02:00
Dawid Drozd
c4f0b8b233 Update cmake flags 2017-09-10 13:05:36 +02:00
Dawid Drozd
a936e3ecd2 Fix cmake for OSX 2017-09-01 16:15:31 +02:00
Dawid Drozd
7a48102d0b Disable test/ and performance sub dirs
Something is failing on OSX during cmake generation
2017-08-29 12:18:45 +02:00
Dawid Drozd
9126286acc Add transaction safety
Fix case when during notification we start add/remove listeners.
2017-08-27 22:59:40 +02:00
Dawid Drozd
fc1dbe335f Update EventBus to 2.1.0 inspired by Boost::MSM
I was wondering if it is a good step for EventBus. Of course, it will break back
compatibility again as well as it was when changing v1 -> v2, but this change is
smaller. Those changes were inspired by Boost::MSM how it handles events.

Why i decided to change:

+ It will prevent from bugs like typo in Event string eg. Event<int>{"text"}
+ If we want to change signature of Event, we won't have to update all listeners
and their signature
+ Less includes for listener. Simply in our class header we will have eg.
pointer/ref to event type not to all args
+ Strongly typed (this is always better)
+ Storing event for future reuse
+ More easy to introduce thread safe EventBus in future
+ EventBus is more simple
+ const Event forbids some kind of communication. Eg. passing and modifying
reference
+ Less errors when using std::bind

- Breaking back compatibility
- Need fixes in projects that using this lib
- Someone can add methods etc. to Event :(
- We can't generate easily multiple "types" of events like in 'for' loop
- Worst performance (still not such bad as CCNotificationCenter)
2017-08-26 13:28:45 +02:00
Dawid Drozd
23ab070061 Add EventBus::notify for simple strings 2017-08-25 16:02:25 +02:00
Dawid Drozd
be3218aa33 Update required version of cmake from 3.6 to 3.2 2017-08-15 20:40:39 +02:00
Dawid Drozd
ffbf4b91a9 Update compile flags 2017-08-06 17:13:00 +02:00
Dawid Drozd
94973b5779 EventBus 2.0.0 2017-08-06 11:22:59 +02:00
Dawid Drozd
1db41d903a Add new implementation of EventBus
Simply new version breaks back compability and simply is better ;)
2017-08-06 00:14:35 +02:00
Dawid Drozd
919bc90579 Add sample performance test 2017-08-05 13:27:35 +02:00
Dawid Drozd
7b81d56794 Add some unit tests 2017-08-05 12:15:33 +02:00
Dawid Drozd
0514ffd2db Improve library as standalone 2017-08-05 02:31:42 +02:00
Dawid Drozd
0d890ce99f Move sources to library folder
No code changes only moving
2017-08-04 23:52:21 +02:00
Dawid Drozd
d92ee2fe8f Add CMakeLists 2017-08-04 23:50:35 +02:00