forked from enlightenment/enlightenment
parent
de934e4c55
commit
5111448060
|
@ -4,7 +4,6 @@
|
|||
#define _FILE_OFFSET_BITS 64
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __linux__
|
||||
#include <features.h>
|
||||
#endif
|
||||
|
@ -41,7 +40,6 @@
|
|||
//#include "e_fm_shared_c.h"
|
||||
#include "e_fm_op.h"
|
||||
|
||||
|
||||
#define DEF_SYNC_NUM 8
|
||||
#define DEF_ROUND_TRIP 0.05
|
||||
#define DEF_ROUND_TRIP_TOLERANCE 0.01
|
||||
|
@ -113,7 +111,6 @@ struct _E_Fm_Task
|
|||
int x, y;
|
||||
};
|
||||
|
||||
|
||||
/* local subsystem globals */
|
||||
Ecore_Ipc_Server *_e_fm_ipc_server = NULL;
|
||||
|
||||
|
@ -121,7 +118,6 @@ static Eina_List *_e_dirs = NULL;
|
|||
static Eina_List *_e_fops = NULL;
|
||||
static int _e_sync_num = 0;
|
||||
|
||||
|
||||
static Eina_List *_e_fm_ipc_slaves = NULL;
|
||||
static Eina_List *_e_fm_tasks = NULL;
|
||||
|
||||
|
@ -164,7 +160,6 @@ static void _e_fm_ipc_dir_del(E_Dir *ed);
|
|||
|
||||
static const char *_e_fm_ipc_prepare_command(E_Fm_Op_Type type, const char *args);
|
||||
|
||||
|
||||
/* local subsystem functions */
|
||||
int
|
||||
_e_fm_ipc_init(void)
|
||||
|
@ -462,6 +457,7 @@ _e_fm_ipc_task_remove(E_Fm_Task *task)
|
|||
_e_fm_ipc_file_mon_dir_del(&ted, task->src);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -540,13 +536,13 @@ _e_fm_ipc_handle_error_response(int id, E_Fm_Op_Type type)
|
|||
|
||||
case E_FM_OP_MONITOR_START:
|
||||
_e_fm_ipc_monitor_start_try(task);
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static Eina_Bool
|
||||
_e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event)
|
||||
{
|
||||
|
@ -561,17 +557,20 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
_e_fm_ipc_monitor_start(e->ref, e->data);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_MONITOR_END: /* monitor dir end */
|
||||
{
|
||||
// printf("End listing directory: %s\n", e->data);
|
||||
_e_fm_ipc_monitor_end(e->ref, e->data);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_REMOVE: /* fop delete file/dir */
|
||||
{
|
||||
_e_fm_ipc_slave_run(E_FM_OP_REMOVE, (const char *)e->data, e->ref);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_TRASH: /* fop trash file/dir */
|
||||
{
|
||||
E_Fop *fop;
|
||||
|
@ -586,21 +585,25 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_MOVE: /* fop mv file/dir */
|
||||
{
|
||||
_e_fm_ipc_slave_run(E_FM_OP_MOVE, (const char *)e->data, e->ref);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_COPY: /* fop cp file/dir */
|
||||
{
|
||||
_e_fm_ipc_slave_run(E_FM_OP_COPY, (const char *)e->data, e->ref);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_SYMLINK: /* fop ln -s */
|
||||
{
|
||||
_e_fm_ipc_slave_run(E_FM_OP_SYMLINK, (const char *)e->data, e->ref);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_MKDIR: /* fop mkdir */
|
||||
{
|
||||
const char *src, *rel;
|
||||
|
@ -615,6 +618,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
_e_fm_ipc_mkdir(e->ref, src, rel, rel_to, x, y);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_MOUNT: /* mount udi mountpoint */
|
||||
{
|
||||
E_Volume *v;
|
||||
|
@ -635,6 +639,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_UNMOUNT: /* unmount udi */
|
||||
{
|
||||
E_Volume *v;
|
||||
|
@ -649,6 +654,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_EJECT: /* eject udi */
|
||||
{
|
||||
E_Volume *v;
|
||||
|
@ -660,9 +666,11 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
e_volume_eject(v);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_QUIT: /* quit */
|
||||
ecore_main_loop_quit();
|
||||
break;
|
||||
|
||||
case E_FM_OP_MONITOR_SYNC: /* mon list sync */
|
||||
{
|
||||
Eina_List *l;
|
||||
|
@ -692,6 +700,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_ABORT: // abort copy/move/delete operation by user
|
||||
{
|
||||
E_Fm_Slave *slave = _e_fm_ipc_slave_get(e->ref);
|
||||
|
@ -699,6 +708,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
_e_fm_ipc_slave_send(slave, e->minor, NULL, 0);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_ERROR_RESPONSE_IGNORE_THIS:
|
||||
case E_FM_OP_ERROR_RESPONSE_IGNORE_ALL:
|
||||
case E_FM_OP_ERROR_RESPONSE_ABORT:
|
||||
|
@ -707,6 +717,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
_e_fm_ipc_handle_error_response(e->ref, e->minor);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_OVERWRITE_RESPONSE_NO:
|
||||
case E_FM_OP_OVERWRITE_RESPONSE_NO_ALL:
|
||||
case E_FM_OP_OVERWRITE_RESPONSE_YES:
|
||||
|
@ -715,6 +726,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
_e_fm_ipc_slave_send(_e_fm_ipc_slave_get(e->ref), e->minor, NULL, 0);
|
||||
}
|
||||
break;
|
||||
|
||||
case E_FM_OP_REORDER:
|
||||
{
|
||||
const char *file, *dst, *relative;
|
||||
|
@ -735,6 +747,7 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
_e_fm_ipc_reorder(file, dst, relative, after);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -749,7 +762,8 @@ _e_fm_ipc_cb_server_data(void *data __UNUSED__, int type __UNUSED__, void *event
|
|||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
||||
static int _e_fm_ipc_client_send(int id, E_Fm_Op_Type type, void *data, int size)
|
||||
static int
|
||||
_e_fm_ipc_client_send(int id, E_Fm_Op_Type type, void *data, int size)
|
||||
{
|
||||
return ecore_ipc_server_send(_e_fm_ipc_server,
|
||||
6 /*E_IPC_DOMAIN_FM*/,
|
||||
|
@ -757,7 +771,8 @@ static int _e_fm_ipc_client_send(int id, E_Fm_Op_Type type, void *data, int size
|
|||
id, 0, 0, data, size);
|
||||
}
|
||||
|
||||
static int _e_fm_ipc_slave_run(E_Fm_Op_Type type, const char *args, int id)
|
||||
static int
|
||||
_e_fm_ipc_slave_run(E_Fm_Op_Type type, const char *args, int id)
|
||||
{
|
||||
E_Fm_Slave *slave;
|
||||
const char *command;
|
||||
|
@ -776,10 +791,11 @@ static int _e_fm_ipc_slave_run(E_Fm_Op_Type type, const char *args, int id)
|
|||
|
||||
_e_fm_ipc_slaves = eina_list_append(_e_fm_ipc_slaves, slave);
|
||||
|
||||
return (!!slave->exe);
|
||||
return !!slave->exe;
|
||||
}
|
||||
|
||||
static E_Fm_Slave *_e_fm_ipc_slave_get(int id)
|
||||
static E_Fm_Slave *
|
||||
_e_fm_ipc_slave_get(int id)
|
||||
{
|
||||
Eina_List *l;
|
||||
E_Fm_Slave *slave;
|
||||
|
@ -793,7 +809,8 @@ static E_Fm_Slave *_e_fm_ipc_slave_get(int id)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
static int _e_fm_ipc_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size)
|
||||
static int
|
||||
_e_fm_ipc_slave_send(E_Fm_Slave *slave, E_Fm_Op_Type type, void *data, int size)
|
||||
{
|
||||
char *sdata;
|
||||
int ssize;
|
||||
|
@ -1004,7 +1021,6 @@ _e_fm_ipc_cb_recent_clean(void *data)
|
|||
return ECORE_CALLBACK_CANCEL;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
_e_fm_ipc_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing)
|
||||
{
|
||||
|
@ -1064,7 +1080,8 @@ _e_fm_ipc_file_add_mod(E_Dir *ed, const char *path, E_Fm_Op_Type op, int listing
|
|||
else return;
|
||||
}
|
||||
if ((lnk) && (lnk[0] != '/')) rlnk = ecore_file_realpath(path);
|
||||
else if (lnk) rlnk = strdup(lnk);
|
||||
else if (lnk)
|
||||
rlnk = strdup(lnk);
|
||||
if (!lnk) lnk = strdup("");
|
||||
if (!rlnk) rlnk = strdup("");
|
||||
|
||||
|
@ -1407,3 +1424,4 @@ _e_fm_ipc_prepare_command(E_Fm_Op_Type type, const char *args)
|
|||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue