MS_MSG_SCANNER_READY, /**< Ready from media scanner */
MS_MSG_SCANNER_RESULT, /**< Result of directory scanning */
MS_MSG_SCANNER_BULK_RESULT, /**< Request bulk insert */
- MS_MSG_STORAGE_META, /**< Request updating meta data */
+ MS_MSG_STORAGE_META, /**< Request updating meta data */
MS_MSG_DIRECTORY_SCANNING_CANCEL, /**< Request cancel directory scan*/
MS_MSG_STORAGE_SCANNER_COMPLETE, /**< Storage Scanner complete */
MS_MSG_DIRECTORY_SCANNER_COMPLETE, /**< Directory Scanner complete */
- MS_MSG_DCM_SERVER_READY, /**< Ready from dcm server */
- MS_MSG_DCM_EXTRACT_ALL_DONE, /**< Done of all-dcm extracting */
MS_MSG_SCANNER_PARTIAL,
MS_MSG_SCANNER_COMPLETE,
MS_MSG_EXTRACTOR_COMPLETE,
} thumbMsg;
typedef struct {
- ms_msg_type_e msg_type;
-} ms_dcm_server_msg;
-
-typedef struct {
int msg_type;
int pid;
uid_t uid;
int result;
} dcmMsg;
+typedef enum {
+ DCM_MSG_REQUEST_MEDIA, /**< request single media extracting. msg from media server to dcm server*/
+ DCM_MSG_REQUEST_ALL_MEDIA, /**< request all media extracting. msg from media server to dcm server*/
+ DCM_MSG_REQUEST_CANCEL_FACE, /**< request cancel single media extracting. msg from media server to dcm server*/
+ DCM_MSG_REQUEST_KILL_SERVER, /**< request dcm server terminating. msg from media server to dcm server*/
+ DCM_MSG_SCAN_READY, /**< scan thread in dcm server is ready. msg from scan thread to main thread in dcm server*/
+ DCM_MSG_SCAN_COMPLETED, /**< all media extracting is done. msg from scan thread to main thread in dcm server*/
+ DCM_MSG_SCAN_TERMINATED, /**< scan thread in dcm server is terminated. msg from scan thread to main thread in dcm server*/
+ DCM_MSG_SERVER_READY, /**< dcm server is ready. msg from dcm server to media server*/
+ DCM_MSG_EXTRACT_ALL_DONE, /**< all-dcm extracting done. msg from dcm server to media server*/
+ DCM_MSG_MAX,
+} ms_dcm_msg_type_e;
+
#endif /*_MEDIA_SERVER_IPC_H_*/
faceUserData *userData;
} dcmReq;
-enum {
- DCM_REQUEST_MEDIA,
- DCM_REQUEST_ALL_MEDIA,
- DCM_REQUEST_START_FACE_DETECTION,
- DCM_REQUEST_CANCEL_FACE,
-};
-
extern char MEDIA_IPC_PATH[][70];
int __media_dcm_check_req_queue(const char *path);
if (req != NULL && strncmp(path, req->path, strlen(path)) == 0 && request_id == req->request_id) {
req->isCanceled = true;
- __media_dcm_shutdown_channel(false);
+ __media_dcm_shutdown_channel(FALSE);
return MS_MEDIA_ERR_NONE;
}
MSAPI_DBG("Sending msg to dcm service is successful");
-
- if (req_manager->msg_type == DCM_REQUEST_MEDIA/*DCM_REQUEST_INSERT_FACE*/) {
+ if (req_manager->msg_type == DCM_MSG_REQUEST_MEDIA/*DCM_REQUEST_INSERT_FACE*/) {
if (g_request_queue == NULL) {
g_request_queue = g_queue_new();
}
}
dcm_req->channel = channel;
- dcm_req->path = strdup(req_manager->path);
+ dcm_req->path = g_strdup(req_manager->path);
dcm_req->source_id = source_id;
dcm_req->userData = req_manager->userData;
{
int err = MS_MEDIA_ERR_NONE;
- MSAPI_DBG("Path : %s", path);
+ MSAPI_DBG_SLOG("Path : %s", path);
if (g_manage_queue == NULL) {
MSAPI_DBG("g_manage_queue is NULL");
- if (msg_type == DCM_REQUEST_CANCEL_FACE)
+ if (msg_type == DCM_MSG_REQUEST_CANCEL_FACE)
return MS_MEDIA_ERR_INTERNAL;
g_manage_queue = g_queue_new();
}
dcm_req->msg_type = msg_type;
- dcm_req->path = strdup(path);
+ dcm_req->path = g_strdup(path);
dcm_req->userData = userData;
dcm_req->isCanceled = FALSE;
dcm_req->request_id = request_id;
} else {
MSAPI_DBG("g_manage_queue is not NULL");
- if (msg_type != DCM_REQUEST_CANCEL_FACE) {
+ if (msg_type != DCM_MSG_REQUEST_CANCEL_FACE) {
/* Enqueue */
dcmReq *dcm_req = NULL;
dcm_req = calloc(1, sizeof(dcmReq));
}
dcm_req->msg_type = msg_type;
- dcm_req->path = strdup(path);
+ dcm_req->path = g_strdup(path);
dcm_req->userData = userData;
dcm_req->isCanceled = FALSE;
dcm_req->request_id = request_id;
int err = MS_MEDIA_ERR_NONE;
/* Request for image file to the daemon "Dcm generator" */
- err = _media_dcm_request(DCM_REQUEST_ALL_MEDIA, NULL, uid);
+ err = _media_dcm_request(DCM_MSG_REQUEST_ALL_MEDIA, NULL, uid);
if (err != MS_MEDIA_ERR_NONE) {
MSAPI_DBG_ERR("_media_dcm_request failed : %d", err);
return err;
{
int err = MS_MEDIA_ERR_NONE;
+ MSAPI_RETVM_IF(!MS_STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid path");
+
/* Request for image file to the daemon "Dcm generator" */
- err = _media_dcm_request(DCM_REQUEST_MEDIA, path, uid);
+ err = _media_dcm_request(DCM_MSG_REQUEST_MEDIA, path, uid);
if (err != MS_MEDIA_ERR_NONE) {
MSAPI_DBG_ERR("_media_dcm_request failed : %d", err);
return err;
int err = MS_MEDIA_ERR_NONE;
int exist = -1;
- if (path == NULL) {
- MSAPI_DBG_ERR("Invalid parameter");
- return MS_MEDIA_ERR_INVALID_PARAMETER;
- }
+ MSAPI_RETVM_IF(!MS_STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid path");
exist = open(path, O_RDONLY);
if (exist < 0) {
}
close(exist);
- MSAPI_DBG("Path : %s", path);
+ MSAPI_DBG_SLOG("Path : %s", path);
ms_user_storage_type_t storage_type = -1;
storage_type = ms_user_get_storage_type(uid, path, &storage_type);
return MS_MEDIA_ERR_INVALID_PARAMETER;
}
- MSAPI_DBG("Path : %s", path);
-
faceUserData *userData = (faceUserData*)malloc(sizeof(faceUserData));
if (userData == NULL) {
MSAPI_DBG_ERR("memory allocation failed");
return MS_MEDIA_ERR_OUT_OF_MEMORY;
}
+
userData->func = (FaceFunc)func;
userData->user_data = user_data;
/* Request for image file to the daemon "Dcm generator" */
- err = _media_dcm_request_async(DCM_REQUEST_MEDIA/*DCM_REQUEST_INSERT_FACE*/, request_id, path, userData, uid);
+ err = _media_dcm_request_async(DCM_MSG_REQUEST_MEDIA/*DCM_REQUEST_INSERT_FACE*/, request_id, path, userData, uid);
if (err != MS_MEDIA_ERR_NONE) {
MSAPI_DBG_ERR("_media_dcm_request failed : %d", err);
return err;
{
int err = MS_MEDIA_ERR_NONE;
+ MSAPI_RETVM_IF(!MS_STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "Invalid path");
+
/* Request for image file to the daemon "Dcm generator" */
- err = _media_dcm_request_async(DCM_REQUEST_CANCEL_FACE, request_id, path, NULL, request_id);
+ err = _media_dcm_request_async(DCM_MSG_REQUEST_CANCEL_FACE, request_id, path, NULL, request_id);
if (err != MS_MEDIA_ERR_NONE) {
MSAPI_DBG_ERR("_media_dcm_request failed : %d", err);
return err;
}
}
-int _ms_dcm_recv_msg(int sock, dcmMsg *msg)
+int __ms_dcm_recv_msg(int sock, dcmMsg *msg)
{
int recv_msg_len = 0;
unsigned char *buf = NULL;
- MS_DBG("_ms_dcm_recv_msg in");
+ MS_DBG_FENTER();
MS_MALLOC(buf, sizeof(dcmMsg));
if (buf == NULL) {
MS_SAFE_FREE(buf);
- MS_DBG("_ms_dcm_recv_msg out %d", msg->msg_type);
+ MS_DBG("msg_type [%d]", msg->msg_type);
+
+ MS_DBG_FLEAVE();
return MS_MEDIA_ERR_NONE;
}
{
struct sockaddr_un serv_addr;
unsigned int serv_addr_len;
-
int sockfd = -1;
int retry = 10;
- MS_DBG("_ms_dcm_agent_recv_msg_from_server in");
+
+ MS_DBG_FENTER();
if (g_dcm_comm_sock <= 0)
_ms_dcm_agent_prepare_tcp_socket(&g_dcm_comm_sock, MS_DCM_COMM_PORT);
int recv_result = 0;
RETRY:
- recv_result = _ms_dcm_recv_msg(sockfd, & recv_msg);
+ recv_result = __ms_dcm_recv_msg(sockfd, &recv_msg);
if (recv_result != MS_MEDIA_ERR_NONE) {
- MS_DBG_STRERROR("_ms_dcm_recv_msg failed");
+ MS_DBG_STRERROR("__ms_dcm_recv_msg failed");
close(sockfd);
return FALSE;
}
- if (recv_msg.msg_type == MS_MSG_DCM_SERVER_READY) {
- MS_DBG("DCM service is ready");
+ if (recv_msg.msg_type == DCM_MSG_SERVER_READY) {
+ MS_DBG_INFO("DCM service is ready");
} else {
MS_DBG("DCM service is not ready retry=%d", retry);
if (retry > 0) {
}
}
- MS_DBG("_ms_dcm_agent_recv_msg_from_server out %d", recv_msg.msg_type);
+ MS_DBG("msg_type [%d]", recv_msg.msg_type);
close(sockfd);
+
+ MS_DBG_FLEAVE();
+
return TRUE;
}
close(dcm_serv_sockfd);
MS_DBG("Receive : %d", recv_msg.msg_type);
- if (recv_msg.msg_type == MS_MSG_DCM_EXTRACT_ALL_DONE) {
+ if (recv_msg.msg_type == DCM_MSG_EXTRACT_ALL_DONE) {
MS_DBG("DCM extracting done");
g_dcm_server_extracting = FALSE;
MS_DBG("g_dcm_server_extracting is false");
MS_DBG_SLOG("Sending msg to DCM service is successful %d", recv_msg->msg_type);
- if (_ms_dcm_recv_msg(sock, res_msg) < 0) {
- MS_DBG_ERR("_ms_dcm_recv_msg failed");
+ if (__ms_dcm_recv_msg(sock, res_msg) < 0) {
+ MS_DBG_ERR("__ms_dcm_recv_msg failed");
close(sock);
return FALSE;
}
memset((void *)&msg, 0, sizeof(msg));
memset((void *)&recv_msg, 0, sizeof(recv_msg));
- msg.msg_type = 1; /* DCM_REQUEST_ALL_MEDIA */
+ msg.msg_type = DCM_MSG_REQUEST_ALL_MEDIA;
ms_sys_get_uid(&(msg.uid));
msg.msg[0] = '\0';
msg.msg_size = 0;
memset((void *)&msg, 0, sizeof(msg));
memset((void *)&recv_msg, 0, sizeof(recv_msg));
- msg.msg_type = 4; /* DCM_REQUEST_KILL_SERVER */
+ msg.msg_type = DCM_MSG_REQUEST_KILL_SERVER;
msg.msg[0] = '\0';
msg.msg_size = 0;
}
if (recv_msg) {
- if (recv_msg->msg_type == 1 && g_dcm_server_extracting) {
+ if (recv_msg->msg_type == DCM_MSG_REQUEST_ALL_MEDIA && g_dcm_server_extracting) {
MS_DBG_WARN("DCM service is already extracting..This request is queued.");
g_dcm_server_queued_all_extracting_request = TRUE;
} else {
return TRUE;
}
-gboolean _ms_dcm_agent_read_socket(GIOChannel *src,
- GIOCondition condition,
- gpointer data)
+gboolean _ms_dcm_agent_read_socket(GIOChannel *src, GIOCondition condition, gpointer data)
{
struct sockaddr_un client_addr;
unsigned int client_addr_len;
return TRUE;
}
- if (_ms_dcm_recv_msg(client_sock, recv_msg) < 0) {
- MS_DBG_ERR("_ms_dcm_recv_msg failed ");
+ if (__ms_dcm_recv_msg(client_sock, recv_msg) < 0) {
+ MS_DBG_ERR("__ms_dcm_recv_msg failed ");
close(client_sock);
MS_SAFE_FREE(recv_msg);
return TRUE;
return TRUE;
}
- MS_DBG_SLOG("%s is queued", recv_msg->msg);
+ MS_DBG_SLOG("[%s] is queued", recv_msg->msg);
g_queue_push_tail(g_dcm_request_queue, (gpointer)dcm_req);
if (!g_dcm_queue_work) {