Skip to content

Commit be0d741

Browse files
author
Lukasz Baj
committed
[SRC] Handle radio events
1 parent 0fe29da commit be0d741

File tree

2 files changed

+136
-4
lines changed

2 files changed

+136
-4
lines changed

metadata_input_netlink.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ static void md_input_netlink_radio_grr_cell_resel(struct md_input_netlink *min,
7777
free(event);
7878
}
7979

80-
static void md_input_netlink_radio_gsm_rr_cell_sel_reset_param(struct md_input_netlink *min,
80+
static void md_input_netlink_radio_gsm_rr_cell_sel_reset_param(struct md_input_netlink *min,
8181
struct json_object *obj)
8282
{
8383
struct md_radio_gsm_rr_cell_sel_reset_param_event *event = radio_gsm_rr_cell_sel_reset_param(obj);

metadata_input_zeromq.c

Lines changed: 135 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,140 @@ static void md_input_zeromq_handle_conn_event(struct md_input_zeromq *miz,
6767
mde_publish_event_obj(miz->parent, (struct md_event*) miz->mce);
6868
}
6969

70+
static void md_input_zeromq_radio_cell_loc_geran(struct md_input_zeromq *miz,
71+
struct json_object *obj)
72+
{
73+
struct md_radio_cell_loc_geran_event * event = radio_cell_loc_geran(obj);
74+
75+
if (!event)
76+
return;
77+
78+
mde_publish_event_obj(miz->parent, (struct md_event*) event);
79+
free(event);
80+
}
81+
82+
static void md_input_zeromq_radio_grr_cell_resel(struct md_input_zeromq *miz,
83+
struct json_object *obj)
84+
{
85+
struct md_radio_grr_cell_resel_event *event = radio_grr_cell_resel(obj);
86+
87+
if (!event)
88+
return;
89+
90+
mde_publish_event_obj(miz->parent, (struct md_event*) event);
91+
free(event);
92+
}
93+
94+
static void md_input_zeromq_radio_gsm_rr_cell_sel_reset_param(struct md_input_zeromq *miz,
95+
struct json_object *obj)
96+
{
97+
struct md_radio_gsm_rr_cell_sel_reset_param_event *event = radio_gsm_rr_cell_sel_reset_param(obj);
98+
99+
if (!event)
100+
return;
101+
102+
mde_publish_event_obj(miz->parent, (struct md_event*) event);
103+
free(event);
104+
}
105+
106+
static void md_input_zeromq_radio_gsm_rr_cipher_mode(struct md_input_zeromq *miz,
107+
struct json_object *obj)
108+
{
109+
struct md_radio_gsm_rr_cipher_mode_event *event = radio_gsm_rr_cipher_mode(obj);
110+
111+
if (!event)
112+
return;
113+
114+
mde_publish_event_obj(miz->parent, (struct md_event*) event);
115+
free(event);
116+
}
117+
118+
static void md_input_zeromq_radio_gsm_rr_channel_conf(struct md_input_zeromq *miz,
119+
struct json_object *obj)
120+
{
121+
struct md_radio_gsm_rr_channel_conf_event* event = radio_gsm_rr_channel_conf(obj);
122+
123+
if (!event)
124+
return;
125+
126+
mde_publish_event_obj(miz->parent, (struct md_event*) event);
127+
free(event);
128+
}
129+
130+
static void md_input_zeromq_radio_wcdma_rrc_state(struct md_input_zeromq *miz,
131+
struct json_object *obj)
132+
{
133+
struct md_radio_wcdma_rrc_state_event *event = radio_wcdma_rrc_state(obj);
134+
135+
if (!event)
136+
return;
137+
138+
mde_publish_event_obj(miz->parent, (struct md_event*) event);
139+
free(event);
140+
}
141+
142+
static void md_input_zeromq_radio_wcdma_cell_id(struct md_input_zeromq *miz,
143+
struct json_object *obj)
144+
{
145+
struct md_radio_wcdma_cell_id_event *event = radio_wcdma_cell_id(obj);
146+
147+
if (!event)
148+
return;
149+
150+
mde_publish_event_obj(miz->parent, (struct md_event*) event);
151+
free(event);
152+
}
153+
154+
static void md_input_zeromq_handle_radio_event(struct md_input_zeromq *miz,
155+
struct json_object *obj)
156+
{
157+
json_object *event_param_json;
158+
uint8_t event_param;
159+
160+
if (!json_object_object_get_ex(obj, "event_param", &event_param_json)) {
161+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "Missing event type\n");
162+
return;
163+
}
164+
165+
memset(miz->mre, 0, sizeof(struct md_radio_event));
166+
miz->mre->md_type = META_TYPE_RADIO;
167+
event_param = (uint8_t) json_object_get_int(event_param_json);
168+
169+
switch (event_param) {
170+
case RADIO_EVENT_GSM_RR_CIPHER_MODE:
171+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "GSM_RR_CIPHER_MODE\n");
172+
md_input_zeromq_radio_gsm_rr_cipher_mode(miz, obj);
173+
break;
174+
case RADIO_EVENT_GSM_RR_CHANNEL_CONF:
175+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "GSM_RR_CHANNEL_CONF\n");
176+
md_input_zeromq_radio_gsm_rr_channel_conf(miz, obj);
177+
break;
178+
case RADIO_EVENT_CELL_LOCATION_GERAN:
179+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "CELL_LOCATION_GERAN\n");
180+
md_input_zeromq_radio_cell_loc_geran(miz, obj);
181+
break;
182+
case RADIO_EVENT_GSM_RR_CELL_SEL_RESEL_PARAM:
183+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "GSM_RR_CELL_SEL_RESEL_PARAM\n");
184+
md_input_zeromq_radio_gsm_rr_cell_sel_reset_param(miz, obj);
185+
break;
186+
case RADIO_EVENT_GRR_CELL_RESEL:
187+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "GRR_CELL_RESEL\n");
188+
md_input_zeromq_radio_grr_cell_resel(miz, obj);
189+
break;
190+
case RADIO_EVENT_WCDMA_RRC_STATE:
191+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "WCDMA_RRC_STATE\n");
192+
md_input_zeromq_radio_wcdma_rrc_state(miz, obj);
193+
break;
194+
case RADIO_EVENT_WCDMA_CELL_ID:
195+
META_PRINT_SYSLOG(miz->parent, LOG_ERR, "WCDMA_CELL_ID\n");
196+
md_input_zeromq_radio_wcdma_cell_id(miz, obj);
197+
break;
198+
199+
default:
200+
break;
201+
}
202+
}
203+
70204
static int subscribe_for_topic(const char* topic, struct md_input_zeromq *miz)
71205
{
72206
size_t len = strlen(topic);
@@ -89,8 +223,6 @@ static void md_input_zeromq_handle_event(void *ptr, int32_t fd, uint32_t events)
89223
char buf[2048] = {0};
90224
zmq_recv(miz->zmq_socket, buf, 2048, 0);
91225

92-
META_PRINT_SYSLOG(miz->parent, LOG_DEBUG, "Received message: %s\n", buf);
93-
94226
json_msg = strchr(buf, '{');
95227
if (json_msg == NULL)
96228
{
@@ -145,7 +277,7 @@ static void md_input_zeromq_handle_event(void *ptr, int32_t fd, uint32_t events)
145277
//md_input_netlink_handle_gps_event(miz, zmqh_obj);
146278
break;
147279
case META_TYPE_RADIO:
148-
//md_input_netlink_handle_radio_event(miz, zmqh_obj);
280+
md_input_zeromq_handle_radio_event(miz, zmqh_obj);
149281
break;
150282
case META_TYPE_SYSTEM:
151283
//md_input_netlink_handle_system_event(miz, zmqh_obj);

0 commit comments

Comments
 (0)