2 * Copyright 2012-2013 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (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://floralicense.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 * @file MsgPluginInterface.h
19 * @brief Defines plug-ins API of messaging framework
23 #ifndef MSG_PLUGIN_INTERFACE_H
24 #define MSG_PLUGIN_INTERFACE_H
27 * @section Introduction
28 * - Introduction : Overview on Messaging Plug-in API
30 * - Program : Messaging Plug-in API Reference
33 /*==================================================================================================
35 ==================================================================================================*/
36 #include "MsgTransportTypes.h"
37 #include "MsgStorageTypes.h"
38 #include "MsgSettingTypes.h"
39 #include "MsgInternalTypes.h"
48 * @ingroup MESSAGING_FRAMEWORK
49 * @defgroup MESSAGING_PLUGIN_API Messaging Plug-in API
53 /*==================================================================================================
55 ==================================================================================================*/
56 typedef struct _MSG_PLUGIN_HANDLER_S MSG_PLUGIN_HANDLER_S;
58 typedef struct _MSG_PLUGIN_LISTENER_S MSG_PLUGIN_LISTENER_S;
61 /*==================================================================================================
63 ==================================================================================================*/
68 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
69 * ALL Plug-in SHOULD implement this function.
72 * Create plug-in handle for Message Framework.
73 * Message Framework will able to reach plugin functions by handle.
75 * \par Typical use case:
76 * Create plug-in handle.
78 * \par Method of function operation:
79 * Set handle information by plug-in.
81 * \par Sync (or) Async:
82 * This is a Synchronous API.
84 * \par Important notes:
85 * This function MUST be implement by plug-ins..
87 * \param input - handle is Message handle.
89 * \return Return Type (int(msg_error_t)) \n
90 * - MSG_SUCCESS Success in operation.
91 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
93 * \par Prospective clients:
96 * \par Related functions:
99 * \par Known issues/bugs:
103 /*================================================================================================*/
104 msg_error_t MsgPlgCreateHandle(MSG_PLUGIN_HANDLER_S *pPluginHandle);
110 * A Prototype of the function which will be called when the plug-in is finalized at Message Framework.
111 * ALL Plug-in SHOULD implement this function.
114 * Destroy plug-in handle for Message Framework.
116 * \par Typical use case:
117 * Destroy plug-in handle.
119 * \par Method of function operation:
120 * Remove handle information by plug-in.
122 * \par Sync (or) Async:
123 * This is a Synchronous API.
125 * \par Important notes:
126 * This function MUST be implement by plug-ins..
128 * \param input - handle is Message handle.
130 * \return Return Type (int(msg_error_t)) \n
131 * - MSG_SUCCESS Success in operation.
132 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
134 * \par Prospective clients:
137 * \par Related functions:
140 * \par Known issues/bugs:
144 /*================================================================================================*/
145 msg_error_t MsgPlgDestroyHandle(MSG_PLUGIN_HANDLER_S *pPluginHandle);
154 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
155 * ALL Plug-in SHOULD implement this function.
158 * Initializing plug-in.
159 * Precede jobs must done in this function.
161 * \par Typical use case:
162 * Initializing plug-in.
164 * \par Method of function operation:
165 * Make up pre-works for plug-in.
167 * \par Sync (or) Async:
168 * This is a Synchronous API.
170 * \par Important notes:
171 * This function MUST be implement by plug-ins..
173 * \return Return Type (int(msg_error_t)) \n
174 * - MSG_SUCCESS Success in operation.
175 * - MSG_ERR_PLUGIN_REGEVENT Plug-in's error during operations.
177 * \par Prospective clients:
180 * \par Related functions:
183 * \par Known issues/bugs:
187 /*================================================================================================*/
188 typedef msg_error_t (*MsgPlgInitialize)();
194 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
195 * ALL Plug-in SHOULD implement this function.
198 * Create plug-in handle for Message Framework.
199 * Message Framework will able to reach plugin functions by handle.
201 * \par Typical use case:
202 * Create plug-in handle.
204 * \par Method of function operation:
205 * Set handle information by plug-in.
207 * \par Sync (or) Async:
208 * This is a Synchronous API.
210 * \par Important notes:
211 * This function MUST be implement by plug-ins..
213 * \param input - handle is Message handle.
215 * \return Return Type (int(msg_error_t)) \n
216 * - MSG_SUCCESS Success in operation.
217 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
219 * \par Prospective clients:
222 * \par Related functions:
225 * \par Known issues/bugs:
229 /*================================================================================================*/
230 typedef msg_error_t (*MsgPlgFinalize)();
236 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
237 * ALL Plug-in SHOULD implement this function.
240 * Regist listeners to handle incomming messages..
243 * \par Typical use case:
246 * \par Method of function operation:
247 * Set listener informations in plug-in.
249 * \par Sync (or) Async:
250 * This is a Synchronous API.
252 * \par Important notes:
253 * This function MUST be implement by plug-ins..
255 * \param input - listener is callback listeners.
257 * \return Return Type (int(msg_error_t)) \n
258 * - MSG_SUCCESS Success in operation.
260 * \par Prospective clients:
263 * \par Related functions:
266 * \par Known issues/bugs:
270 /*================================================================================================*/
271 typedef msg_error_t (*MsgPlgRegisterListener)(MSG_PLUGIN_LISTENER_S *pListener);
277 * A Prototype of the function which will be called when Message Framework has to check sim card status.
278 * SMS Plug-in SHOULD implement this function.
281 * Checking sim card status for Message Framework.
283 * \par Typical use case:
284 * To check sim card status.
286 * \par Method of function operation:
287 * Check SIM card status and return result of sim card is changed or not.
289 * \par Sync (or) Async:
290 * This is a Synchronous API.
292 * \par Important notes:
293 * This function MUST be implement by plug-ins..
295 * \param output - bChanged is a boolean type value which shows sim card status.
297 * \return Return Type (int(msg_error_t)) \n
298 * - MSG_SUCCESS Success in operation.
300 * \par Prospective clients:
303 * \par Related functions:
306 * \par Known issues/bugs:
310 /*================================================================================================*/
311 typedef msg_error_t (*MsgPlgCheckSimStatus)(MSG_SIM_STATUS_T *pStatus);
317 * A Prototype of the function which will be called when Message Framework has to check device status.
318 * SMS Plug-in SHOULD implement this function.
321 * Create plug-in handle for Message Framework.
322 * Message Framework will able to reach plugin functions by handle.
324 * \par Typical use case:
325 * Create plug-in handle.
327 * \par Method of function operation:
328 * Set handle information by plug-in.
330 * \par Sync (or) Async:
331 * This is a Synchronous API.
333 * \par Important notes:
334 * This function MUST be implement by plug-ins..
336 * \param input - handle is Message handle.
338 * \return Return Type (int(msg_error_t)) \n
339 * - MSG_SUCCESS Success in operation.
340 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
342 * \par Prospective clients:
345 * \par Related functions:
348 * \par Known issues/bugs:
352 /*================================================================================================*/
353 typedef msg_error_t (*MsgPlgCheckDeviceStatus)();
360 * A Prototype of the function which will be called when Message Framework has to submit a message to send.
361 * ALL Plug-in SHOULD implement this function.
366 * \par Typical use case:
369 * \par Method of function operation:
370 * Convert message data to raw message data.
371 * Send raw message data to selected network.
373 * \par Sync (or) Async:
374 * This is a Synchronous API.
376 * \par Important notes:
377 * This function MUST be implement by plug-ins.
379 * \param input - pReqInfo is message data to send.
381 * \return Return Type (int(msg_error_t)) \n
382 * - MSG_SUCCESS Success in operation.
383 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
385 * \par Prospective clients:
388 * \par Related functions:
391 * \par Known issues/bugs:
395 /*================================================================================================*/
396 typedef msg_error_t (*MsgPlgSubmitRequest)(MSG_REQUEST_INFO_S *pReqInfo);
403 * A Prototype of the function which will be called when Message Framework has to save a message to SIM card.
404 * SMS Plug-in SHOULD implement this function.
407 * Save a message to SIM card.
409 * \par Typical use case:
410 * To save a message to SIM card..
412 * \par Method of function operation:
413 * Convert message data to raw message data.
414 * Save the raw message data to SIM card.
416 * \par Sync (or) Async:
417 * This is a Synchronous API.
419 * \par Important notes:
420 * This function MUST be implement by plug-ins.
422 * \param input - pMsgInfo is the information of message.
423 * \param output - pSimIdList is the list of messages saved in SIM card.
425 * \return Return Type (int(msg_error_t)) \n
426 * - MSG_SUCCESS Success in operation.
427 * - MSG_ERR_PLUGIN_SIM_MSG_FULL SIM card's capacity for SMS message is full.
428 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
430 * \par Prospective clients:
433 * \par Related functions:
436 * \par Known issues/bugs:
440 /*================================================================================================*/
441 typedef msg_error_t (*MsgPlgInitSimMessage)();
448 * A Prototype of the function which will be called when Message Framework has to save a message to SIM card.
449 * SMS Plug-in SHOULD implement this function.
452 * Save a message to SIM card.
454 * \par Typical use case:
455 * To save a message to SIM card..
457 * \par Method of function operation:
458 * Convert message data to raw message data.
459 * Save the raw message data to SIM card.
461 * \par Sync (or) Async:
462 * This is a Synchronous API.
464 * \par Important notes:
465 * This function MUST be implement by plug-ins.
467 * \param input - pMsgInfo is the information of message.
468 * \param output - pSimIdList is the list of messages saved in SIM card.
470 * \return Return Type (int(msg_error_t)) \n
471 * - MSG_SUCCESS Success in operation.
472 * - MSG_ERR_PLUGIN_SIM_MSG_FULL SIM card's capacity for SMS message is full.
473 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
475 * \par Prospective clients:
478 * \par Related functions:
481 * \par Known issues/bugs:
485 /*================================================================================================*/
486 typedef msg_error_t (*MsgPlgSaveSimMessage)(const MSG_MESSAGE_INFO_S *pMsgInfo, SMS_SIM_ID_LIST_S *pSimIdList);
492 * A Prototype of the function which will be called when Message Framework has to delete a message in SIM card.
493 * SMS Plug-in SHOULD implement this function.
496 * delete a message in SIM card.
498 * \par Typical use case:
499 * To save a message to SIM card..
501 * \par Method of function operation:
502 * delete a message data in SIM card which is indexed by ID.
504 * \par Sync (or) Async:
505 * This is a Synchronous API.
507 * \par Important notes:
508 * This function MUST be implement by plug-ins.
510 * \param input - SimMsgId is the index of the message to delete.
512 * \return Return Type (int(msg_error_t)) \n
513 * - MSG_SUCCESS Success in operation.
514 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
516 * \par Prospective clients:
519 * \par Related functions:
522 * \par Known issues/bugs:
526 /*================================================================================================*/
527 typedef msg_error_t (*MsgPlgDeleteSimMessage)(msg_sim_id_t SimMsgId);
533 * A Prototype of the function which will be called when Message Framework has to set read status of message in SIM card.
534 * SMS Plug-in SHOULD implement this function.
537 * Set read status of SIM cad message.
539 * \par Typical use case:
540 * To set read status of SIM card message.
542 * \par Method of function operation:
543 * Save the given read status to SIM card message.
545 * \par Sync (or) Async:
546 * This is a Synchronous API.
548 * \par Important notes:
549 * This function MUST be implement by plug-ins.
551 * \param input - SimMsgId is the index of the message to set read status.
553 * \return Return Type (int(msg_error_t)) \n
554 * - MSG_SUCCESS Success in operation.
555 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
557 * \par Prospective clients:
560 * \par Related functions:
563 * \par Known issues/bugs:
567 /*================================================================================================*/
568 typedef msg_error_t (*MsgPlgSetReadStatus)(msg_sim_id_t SimMsgId);
574 * A Prototype of the function which will be called when Message Framework has to set read status of message in SIM card.
575 * SMS Plug-in SHOULD implement this function.
578 * Set read status of SIM cad message.
580 * \par Typical use case:
581 * To set read status of SIM card message.
583 * \par Method of function operation:
584 * Save the given read status to SIM card message.
586 * \par Sync (or) Async:
587 * This is a Synchronous API.
589 * \par Important notes:
590 * This function MUST be implement by plug-ins.
592 * \param input - SimMsgId is the index of the message to set read status.
594 * \return Return Type (int(msg_error_t)) \n
595 * - MSG_SUCCESS Success in operation.
596 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
598 * \par Prospective clients:
601 * \par Related functions:
604 * \par Known issues/bugs:
608 /*================================================================================================*/
609 typedef msg_error_t (*MsgPlgSetMemoryStatus)(msg_error_t Error);
616 * A Prototype of the function which will be called when Message Framework has to save configuration of network to SIM card.
617 * SMS Plug-in SHOULD implement this function.
620 * Save configuration information to SIM card.
622 * \par Typical use case:
623 * To save configuration information to SIM card.
625 * \par Method of function operation:
626 * Convert information data to raw data.
627 * Save raw data to SIM card.
629 * \par Sync (or) Async:
630 * This is a Synchronous API.
632 * \par Important notes:
633 * This function MUST be implement by plug-ins.
635 * \param input - pSetting is information of configuration.
637 * \return Return Type (int(msg_error_t)) \n
638 * - MSG_SUCCESS Success in operation.
639 * - MSG_ERR_PLUGIN_SETTING Exception is occured in plug-in.
641 * \par Prospective clients:
644 * \par Related functions:
647 * \par Known issues/bugs:
651 /*================================================================================================*/
652 typedef msg_error_t (*MsgPlgInitConfigData)(MSG_SIM_STATUS_T SimStatus);
659 * A Prototype of the function which will be called when Message Framework has to save configuration of network to SIM card.
660 * SMS Plug-in SHOULD implement this function.
663 * Save configuration information to SIM card.
665 * \par Typical use case:
666 * To save configuration information to SIM card.
668 * \par Method of function operation:
669 * Convert information data to raw data.
670 * Save raw data to SIM card.
672 * \par Sync (or) Async:
673 * This is a Synchronous API.
675 * \par Important notes:
676 * This function MUST be implement by plug-ins.
678 * \param input - pSetting is information of configuration.
680 * \return Return Type (int(msg_error_t)) \n
681 * - MSG_SUCCESS Success in operation.
682 * - MSG_ERR_PLUGIN_SETTING Exception is occured in plug-in.
684 * \par Prospective clients:
687 * \par Related functions:
690 * \par Known issues/bugs:
694 /*================================================================================================*/
695 typedef msg_error_t (*MsgPlgSetConfigData)(const MSG_SETTING_S *pSetting);
701 * A Prototype of the function which will be called when Message Framework has to get configuration of network from SIM card.
702 * SMS Plug-in SHOULD implement this function.
705 * Get configuration information from SIM card.
707 * \par Typical use case:
708 * To get configuration information from SIM card.
710 * \par Method of function operation:
711 * Convert raw data to information data.
712 * Get configuration data from SIM card.
714 * \par Sync (or) Async:
715 * This is a Synchronous API.
717 * \par Important notes:
718 * This function MUST be implement by plug-ins.
720 * \param input - pSetting is information of configuration.
722 * \return Return Type (int(msg_error_t)) \n
723 * - MSG_SUCCESS Success in operation.
724 * - MSG_ERR_PLUGIN_SETTING Exception is occured in plug-in.
726 * \par Prospective clients:
729 * \par Related functions:
732 * \par Known issues/bugs:
736 /*================================================================================================*/
737 typedef msg_error_t (*MsgPlgGetConfigData)(MSG_SETTING_S *pSetting);
743 * A Prototype of the function which will be called when Message Framework has to store MMS message.
744 * MMS Plug-in SHOULD implement this function.
747 * Save MMS message to plug-in defined DB.
749 * \par Typical use case:
750 * To save MMS message to plug-in defined DB.
752 * \par Method of function operation:
753 * Convert MMS Message data to cetain format for plug-in.
754 * Save the certain format MMS message information to DB.
756 * \par Sync (or) Async:
757 * This is a Synchronous API.
759 * \par Important notes:
760 * This function MUST be implement by plug-ins.
762 * \param input - pMsgInfo is information of MMS message.
763 * \param input - pSendOptInfo is information of sending option.
764 * \param output - pFileData is the file path of saved MMS message.
766 * \return Return Type (int(msg_error_t)) \n
767 * - MSG_SUCCESS Success in operation.
768 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
770 * \par Prospective clients:
773 * \par Related functions:
776 * \par Known issues/bugs:
780 /*================================================================================================*/
781 typedef msg_error_t (*MsgPlgAddMessage)(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_SENDINGOPT_INFO_S* pSendOptInfo, char* pFileData);
787 * A Prototype of the function which will be called when Message Framework has to process received MMS message indicator.
788 * MMS Plug-in SHOULD implement this function.
791 * Process MMS message indicator.
793 * \par Typical use case:
794 * To process MMS message indicator.
796 * \par Method of function operation:
797 * Procces MMS Message indicator in options.
799 * \par Sync (or) Async:
800 * This is a Synchronous API.
802 * \par Important notes:
803 * This function MUST be implement by plug-ins.
805 * \param input - pMsgInfo is information of MMS message.
806 * \param input - pRequest is information of request options.
807 * \param output - bRejects shows the reject status.
809 * \return Return Type (int(msg_error_t)) \n
810 * - MSG_SUCCESS Success in operation.
811 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
813 * \par Prospective clients:
816 * \par Related functions:
819 * \par Known issues/bugs:
823 /*================================================================================================*/
824 typedef msg_error_t (*MsgPlgProcessReceivedInd)(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_REQUEST_INFO_S* pRequest, bool* bReject);
830 * A Prototype of the function which will be called when Message Framework has to update MMS message.
831 * MMS Plug-in SHOULD implement this function.
834 * Update MMS message to plug-in defined DB.
836 * \par Typical use case:
837 * To update MMS message to plug-in defined DB.
839 * \par Method of function operation:
840 * Convert MMS Message data to cetain format for plug-in.
841 * Update the certain format MMS message information to DB.
843 * \par Sync (or) Async:
844 * This is a Synchronous API.
846 * \par Important notes:
847 * This function MUST be implement by plug-ins.
849 * \param input - pMsgInfo is information of MMS message.
850 * \param input - pSendOptInfo is information of sending option.
851 * \param output - pFileData is the file path of saved MMS message.
853 * \return Return Type (int(msg_error_t)) \n
854 * - MSG_SUCCESS Success in operation.
855 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
857 * \par Prospective clients:
860 * \par Related functions:
863 * \par Known issues/bugs:
867 /*================================================================================================*/
868 typedef msg_error_t (*MsgPlgUpdateMessage)(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_SENDINGOPT_INFO_S* pSendOptInfo, char* pFileData);
874 * A Prototype of the function which will be called when Message Framework has to get MMS message.
875 * MMS Plug-in SHOULD implement this function.
880 * \par Typical use case:
881 * To get MMS message.
883 * \par Method of function operation:
884 * Get MMS Message from certian plug-in defined DB.
886 * \par Sync (or) Async:
887 * This is a Synchronous API.
889 * \par Important notes:
890 * This function MUST be implement by plug-ins.
892 * \param output - pMsg is information of MMS message.
893 * \param output - pSendOptInfo is information of sending options.
894 * \param output - pMmsMsg is information of MMS messages detail data.
895 * \param output - pDestMsg is file path of MMS message.
897 * \return Return Type (int(msg_error_t)) \n
898 * - MSG_SUCCESS Success in operation.
899 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
901 * \par Prospective clients:
904 * \par Related functions:
907 * \par Known issues/bugs:
911 /*================================================================================================*/
912 typedef msg_error_t (*MsgPlgGetMmsMessage)(MSG_MESSAGE_INFO_S* pMsg, MSG_SENDINGOPT_INFO_S* pSendOptInfo, MMS_MESSAGE_DATA_S* pMmsMsg, char** pDestMsg);
918 * A Prototype of the function which will be called when Message Framework has to update reject status of MMS message.
919 * MMS Plug-in SHOULD implement this function.
922 * Update reject status of MMS message.
924 * \par Typical use case:
925 * To update reject status of MMS message.
927 * \par Method of function operation:
928 * Update reject status of MMS Message from certian plug-in defined DB.
930 * \par Sync (or) Async:
931 * This is a Synchronous API.
933 * \par Important notes:
934 * This function MUST be implement by plug-ins.
936 * \param input - pMsgInfo is information of MMS message.
938 * \return Return Type (int(msg_error_t)) \n
939 * - MSG_SUCCESS Success in operation.
940 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
942 * \par Prospective clients:
945 * \par Related functions:
948 * \par Known issues/bugs:
952 /*================================================================================================*/
953 typedef msg_error_t (*MsgPlgUpdateRejectStatus)(MSG_MESSAGE_INFO_S *pMsgInfo);
959 * A Prototype of the function which will be called when Message Framework has to compose read report for MMS message.
960 * MMS Plug-in SHOULD implement this function.
963 * Compose read report for MMS message.
965 * \par Typical use case:
966 * To compose read report for MMS message.
968 * \par Method of function operation:
969 * Compose read report for MMS message.
972 * \par Sync (or) Async:
973 * This is a Synchronous API.
975 * \par Important notes:
976 * This function MUST be implement by plug-ins.
978 * \param input - pMsgInfo is information of MMS message.
980 * \return Return Type (int(msg_error_t)) \n
981 * - MSG_SUCCESS Success in operation.
982 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
984 * \par Prospective clients:
987 * \par Related functions:
990 * \par Known issues/bugs:
994 /*================================================================================================*/
995 typedef msg_error_t (*MsgPlgComposeReadReport)(MSG_MESSAGE_INFO_S *pMsgInfo);
1000 * A Prototype of the function which will be called when Message Framework has to compose read report for MMS message.
1001 * MMS Plug-in SHOULD implement this function.
1004 * Compose read report for MMS message.
1006 * \par Typical use case:
1007 * To compose read report for MMS message.
1009 * \par Method of function operation:
1010 * Compose read report for MMS message.
1013 * \par Sync (or) Async:
1014 * This is a Synchronous API.
1016 * \par Important notes:
1017 * This function MUST be implement by plug-ins.
1019 * \param input - pMsgInfo is information of MMS message.
1021 * \return Return Type (int(msg_error_t)) \n
1022 * - MSG_SUCCESS Success in operation.
1023 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
1025 * \par Prospective clients:
1026 * Internal/Plug-ins.
1028 * \par Related functions:
1031 * \par Known issues/bugs:
1035 /*================================================================================================*/
1036 typedef msg_error_t (*MsgPlgRestoreMsg)(MSG_MESSAGE_INFO_S *pMsg, char* pRcvdBody, int rcvdBodyLen, char* filePath);
1039 // framework defined callbacks.
1040 typedef void (*MsgPlgOnSentStatus)(MSG_SENT_STATUS_S *pSentStatus);
1041 typedef void (*MsgPlgOnStorageChange)(msg_storage_change_type_t storageChangeType, MSG_MESSAGE_INFO_S *pMsgInfo);
1042 typedef msg_error_t (*MsgPlgOnMsgIncoming)(MSG_MESSAGE_INFO_S *pMsgInfo);
1043 typedef msg_error_t (*MsgPlgOnInitSimBySat)(void);
1044 typedef msg_error_t (*MsgPlgOnSyncMLMsgIncoming)(MSG_SYNCML_MESSAGE_DATA_S *pSyncMLData);
1045 typedef msg_error_t (*MsgPlgOnLBSMsgIncoming)(MSG_LBS_MESSAGE_DATA_S *pLBSData);
1046 typedef msg_error_t (*MsgPlgOnPushMsgIncoming)(MSG_PUSH_MESSAGE_DATA_S *pPushData);
1047 typedef msg_error_t (*MsgPlgOnCBMsgIncoming)(MSG_CB_MSG_S *pCbMsg);
1048 typedef msg_error_t (*MsgPlgOnMmsConfIncoming)(MSG_MESSAGE_INFO_S *pMsgInfo, msg_request_id_t *pRequest);
1051 /*==================================================================================================
1053 ==================================================================================================*/
1054 struct _MSG_PLUGIN_LISTENER_S
1056 MsgPlgOnSentStatus pfSentStatusCb; /** The function pointer of sent status callback. */
1057 MsgPlgOnStorageChange pfStorageChangeCb; /** The function pointer of storage change callback. */
1058 MsgPlgOnMsgIncoming pfMsgIncomingCb; /** The function pointer of receive message callback. */
1059 MsgPlgOnInitSimBySat pfInitSimBySatCb; /** The function pointer of init SIM callback. */
1060 MsgPlgOnSyncMLMsgIncoming pfSyncMLMsgIncomingCb; /** The function pointer of receive syncML message callback. */
1061 MsgPlgOnLBSMsgIncoming pfLBSMsgIncomingCb; /** The function pointer of receive LBS message callback. */
1062 MsgPlgOnPushMsgIncoming pfPushMsgIncomingCb; /** The function pointer of receive Push message callback. */
1063 MsgPlgOnCBMsgIncoming pfCBMsgIncomingCb; /** The function pointer of receive cb message callback. */
1064 MsgPlgOnMmsConfIncoming pfMmsConfIncomingCb; /** The function pointer of receive MMS conf */
1068 struct _MSG_PLUGIN_HANDLER_S
1070 MsgPlgInitialize pfInitialize; /**< The function pointer of initialize. */
1071 MsgPlgFinalize pfFinalize; /**< The function pointer of finalize. */
1072 MsgPlgRegisterListener pfRegisterListener; /**< The function pointer of register listener. */
1073 MsgPlgCheckSimStatus pfCheckSimStatus; /**< The function pointer of check SIM status. */
1074 MsgPlgCheckDeviceStatus pfCheckDeviceStatus; /**< The function pointer of check device status. */
1075 MsgPlgSubmitRequest pfSubmitRequest; /**< The function pointer of submit request. */
1076 MsgPlgInitSimMessage pfInitSimMessage; /**< The function pointer of initialize SIM msg. */
1077 MsgPlgSaveSimMessage pfSaveSimMessage; /**< The function pointer of save SIM msg. */
1078 MsgPlgDeleteSimMessage pfDeleteSimMessage; /**< The function pointer of delete SIM msg. */
1079 MsgPlgSetReadStatus pfSetReadStatus; /**< The function pointer of set read status. */
1080 MsgPlgSetMemoryStatus pfSetMemoryStatus; /**< The function pointer of set memory status. */
1081 MsgPlgInitConfigData pfInitConfigData; /**< The function pointer of initialize of setting. */
1082 MsgPlgSetConfigData pfSetConfigData; /**< The function pointer of save setting. */
1083 MsgPlgGetConfigData pfGetConfigData; /**< The function pointer of get setting. */
1084 MsgPlgRestoreMsg pfRestoreMsg;
1085 MsgPlgAddMessage pfAddMessage; /**< The function pointer of add Message. */
1086 MsgPlgProcessReceivedInd pfProcessReceivedInd; /**< The function pointer of Process Notification Ind. */
1087 MsgPlgUpdateMessage pfUpdateMessage; /**< The function pointer of Update MMS Message */
1088 MsgPlgGetMmsMessage pfGetMmsMessage;
1089 MsgPlgUpdateRejectStatus pfUpdateRejectStatus;
1090 MsgPlgComposeReadReport pfComposeReadReport;