#define _DCM_SVC_IPC_H_
#include <DcmTypes.h>
+#include <media-server-ipc.h>
#define DCM_TIMEOUT_SEC_60 60 /**< Response to media server time out */
namespace DcmIpcUtils {
int createSocket(int *socket_fd, DcmIpcPortType port);
int acceptSocket(int serv_sock, int *client_sock);
- int receiveSocketMsg(int client_sock, DcmIpcMsg *recv_msg);
+ int receiveSocketMsg(int client_sock, dcmMsg *recv_msg);
int sendSocketMsg(DcmIpcMsgType msg_type, uid_t uid, const char *msg, DcmIpcPortType port);
int sendCompleteMsg(DcmIpcMsgType msg_type, const unsigned int count, const char *msg, DcmIpcPortType port);
int sendClientSocketMsg(int socket_fd, DcmIpcMsgType msg_type, unsigned int result, const char *msg, DcmIpcPortType port);
DCM_IPC_PORT_MAX,
} DcmIpcPortType;
-typedef struct {
- DcmIpcMsgType msg_type;
- int pid;
- uid_t uid;
- int result;
- size_t msg_size; /*this is size of message below and this does not include the terminationg null byte ('\0'). */
- char msg[DCM_IPC_MSG_MAX_SIZE];
-} DcmIpcMsg;
-
typedef enum {
DCM_SCAN_ITEM_TYPE_NONE,
DCM_SCAN_ITEM_TYPE_SCAN_ALL,
Name: dcm-service
Summary: A media DCM(Digital Contents Management) Service
-Version: 0.0.16
+Version: 0.0.17
Release: 0
Group: Multimedia/Service
License: Apache-2.0
{"/var/run/media-server/media_ipc_dcmcomm.socket"},
};
-int DcmIpcUtils::receiveSocketMsg(int client_sock, DcmIpcMsg *recv_msg)
+int DcmIpcUtils::receiveSocketMsg(int client_sock, dcmMsg *recv_msg)
{
int recv_msg_size = 0;
- if ((recv_msg_size = read(client_sock, recv_msg, sizeof(DcmIpcMsg))) < 0) {
+ if ((recv_msg_size = read(client_sock, recv_msg, sizeof(dcmMsg))) < 0) {
if (errno == EWOULDBLOCK) {
dcm_error("Timeout. Can't try any more");
return DCM_ERROR_IPC;
}
dcm_debug("Send message type: %d %s %d", msg_type, msg, result);
- DcmIpcMsg send_msg;
+ dcmMsg send_msg;
int sock = -1;
if (socket_fd < 0) {
}
/* Prepare send message */
- memset((void *)&send_msg, 0, sizeof(DcmIpcMsg));
+ memset((void *)&send_msg, 0, sizeof(dcmMsg));
send_msg.msg_type = msg_type;
send_msg.result = (int)result;
if (msg != NULL) {
int socket_fd = -1;
struct sockaddr_un serv_addr;
- DcmIpcMsg send_msg;
+ dcmMsg send_msg;
/* Prepare send message */
- memset((void *)&send_msg, 0, sizeof(DcmIpcMsg));
+ memset((void *)&send_msg, 0, sizeof(dcmMsg));
send_msg.msg_type = msg_type;
send_msg.uid = uid;
if (msg != NULL) {
int socket_fd = -1;
struct sockaddr_un serv_addr;
- DcmIpcMsg send_msg;
+ dcmMsg send_msg;
/* Prepare send message */
- memset((void *)&send_msg, 0, sizeof(DcmIpcMsg));
+ memset((void *)&send_msg, 0, sizeof(dcmMsg));
send_msg.msg_type = msg_type;
send_msg.result = count;
if (msg != NULL) {
int ScanAllItems();
int ScanSingleItem(const char *file_path);
int terminateScanOperations();
- int receiveMsg(DcmIpcMsg *recv_msg);
+ int receiveMsg(dcmMsg *recv_msg);
};
return createQuitTimerScanThread();
}
-int DcmScanSvc::receiveMsg(DcmIpcMsg *recv_msg)
+int DcmScanSvc::receiveMsg(dcmMsg *recv_msg)
{
int ret = DCM_SUCCESS;
DcmScanSvc *dcmScanSvc = (DcmScanSvc *) data;
int sock = -1;
int client_sock = -1;
- DcmIpcMsg recv_msg;
+ dcmMsg recv_msg;
int err = 0;
DCM_CHECK_FALSE(data);
gboolean DcmScanCallback::readyScanThreadIdle(gpointer data)
{
DcmMainSvc *ad = (DcmMainSvc *) data;
- DcmIpcMsg *async_queue_msg = NULL;
+ dcmMsg *async_queue_msg = NULL;
dcm_debug_fenter();
DCM_CHECK_FALSE(data);
DCM_CHECK_FALSE(ad->scan_thread_ready);
- async_queue_msg = (DcmIpcMsg*) g_malloc0(sizeof(DcmIpcMsg));
+ async_queue_msg = (dcmMsg*) g_malloc0(sizeof(dcmMsg));
if (async_queue_msg == NULL) {
dcm_error("memory allocation failed");
return FALSE;
int DcmMainSvc::waitScanThreadReady()
{
int ret = DCM_SUCCESS;
- DcmIpcMsg *async_queue_msg = NULL;
+ dcmMsg *async_queue_msg = NULL;
/* Wait until the scan thread is ready (timeout: 5 sec) */
- async_queue_msg = (DcmIpcMsg *)g_async_queue_timeout_pop(scan_thread_ready, 5000000);
+ async_queue_msg = (dcmMsg *)g_async_queue_timeout_pop(scan_thread_ready, 5000000);
if (async_queue_msg == NULL) {
dcm_error("Async queue timeout!");
return DCM_ERROR_ASYNC_QUEUE_FAILED;
gboolean DcmMainSvcCallBack::readMsg(GIOChannel *src, GIOCondition condition, gpointer data)
{
- DcmIpcMsg recv_msg;
+ dcmMsg recv_msg;
int sock = -1;
int client_sock = -1;
int ret = 0;