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
02b45437b6
Update clang-format config file and reformat whole code according to it
...
- Clang-tidy applied
- No logic changes, just code style improvement.
2019-06-29 11:27:38 +02:00
Dawid Drozd
cf44a59ca3
Rename Dexode::Internal::type_id to Dexode::Internal::event_id
2019-06-29 11:10:02 +02:00
Dawid Drozd
2edc809a74
Update code format according to clang-format
...
No code changes
2019-03-30 15:31:18 +01:00
Dawid Drozd
0d2fa6ef85
Update required Catch2 to 2.6
2019-03-30 15:12:09 +01:00
Dawid Drozd
42c690e774
Fix gcc warning
2019-01-20 20:47:53 +01:00
Dawid Drozd
34902c481d
Fix type_id<T>() helper function for Visual Studio
...
Issue: #19
Visual Studio optimize not so portable version of type_id<T>()
so each time we get same id for different types.
Added small test to check this behavior in future.
2019-01-20 20:39:07 +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
3c282b5139
Update Catch2 to version at least 2.3
...
They broke target name ;(
2018-09-05 20:44:44 +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
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
c02c69c083
Add tests
2017-09-10 15:03:06 +02:00
Dawid Drozd
509bb577be
Update README
2017-09-10 14:32:21 +02:00
Dawid Drozd
c4f0b8b233
Update cmake flags
2017-09-10 13:05:36 +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
257cc90c86
Add test for checking validating different notifications keys
2017-08-25 11:38:13 +02:00
Dawid Drozd
8f0b5f3b08
Fix test
2017-08-15 21:48:09 +02:00
Dawid Drozd
2d14ca521d
Update documentation and naming
2017-08-06 17:24:13 +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
7b81d56794
Add some unit tests
2017-08-05 12:15:33 +02:00
Dawid Drozd
0012c21709
Add CATCH unit test library v1.9.6
2017-08-05 11:42:54 +02:00