Esempio n. 1
0
static int do_set_param(Request *req)
{
	u8 *name = g_buffer;
	char *content = (char *)g_buffer;
	int retv = 0;
	Section * section;
	Ack ack;

	retv = receive_text(name, req->dataSize);
	name[req->dataSize] = 0;
	APP_INFO("Section Name is : %s\n", (char *)name);
	section = find_section((char *)name);
	ack.info = ack.result = (NULL == section) ? -1 : 0;
	retv = send_text((u8 *)&ack, sizeof(ack));
	if (ack.result == -1) {
		APP_INFO("Section [%s] is not found!\n", (char *)name);
		return -1;
	}

	// Receive parameter settings
	retv = receive_text((u8 *)content, req->info);
	content[req->info] = 0;
	if (0) {
		APP_INFO("===== Parameter Setting is : \n%s", content);
	} else {
		APP_INFO("===== Parameter Setting is : \n%s", content);
		retv = mw_config_params(section->map, content);
		retv = (*section->set)(section->name);
		ack.result = ack.info = retv;
	}
	retv = send_text((u8 *)&ack, sizeof(ack));
	return retv;
}
Esempio n. 2
0
static int do_get_param(Request *req)
{
	u8 *name = g_buffer;
	char *content = (char *)g_buffer;
	int retv = 0;
	Section * section;
	Ack ack;

	// Get section name
	retv = receive_text(name, req->dataSize);
	name[req->dataSize] = 0;
	APP_INFO("Section Name is : %s\n", (char *)name);

	section = find_section((char *)name);
	if (NULL == section) {
		ack.result = -1;
		ack.info = -1;
		APP_INFO("Section [%s] is not found!\n", (char *)name);
		return send_text((u8 *)&ack, sizeof(ack));
	} else {
		retv = (*section->get)(section->name, req->info);
		retv = mw_output_params(section->map, &content);
		APP_INFO("\n%s\n", content);
		ack.result = retv;
		ack.info = strlen(content);
		send_text((u8 *)&ack, sizeof(ack));
		return send_text((u8 *)content, ack.info);
	}
}
static void
on_immediate_message (ModemSMSService *sms,
                      gchar const *message,
                      GHashTable *info,
                      gpointer _self)
{
  RingTextManager *self = RING_TEXT_MANAGER (_self);
  char const *sender;
  RingTextChannel *channel;

  g_return_if_fail (info != NULL);
  g_return_if_fail (message != NULL);

  sender = tp_asv_get_string (info, "Sender");
  g_return_if_fail (sender != NULL);

  channel = get_text_channel (self, sender, 0, 0);
  g_return_if_fail (channel != NULL);

  receive_text (self, channel, message, info, 0);
}
Esempio n. 4
0
static void main_loop(void)
{
#ifdef CONFIG_AMBARELLA_IMAGE_SERVER_DAEMON
	if (start_server() < 0) {
		APP_ERROR("start_server");
		return;
	}
#endif
	while (1) {
		if (connect_server() < 0)
			break;

		while (1) {
			Request req;
			if (receive_text((u8 *)&req, sizeof(req)) < 0)
				break;

			process_request(&req);
		}

		disconnect_server();
	}
}