2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.tizenopensource.org/license
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include "MsgUtilFunction.h"
19 #include "MsgCppTypes.h"
20 #include "MsgSpamFilter.h"
21 #include "MsgStorageHandler.h"
22 #include "MsgCmdHandler.h"
25 /*==================================================================================================
26 FUNCTION IMPLEMENTATION
27 ==================================================================================================*/
28 int MsgAddFilterHandler(const MSG_CMD_S *pCmd, char **ppEvent)
30 msg_error_t err = MSG_SUCCESS;
34 // Get Filter Structure
35 MSG_FILTER_S* pFilter = (MSG_FILTER_S*)pCmd->cmdData;
38 err = MsgStoAddFilter(pFilter);
40 if (err == MSG_SUCCESS)
42 MSG_DEBUG("Command Handle Success : MsgStoAddFilter()");
46 MSG_DEBUG("Command Handle Fail : MsgStoAddFilter()");
50 eventSize = MsgMakeEvent(NULL, 0, MSG_EVENT_ADD_FILTER, err, (void**)ppEvent);
56 int MsgUpdateFilterHandler(const MSG_CMD_S *pCmd, char **ppEvent)
58 msg_error_t err = MSG_SUCCESS;
62 // Get Filter Structure
63 MSG_FILTER_S* pFilter = (MSG_FILTER_S*)pCmd->cmdData;
66 err = MsgStoUpdateFilter(pFilter);
68 if (err == MSG_SUCCESS)
70 MSG_DEBUG("Command Handle Success : MsgStoUpdateFilter()");
74 MSG_DEBUG("Command Handle Fail : MsgStoUpdateFilter()");
78 eventSize = MsgMakeEvent(NULL, 0, MSG_EVENT_UPDATE_FILTER, err, (void**)ppEvent);
84 int MsgDeleteFilterHandler(const MSG_CMD_S *pCmd, char **ppEvent)
86 msg_error_t err = MSG_SUCCESS;
90 // Get Filter Structure
91 msg_filter_id_t *pFilterId = (msg_filter_id_t *)pCmd->cmdData;
93 MSG_DEBUG("Delete Filter id : %d", *pFilterId);
96 err = MsgStoDeleteFilter(*pFilterId);
98 if (err == MSG_SUCCESS)
100 MSG_DEBUG("Command Handle Success : MsgStoDeleteFilter()");
104 MSG_DEBUG("Command Handle Fail : MsgStoDeleteFilter()");
108 eventSize = MsgMakeEvent(NULL, 0, MSG_EVENT_DELETE_FILTER, err, (void**)ppEvent);
114 int MsgGetFilterListHandler(const MSG_CMD_S *pCmd, char **ppEvent)
116 msg_error_t err = MSG_SUCCESS;
118 char* encodedData = NULL;
119 AutoPtr<char> buf(&encodedData);
121 int dataSize = 0, eventSize = 0;
124 msg_struct_list_s filterList;
126 err = MsgStoGetFilterList(&filterList);
128 if (err == MSG_SUCCESS)
130 MSG_DEBUG("Command Handle Success : MsgStoGetFilterList()");
132 // Encoding Filter List Data
133 dataSize = MsgEncodeFilterList(&filterList, &encodedData);
135 delete [] filterList.msg_struct_info;
139 MSG_DEBUG("Command Handle Fail : MsgStoGetFilterList()");
143 eventSize = MsgMakeEvent(encodedData, dataSize, MSG_EVENT_GET_FILTERLIST, err, (void**)ppEvent);
149 int MsgSetFilterOperationHandler(const MSG_CMD_S *pCmd, char **ppEvent)
151 msg_error_t err = MSG_SUCCESS;
156 bool setFlag = false;
158 memcpy(&setFlag, pCmd->cmdData, sizeof(bool));
161 err = MsgSetFilterOperation(setFlag);
163 if (err == MSG_SUCCESS)
165 MSG_DEBUG("Command Handle Success : MsgSetFilterOperation()");
169 MSG_DEBUG("Command Handle Fail : MsgSetFilterOperation()");
173 eventSize = MsgMakeEvent(NULL, 0, MSG_EVENT_SET_FILTER_OPERATION, err, (void**)ppEvent);
179 int MsgGetFilterOperationHandler(const MSG_CMD_S *pCmd, char **ppEvent)
181 msg_error_t err = MSG_SUCCESS;
183 char* encodedData = NULL;
184 AutoPtr<char> buf(&encodedData);
186 int dataSize = 0, eventSize = 0;
189 bool setFlag = false;
191 err = MsgGetFilterOperation(&setFlag);
193 if (err == MSG_SUCCESS)
195 MSG_DEBUG("Command Handle Success : MsgGetFilterOperation()");
197 // Encoding Filter List Data
198 dataSize = MsgEncodeFilterFlag(&setFlag, &encodedData);
202 MSG_DEBUG("Command Handle Fail : MsgFilterGetFilterList()");
206 eventSize = MsgMakeEvent(encodedData, dataSize, MSG_EVENT_GET_FILTER_OPERATION, err, (void**)ppEvent);