Exemplo n.º 1
0
int
ecore_config_ipc_send(Ecore_Config_Ipc_Server_List ** srv_list, int major,
                      int minor, void *data, int size)
{
  Ecore_Config_Ipc_Server_List *tmp = *srv_list;
  static int      ref = 0;
  int             ret;

  if (!srv_list)
    return ECORE_CONFIG_ERR_FAIL;
  if (!*srv_list)
    return ECORE_CONFIG_ERR_NODATA;
  ret = ECORE_CONFIG_ERR_NODATA;

  if (size < 0)
    size = data ? strlen(data) + 1 : 0;

  while (tmp) {
    ret =
      ecore_ipc_server_send(tmp->srv, major, minor, ++ref, 0, 0, data, size);
    tmp = tmp->next;
  }
  E(2, "exsh: we sent: %2d.%02d  #%03d  \"%s\".%d  =>  %d\n",
    major, minor, ref, (char *) data, size, ret);

  if ((debug >= 2) && (size > 0))
    print_data(data, size);
#ifdef EXSH
  ecore_main_loop_begin();
#endif
  return ECORE_CONFIG_ERR_SUCC;
}
Exemplo n.º 2
0
int entropy_notify_loop(void* data) {
	entropy_notification_engine* notify = (entropy_notification_engine*)data;
	entropy_notify_event* next;

	
	void* (*call_func)(void* arg);

	ecore_list_first_goto (notify->op_queue);
	if ( (next = ecore_list_next(notify->op_queue)) ) {
		next->processed = 1;

		
		/*printf ("*************************************** Notify loop - Processing event..\n");	*/
		/*printf("Calling function '%s'\n", next->function);*/
		call_func = dlsym(next->plugin->dl_ref, next->function);	
		next->return_struct = (*call_func)(next->data);

		/*Relock to remove next*/
		ecore_list_first_remove(notify->op_queue);

		ecore_list_append(notify->exe_queue, next);

		ecore_ipc_server_send(notify->server, ENTROPY_IPC_EVENT_CORE, 6, 0, 0, 0, NULL, 0);
	} else {
	}
		

	return 1;
}
Exemplo n.º 3
0
/* Eon callbacks */
static void _mutation_cb(const Ekeko_Object *o, Ekeko_Event *ev, void *data)
{
	Ekeko_Event_Mutation *em = (Ekeko_Event_Mutation *)ev;
	Object *ob = (Object *)data;

	printf("[REMOTE] changing property %s %s\n", em->prop, ekeko_object_type_name_get(o));
	/* TODO only do this on the curr state, not post */
	ecore_ipc_server_send(rdoc->srv, 2, em->prop_id, ob->id, 0, 0, NULL, 0);
}
Exemplo n.º 4
0
void
_e_fm_main_catch(unsigned int val)
{
   char buf[64];

   snprintf(buf, sizeof(buf), "%u", val);
   ecore_ipc_server_send(_e_fm_ipc_server,
                         6 /*E_IPC_DOMAIN_FM*/,
                         E_FM_OP_INIT,
                         0, 0, 0, buf, strlen(buf) + 1);
}
Exemplo n.º 5
0
/*Writers*/
void
evfs_write_ecore_ipc_server_message(Ecore_Ipc_Server * server,
                                    ecore_ipc_message * msg)
{

   ecore_ipc_server_send(server, msg->major, msg->minor, msg->ref, msg->ref_to,
                         msg->response, msg->data, msg->len);
   /*printf("Sent %d, %d, %d, %d, %d, - data %p, size %d\n", msg->major, msg->minor, msg->ref, msg->ref_to,
                         msg->response, msg->data, msg->len);*/
   free(msg->data);
   free(msg);

}
Exemplo n.º 6
0
static Eina_Bool
_e_fm_main_eeze_vol_mount_timeout(E_Volume *v)
{
   char *buf;
   int size;

   v->guard = NULL;
   eeze_disk_cancel(v->disk);
   size = _e_fm_main_eeze_format_error_msg(&buf, v, "org.enlightenment.fm2.MountTimeout", "Unable to mount the volume with specified time-out.");
   ecore_ipc_server_send(_e_fm_ipc_server, 6 /*E_IPC_DOMAIN_FM*/, E_FM_OP_MOUNT_ERROR,
                         0, 0, 0, buf, size);
   free(buf);

   return ECORE_CALLBACK_CANCEL;
}
Exemplo n.º 7
0
static void * object_create(Ekeko_Object *o)
{
	Object *ob;
	char *name;
	printf("[REMOTE] Object created %s\n", ekeko_object_type_name_get(o));

	ob = malloc(sizeof(Object));
	ob->o = o;
	ob->id = _ids++;

	name = ekeko_object_type_name_get(o);
	ecore_ipc_server_send(rdoc->srv, 0, 0, 0, 0, 0, name, strlen(name) + 1);
	ekeko_event_listener_add(o, EKEKO_EVENT_PROP_MODIFY, _mutation_cb, EINA_FALSE, ob);
	/* TODO register a callback on every property change */
	/* TODO register a callback on every tree change */
	return ob;
}