summaryrefslogtreecommitdiff
path: root/components/rvi_common/include/rvi_common.hrl
blob: 5deff46c9d6c5fec17330823e878f9cb8205398f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
%%
%% Copyright (C) 2014, Jaguar Land Rover
%%
%% This program is licensed under the terms and conditions of the
%% Mozilla Public License, version 2.0.  The full text of the
%% Mozilla Public License is at https://www.mozilla.org/MPL/2.0/
%%

%% A record defining the modules to use
%% Used by rvi_common:request() to
%% figure out how to route an intra-component call

-define(COMP_SPEC_TYPE, list({ module(), gen_server | json_rpc, list()})).

-record(component_spec, {
	  service_edge :: ?COMP_SPEC_TYPE,
	  schedule :: ?COMP_SPEC_TYPE,
	  service_discovery :: ?COMP_SPEC_TYPE,
	  authorize :: ?COMP_SPEC_TYPE,
	  data_link :: ?COMP_SPEC_TYPE,
	  protocol :: ?COMP_SPEC_TYPE,
	  rvi_common :: ?COMP_SPEC_TYPE,
	  values = [] :: [{any(), any()}]
	 }).

-define(COMP_SPEC_SERVICE_EDGE_DEFAULT,      [ { service_edge_rpc, gen_server, [] } ]).
-define(COMP_SPEC_SCHEDULE_DEFAULT,          [ { schedule_rpc, gen_server, [] } ]).
-define(COMP_SPEC_SERVICE_DISCOVERY_DEFAULT, [ { service_discovery_rpc, gen_server, [] } ]).
-define(COMP_SPEC_AUTHORIZE_DEFAULT,         [ { authorize_rpc, gen_server, [] }]).
-define(COMP_SPEC_DATA_LINK_DEFAULT,         [ { dlink_tcp_rpc, gen_server, [] } ]).
-define(COMP_SPEC_PROTOCOL_DEFAULT,          [ { protocol, gen_server, [] } ]).
-define(COMP_SPEC_RVI_COMMON_DEFAULT,        [ { rvi_log, gen_server, [] } ]).