List of commits:
Subject Hash Author Date (UTC)
gen docs c9de816e21d2953c7ac4e73f0be3ccd440c84381 mucbuc 2020-02-12 14:13:08
rm twice-size dc7df761559ee90e089ff274290da3628f429a30 mucbuc 2020-02-12 13:43:34
update libs 177bc958e60841f894a4c9c4d5758db38e07a5c3 mucbuc 2020-02-12 13:22:59
once tests 9aae5bf8c8a46439e7b350c4166c1be22c6028bf mucbuc 2020-01-20 20:08:50
once a72a9ea4d78e082b0e4e6a8545af92e116bd7536 mucbuc 2020-01-20 17:32:34
dynamo 25b14b6965bb24b21516dde3f4a2a1922d518ae5 mucbuc 2020-01-20 17:27:35
concurrent test passes 2bd62976d536c8c81659453e899a2e9c588f4aa6 mucbuc 2020-01-20 12:54:46
update dynamo 3315ba6e643d56478aaf05761368d76e9025de79 mucbuc 2020-01-20 12:13:05
circular update 7545023e77dcb92f28612a62b6405cb488adddc8 mucbuc 2020-01-19 12:09:22
cleanup remove stuff abe9e96601cdfc558823e6d856d16dac8ad15929 mucbuc 2020-01-19 11:52:54
circut update 4d75370846cd93032a684b5193494273a9ba9da9 mucbuc 2020-01-19 11:50:21
dynamoe update 814d85ebb0c03dddfd2d804d404286cc01209687 mucbuc 2020-01-19 06:59:11
simplify interfiace f69d4f7a7c2c02125ac51ffb9d4ba41ed08f8646 mucbuc 2020-01-19 06:41:36
fix another test fd8e7fa14a4daa281e7fbcec875bfe56ce39e400 mucbuc 2020-01-18 22:42:40
working on tests 1b57cbb4e806eda21565dc8bd7e7fe7ff1cb5fff mucbuc 2020-01-18 22:36:15
fix test 8b364e739d1e12cd77b9f63efb0a245a75e695df mucbuc 2020-01-18 21:49:21
fix emit once 71aba1ef472aa23c9c9a8529b5258599a6289c16 mucbuc 2020-01-18 21:41:03
remove agentlifetime test ce0fba661c6110fc050203a1a8f9fedf39258615 mucbuc 2020-01-18 11:25:44
emit with arg passes 1b2288e8472b749c513120c441397a77298ab0b7 mucbuc 2020-01-17 10:58:28
dynamo update 7082792be9aa3ccb56b0afbddf58bdf468d56030 mucbuc 2020-01-17 05:32:03
Commit c9de816e21d2953c7ac4e73f0be3ccd440c84381 - gen docs
Author: mucbuc
Author date (UTC): 2020-02-12 14:13
Committer name: mucbuc
Committer date (UTC): 2020-02-12 14:13
Parent(s): dc7df761559ee90e089ff274290da3628f429a30
Signer:
Signing key:
Signing status: N
Tree: 31e88c9ea186d34e3768fd9005f73193b64d7bf8
File Lines added Lines deleted
README.md 47 8
package.json 2 0
File README.md changed (mode: 100644) (index 430ebb3..bac0e98)
1 ohm
2 =============
1 # ohm
3 2
4 C++ event dispatcher inspired by NodeJS EventEmitter
3 Local message broker
5 4
6 ##### Run Tests
5 ## Interface
7 6 ``` ```
8 cd ohm
9 npm install
10 npm run-script fetch
11 npm test
7 #ifndef EMITTER_H__iFZqmDoIwhGaYO3df4xe5LCQXrbBvj
8 #define EMITTER_H__iFZqmDoIwhGaYO3df4xe5LCQXrbBvj
9
10 #include <functional>
11 #include <map>
12 #include <memory>
13 #include <set>
14
15 #include <lib/dynamo/src/interface.h>
16
17 namespace om636 {
18 namespace control {
19
20 template <typename T, typename... U>
21 class Emitter {
22 public:
23 typedef T event_type;
24 typedef std::function<void(U...)> callback_type;
25 typedef std::shared_ptr<callback_type> listener_type;
26
27 virtual ~Emitter() = default;
28 virtual listener_type on(event_type, callback_type) = 0;
29 virtual listener_type once(event_type, callback_type) = 0;
30 virtual void interupt(event_type, U...) = 0;
31 };
32
33 template <typename T, typename... U>
34 class Quemitter : public Emitter<T, U...> {
35
36 public:
37 typedef Emitter<T, U...> base_type;
38 using typename base_type::callback_type;
39 using typename base_type::event_type;
40 using typename base_type::listener_type;
41
42 virtual ~Quemitter() = default;
43 virtual void emit(event_type, U...) = 0;
44 };
45
46 } //control
47 } // om636
48
49 #endif
50
12 51 ``` ```
13 52
File package.json changed (mode: 100644) (index 3933296..b170239)
1 1 { {
2 2 "name": "ohm", "name": "ohm",
3 3 "version": "0.0.0", "version": "0.0.0",
4 "description":"Local message broker",
4 5 "scripts": { "scripts": {
5 6 "test": "crimp test/tests.json -g", "test": "crimp test/tests.json -g",
7 "generateDocs":"doc-tool package_header src_interface > README.md",
6 8 "fetch": "npx plusi install" "fetch": "npx plusi install"
7 9 }, },
8 10 "devDependencies": { "devDependencies": {
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/mucbuc/ohm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/mucbuc/ohm

Clone this repository using git:
git clone git://git.rocketgit.com/user/mucbuc/ohm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main