summaryrefslogtreecommitdiff
path: root/src/ipc/media-thumb-ipc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipc/media-thumb-ipc.c')
-rwxr-xr-xsrc/ipc/media-thumb-ipc.c61
1 files changed, 60 insertions, 1 deletions
diff --git a/src/ipc/media-thumb-ipc.c b/src/ipc/media-thumb-ipc.c
index 3897c4a..23f9960 100755
--- a/src/ipc/media-thumb-ipc.c
+++ b/src/ipc/media-thumb-ipc.c
@@ -232,12 +232,20 @@ _media_thumb_recv_msg(int sock, int header_size, thumbMsg *msg)
return MEDIA_THUMB_ERROR_NONE;
}
-
+#ifdef _USE_UDS_SOCKET_
+int
+_media_thumb_recv_udp_msg(int sock, int header_size, thumbMsg *msg, struct sockaddr_un *from_addr, unsigned int *from_size)
+#else
int
_media_thumb_recv_udp_msg(int sock, int header_size, thumbMsg *msg, struct sockaddr_in *from_addr, unsigned int *from_size)
+#endif
{
int recv_msg_len = 0;
+#ifdef _USE_UDS_SOCKET_
+ unsigned int from_addr_size = sizeof(struct sockaddr_un);
+#else
unsigned int from_addr_size = sizeof(struct sockaddr_in);
+#endif
unsigned char *buf = NULL;
buf = (unsigned char*)malloc(sizeof(thumbMsg));
@@ -307,8 +315,14 @@ int
_media_thumb_request(int msg_type, media_thumb_type thumb_type, const char *origin_path, char *thumb_path, int max_length, media_thumb_info *thumb_info)
{
int sock;
+#ifdef _USE_UDS_SOCKET_
+ struct sockaddr_un serv_addr;
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ struct sockaddr_un serv_addr;
+#else
const char *serv_ip = "127.0.0.1";
struct sockaddr_in serv_addr;
+#endif
int recv_str_len = 0;
int err;
@@ -316,7 +330,13 @@ _media_thumb_request(int msg_type, media_thumb_type thumb_type, const char *orig
#ifdef _USE_MEDIA_UTIL_
+#ifdef _USE_UDS_SOCKET_
+ if (ms_ipc_create_client_socket(MS_PROTOCOL_TCP, MS_TIMEOUT_SEC_10, &sock, MS_THUMB_CREATOR_PORT) < 0) {
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ if (ms_ipc_create_client_tcp_socket(MS_PROTOCOL_TCP, MS_TIMEOUT_SEC_10, &sock, MS_THUMB_CREATOR_TCP_PORT) < 0) {
+#else
if (ms_ipc_create_client_socket(MS_PROTOCOL_TCP, MS_TIMEOUT_SEC_10, &sock) < 0) {
+#endif
thumb_err("ms_ipc_create_client_socket failed");
return MEDIA_THUMB_ERROR_NETWORK;
}
@@ -329,10 +349,24 @@ _media_thumb_request(int msg_type, media_thumb_type thumb_type, const char *orig
#endif
memset(&serv_addr, 0, sizeof(serv_addr));
+#ifdef _USE_UDS_SOCKET_
+ serv_addr.sun_family = AF_UNIX;
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ serv_addr.sun_family = AF_UNIX;
+#else
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr(serv_ip);
+#endif
+
#ifdef _USE_MEDIA_UTIL_
+#ifdef _USE_UDS_SOCKET_
+ strcpy(serv_addr.sun_path, "/tmp/media_ipc_thumbcreator.dat");
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ thumb_dbg("");
+ strcpy(serv_addr.sun_path, "/tmp/media_ipc_thumbcreator.dat");
+#else
serv_addr.sin_port = htons(MS_THUMB_CREATOR_PORT);
+#endif
#else
serv_addr.sin_port = htons(THUMB_DAEMON_PORT);
#endif
@@ -631,8 +665,14 @@ int
_media_thumb_request_async(int msg_type, media_thumb_type thumb_type, const char *origin_path, thumbUserData *userData)
{
int sock;
+#ifdef _USE_UDS_SOCKET_
+ struct sockaddr_un serv_addr;
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ struct sockaddr_un serv_addr;
+#else
const char *serv_ip = "127.0.0.1";
struct sockaddr_in serv_addr;
+#endif
int pid;
@@ -641,7 +681,13 @@ _media_thumb_request_async(int msg_type, media_thumb_type thumb_type, const char
}
#ifdef _USE_MEDIA_UTIL_
+#ifdef _USE_UDS_SOCKET_
+ if (ms_ipc_create_client_socket(MS_PROTOCOL_TCP, MS_TIMEOUT_SEC_10, &sock, MS_THUMB_CREATOR_PORT) < 0) {
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ if (ms_ipc_create_client_tcp_socket(MS_PROTOCOL_TCP, MS_TIMEOUT_SEC_10, &sock, MS_THUMB_CREATOR_TCP_PORT) < 0) {
+#else
if (ms_ipc_create_client_socket(MS_PROTOCOL_TCP, MS_TIMEOUT_SEC_10, &sock) < 0) {
+#endif
thumb_err("ms_ipc_create_client_socket failed");
return MEDIA_THUMB_ERROR_NETWORK;
}
@@ -659,10 +705,23 @@ _media_thumb_request_async(int msg_type, media_thumb_type thumb_type, const char
memset(&serv_addr, 0, sizeof(serv_addr));
+#ifdef _USE_UDS_SOCKET_
+ serv_addr.sun_family = AF_UNIX;
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ serv_addr.sun_family = AF_UNIX;
+#else
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr(serv_ip);
+#endif
+
#ifdef _USE_MEDIA_UTIL_
+#ifdef _USE_UDS_SOCKET_
+ strcpy(serv_addr.sun_path, "/tmp/media_ipc_thumbcreator.dat");
+#elif defined(_USE_UDS_SOCKET_TCP_)
+ strcpy(serv_addr.sun_path, "/tmp/media_ipc_thumbcreator.dat");
+#else
serv_addr.sin_port = htons(MS_THUMB_CREATOR_PORT);
+#endif
#else
serv_addr.sin_port = htons(THUMB_DAEMON_PORT);
#endif