166 Commits

Author SHA1 Message Date
Dawid Drozd
2a360f4576 Fix running tests for Travis 2017-11-24 12:54:33 +01:00
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
951d3f1e42 Enable testing by variable 2017-11-24 12:40:16 +01:00
Dawid Drozd
5c8da7fe1c Bump version to 2.1.4 v2.1.4 2017-09-20 20:42:21 +02:00
Dawid Drozd
155c93ccd1 Update README with sample usage 2017-09-20 20:42:01 +02:00
Dawid Drozd
f3bcba75fe Add sample project 2017-09-20 19:54:02 +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
6333823bcf Fix format 2017-09-20 19:45:08 +02:00
Dawid Drozd
caddfc98b8 Bump version to 2.1.3 v2.1.3 2017-09-10 15:03:49 +02: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
8c6b5bb3f8 Update gitignore 2017-09-10 14:01:26 +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
0d34eb9041 Fix nested transaction
Quick fix for now. Probably we need better solution.
2017-08-28 22:54:11 +02:00
Dawid Drozd
9126286acc Add transaction safety
Fix case when during notification we start add/remove listeners.
v2.1.2
2017-08-27 22:59:40 +02:00
Dawid Drozd
fb8e1ea745 Add experimental EventBus that isn't transaction safe 2017-08-27 22:29:40 +02: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)
v2.1.0
2017-08-26 13:28:45 +02:00
Dawid Drozd
23ab070061 Add EventBus::notify for simple strings v2.0.1 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
c4b9fcd3de Update README.md v2.0.0 2017-08-20 21:03:19 +02:00
Dawid Drozd
d7f9727a55 Update README 2017-08-15 21:53:35 +02:00
Dawid Drozd
cdae9b54c3 Update README 2017-08-15 21:50:49 +02:00
Dawid Drozd
8c56ebf7e7 Update travis.yml 2017-08-15 21:48:15 +02:00
Dawid Drozd
8f0b5f3b08 Fix test 2017-08-15 21:48:09 +02:00
Dawid Drozd
df155bf897 Update travis.yml 2017-08-15 21:26:23 +02:00
Dawid Drozd
4f384bb0e7 Update travis.yml 2017-08-15 21:14:33 +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
2324408844 Add Travis CI 2017-08-15 20:35:56 +02:00
Dawid Drozd
71530ac7f5 Fix warnings from clang 2017-08-15 20:26:38 +02:00
Dawid Drozd
8f28876fd0 Add chat with gitter 2017-08-13 14:37:19 +02:00
Dawid Drozd
dc12c1c532 Update README 2017-08-06 18:16:41 +02:00
Dawid Drozd
910f9816e8 Refactoring 2017-08-06 17:30:06 +02:00
Dawid Drozd
2d14ca521d Update documentation and naming 2017-08-06 17:24:13 +02:00
Dawid Drozd
4c667c7c46 Update performance README 2017-08-06 17:14:29 +02:00
Dawid Drozd
e8f84a6e09 Update minimum cpp version 2017-08-06 17:14:14 +02:00
Dawid Drozd
fe92d55eb0 Remove duplicated performance test
Removing old test that was used to compare with EventBus v1.x
2017-08-06 17:13:53 +02:00
Dawid Drozd
ffbf4b91a9 Update compile flags 2017-08-06 17:13:00 +02:00
Dawid Drozd
a46362bc6b Update README 2017-08-06 16:32:09 +02:00
Dawid Drozd
94973b5779 EventBus 2.0.0 2017-08-06 11:22:59 +02:00
Dawid Drozd
630e220d43 Remove old Notifier aka EventBus v1.x 2017-08-06 10:51:07 +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
2cb0e6e60f Update gitignore 2017-08-05 19:39:41 +02:00
Dawid Drozd
356ba4f145 Update performance tests 2017-08-05 19:39:20 +02:00
Dawid Drozd
919bc90579 Add sample performance test 2017-08-05 13:27:35 +02:00
Dawid Drozd
be3d01c717 Add benchmark google library v1.2.0 2017-08-05 12:22:42 +02:00
Dawid Drozd
7b81d56794 Add some unit tests 2017-08-05 12:15:33 +02:00