summaryrefslogtreecommitdiffstats
path: root/src/core/ephraim_event_proxy.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ephraim_event_proxy.erl')
-rw-r--r--src/core/ephraim_event_proxy.erl27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/ephraim_event_proxy.erl b/src/core/ephraim_event_proxy.erl
new file mode 100644
index 0000000..4b0e35b
--- /dev/null
+++ b/src/core/ephraim_event_proxy.erl
@@ -0,0 +1,27 @@
+-module(ephraim_event_proxy).
+-behaviour(gen_event).
+
+-export([start/2]).
+-export([init/1, handle_event/2, handle_call/2, handle_info/2, terminate/2, code_change/3]).
+
+start(Account, EventManager) ->
+ gen_event:add_handler(ephraim_event_man, ?MODULE, {Account, EventManager}).
+
+init(State) ->
+ {ok, State}.
+
+handle_event({view_request, {account, Account, Event}}, {Account, EventManager}) ->
+ gen_event:notify(EventManager, {view_request, Event}),
+ {ok, {Account, EventManager}};
+
+handle_event(_Event, State) ->
+ {ok, State}.
+
+handle_call(_Msg, State) ->
+ {noreply, State}.
+handle_info(_Msg, State) ->
+ {ok, State}.
+terminate(_Reason, _State) ->
+ ok.
+code_change(_OldVersion, State, _Extra) ->
+ {ok, State}.