7 Commits

Author SHA1 Message Date
Dawid Drozd
74d3b3ee60 Improve BusAttorney 2017-11-24 12:54:17 +01:00
Dawid Drozd
3ddb5ac7c5 Improve Event::Collector::getBus
Some of people make such thing:

listener.getBus().listen<T>()...

And they thought that listening with our listener.
So need to fix bad conceptual mistake.
2017-11-24 12:42:50 +01:00
Dawid Drozd
f7ab55a3fa Add EventCollector::getBus
We need sometimes to access to the bus. Also thanks to this we can reduce 1
field
2017-08-27 19:53:29 +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
2d14ca521d Update documentation and naming 2017-08-06 17:24:13 +02:00
Dawid Drozd
94973b5779 EventBus 2.0.0 2017-08-06 11:22:59 +02:00
Dawid Drozd
0514ffd2db Improve library as standalone 2017-08-05 02:31:42 +02:00