3 * Copyright (c) 2000-2012 Samsung Electronics Co., Ltd. All Rights Reserved.
5 * This file is part of msg-service.
7 * Contact: Jaeyun Jeong <jyjeong@samsung.com>
8 * Sangkoo Kim <sangkoo.kim@samsung.com>
9 * Seunghwan Lee <sh.cat.lee@samsung.com>
10 * SoonMin Jung <sm0415.jung@samsung.com>
11 * Jae-Young Lee <jy4710.lee@samsung.com>
12 * KeeBum Kim <keebum.kim@samsung.com>
14 * PROPRIETARY/CONFIDENTIAL
16 * This software is the confidential and proprietary information of
17 * SAMSUNG ELECTRONICS ("Confidential Information"). You shall not
18 * disclose such Confidential Information and shall use it only in
19 * accordance with the terms of the license agreement you entered
20 * into with SAMSUNG ELECTRONICS.
22 * SAMSUNG make no representations or warranties about the suitability
23 * of the software, either express or implied, including but not limited
24 * to the implied warranties of merchantability, fitness for a particular
25 * purpose, or non-infringement. SAMSUNG shall not be liable for any
26 * damages suffered by licensee as a result of using, modifying or
27 * distributing this software or its derivatives.
32 * @file MsgPluginInterface.h
33 * @brief Defines plug-ins API of messaging framework
37 #ifndef MSG_PLUGIN_INTERFACE_H
38 #define MSG_PLUGIN_INTERFACE_H
41 * @section Introduction
42 * - Introduction : Overview on Messaging Plug-in API
44 * - Program : Messaging Plug-in API Reference
47 /*==================================================================================================
49 ==================================================================================================*/
50 #include "MsgTransportTypes.h"
51 #include "MsgStorageTypes.h"
52 #include "MsgSettingTypes.h"
53 #include "MsgInternalTypes.h"
62 * @ingroup MESSAGING_FRAMEWORK
63 * @defgroup MESSAGING_PLUGIN_API Messaging Plug-in API
67 /*==================================================================================================
69 ==================================================================================================*/
70 typedef struct _MSG_PLUGIN_HANDLER_S MSG_PLUGIN_HANDLER_S;
72 typedef struct _MSG_PLUGIN_LISTENER_S MSG_PLUGIN_LISTENER_S;
75 /*==================================================================================================
77 ==================================================================================================*/
82 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
83 * ALL Plug-in SHOULD implement this function.
86 * Create plug-in handle for Message Framework.
87 * Message Framework will able to reach plugin functions by handle.
89 * \par Typical use case:
90 * Create plug-in handle.
92 * \par Method of function operation:
93 * Set handle information by plug-in.
95 * \par Sync (or) Async:
96 * This is a Synchronous API.
98 * \par Important notes:
99 * This function MUST be implement by plug-ins..
101 * \param input - handle is Message handle.
103 * \return Return Type (int(MSG_ERROR_T)) \n
104 * - MSG_SUCCESS Success in operation.
105 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
107 * \par Prospective clients:
110 * \par Related functions:
113 * \par Known issues/bugs:
117 /*================================================================================================*/
118 MSG_ERROR_T MsgPlgCreateHandle(MSG_PLUGIN_HANDLER_S *pPluginHandle);
124 * A Prototype of the function which will be called when the plug-in is finalized at Message Framework.
125 * ALL Plug-in SHOULD implement this function.
128 * Destroy plug-in handle for Message Framework.
130 * \par Typical use case:
131 * Destroy plug-in handle.
133 * \par Method of function operation:
134 * Remove handle information by plug-in.
136 * \par Sync (or) Async:
137 * This is a Synchronous API.
139 * \par Important notes:
140 * This function MUST be implement by plug-ins..
142 * \param input - handle is Message handle.
144 * \return Return Type (int(MSG_ERROR_T)) \n
145 * - MSG_SUCCESS Success in operation.
146 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
148 * \par Prospective clients:
151 * \par Related functions:
154 * \par Known issues/bugs:
158 /*================================================================================================*/
159 MSG_ERROR_T MsgPlgDestroyHandle(MSG_PLUGIN_HANDLER_S *pPluginHandle);
168 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
169 * ALL Plug-in SHOULD implement this function.
172 * Initializing plug-in.
173 * Precede jobs must done in this function.
175 * \par Typical use case:
176 * Initializing plug-in.
178 * \par Method of function operation:
179 * Make up pre-works for plug-in.
181 * \par Sync (or) Async:
182 * This is a Synchronous API.
184 * \par Important notes:
185 * This function MUST be implement by plug-ins..
187 * \return Return Type (int(MSG_ERROR_T)) \n
188 * - MSG_SUCCESS Success in operation.
189 * - MSG_ERR_PLUGIN_REGEVENT Plug-in's error during operations.
191 * \par Prospective clients:
194 * \par Related functions:
197 * \par Known issues/bugs:
201 /*================================================================================================*/
202 typedef MSG_ERROR_T (*MsgPlgInitialize)();
208 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
209 * ALL Plug-in SHOULD implement this function.
212 * Create plug-in handle for Message Framework.
213 * Message Framework will able to reach plugin functions by handle.
215 * \par Typical use case:
216 * Create plug-in handle.
218 * \par Method of function operation:
219 * Set handle information by plug-in.
221 * \par Sync (or) Async:
222 * This is a Synchronous API.
224 * \par Important notes:
225 * This function MUST be implement by plug-ins..
227 * \param input - handle is Message handle.
229 * \return Return Type (int(MSG_ERROR_T)) \n
230 * - MSG_SUCCESS Success in operation.
231 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
233 * \par Prospective clients:
236 * \par Related functions:
239 * \par Known issues/bugs:
243 /*================================================================================================*/
244 typedef MSG_ERROR_T (*MsgPlgFinalize)();
250 * A Prototype of the function which will be called when the plug-in is loaded at Message Framework.
251 * ALL Plug-in SHOULD implement this function.
254 * Regist listeners to handle incomming messages..
257 * \par Typical use case:
260 * \par Method of function operation:
261 * Set listener informations in plug-in.
263 * \par Sync (or) Async:
264 * This is a Synchronous API.
266 * \par Important notes:
267 * This function MUST be implement by plug-ins..
269 * \param input - listener is callback listeners.
271 * \return Return Type (int(MSG_ERROR_T)) \n
272 * - MSG_SUCCESS Success in operation.
274 * \par Prospective clients:
277 * \par Related functions:
280 * \par Known issues/bugs:
284 /*================================================================================================*/
285 typedef MSG_ERROR_T (*MsgPlgRegisterListener)(MSG_PLUGIN_LISTENER_S *pListener);
291 * A Prototype of the function which will be called when Message Framework has to check sim card status.
292 * SMS Plug-in SHOULD implement this function.
295 * Checking sim card status for Message Framework.
297 * \par Typical use case:
298 * To check sim card status.
300 * \par Method of function operation:
301 * Check SIM card status and return result of sim card is changed or not.
303 * \par Sync (or) Async:
304 * This is a Synchronous API.
306 * \par Important notes:
307 * This function MUST be implement by plug-ins..
309 * \param output - bChanged is a boolean type value which shows sim card status.
311 * \return Return Type (int(MSG_ERROR_T)) \n
312 * - MSG_SUCCESS Success in operation.
314 * \par Prospective clients:
317 * \par Related functions:
320 * \par Known issues/bugs:
324 /*================================================================================================*/
325 typedef MSG_ERROR_T (*MsgPlgCheckSimStatus)(MSG_SIM_STATUS_T *pStatus);
331 * A Prototype of the function which will be called when Message Framework has to check device status.
332 * SMS Plug-in SHOULD implement this function.
335 * Create plug-in handle for Message Framework.
336 * Message Framework will able to reach plugin functions by handle.
338 * \par Typical use case:
339 * Create plug-in handle.
341 * \par Method of function operation:
342 * Set handle information by plug-in.
344 * \par Sync (or) Async:
345 * This is a Synchronous API.
347 * \par Important notes:
348 * This function MUST be implement by plug-ins..
350 * \param input - handle is Message handle.
352 * \return Return Type (int(MSG_ERROR_T)) \n
353 * - MSG_SUCCESS Success in operation.
354 * - MSG_ERR_NULL_POINTER Plug-in handle is invalid.
356 * \par Prospective clients:
359 * \par Related functions:
362 * \par Known issues/bugs:
366 /*================================================================================================*/
367 typedef MSG_ERROR_T (*MsgPlgCheckDeviceStatus)();
374 * A Prototype of the function which will be called when Message Framework has to submit a message to send.
375 * ALL Plug-in SHOULD implement this function.
380 * \par Typical use case:
383 * \par Method of function operation:
384 * Convert message data to raw message data.
385 * Send raw message data to selected network.
387 * \par Sync (or) Async:
388 * This is a Synchronous API.
390 * \par Important notes:
391 * This function MUST be implement by plug-ins.
393 * \param input - pReqInfo is message data to send.
394 * \param input - bReqCb shows callback is required.
396 * \return Return Type (int(MSG_ERROR_T)) \n
397 * - MSG_SUCCESS Success in operation.
398 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
400 * \par Prospective clients:
403 * \par Related functions:
406 * \par Known issues/bugs:
410 /*================================================================================================*/
411 typedef MSG_ERROR_T (*MsgPlgSubmitRequest)(MSG_REQUEST_INFO_S *pReqInfo, bool bReqCb);
418 * A Prototype of the function which will be called when Message Framework has to save a message to SIM card.
419 * SMS Plug-in SHOULD implement this function.
422 * Save a message to SIM card.
424 * \par Typical use case:
425 * To save a message to SIM card..
427 * \par Method of function operation:
428 * Convert message data to raw message data.
429 * Save the raw message data to SIM card.
431 * \par Sync (or) Async:
432 * This is a Synchronous API.
434 * \par Important notes:
435 * This function MUST be implement by plug-ins.
437 * \param input - pMsgInfo is the information of message.
438 * \param output - pSimIdList is the list of messages saved in SIM card.
440 * \return Return Type (int(MSG_ERROR_T)) \n
441 * - MSG_SUCCESS Success in operation.
442 * - MSG_ERR_PLUGIN_SIM_MSG_FULL SIM card's capacity for SMS message is full.
443 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
445 * \par Prospective clients:
448 * \par Related functions:
451 * \par Known issues/bugs:
455 /*================================================================================================*/
456 typedef MSG_ERROR_T (*MsgPlgInitSimMessage)();
463 * A Prototype of the function which will be called when Message Framework has to save a message to SIM card.
464 * SMS Plug-in SHOULD implement this function.
467 * Save a message to SIM card.
469 * \par Typical use case:
470 * To save a message to SIM card..
472 * \par Method of function operation:
473 * Convert message data to raw message data.
474 * Save the raw message data to SIM card.
476 * \par Sync (or) Async:
477 * This is a Synchronous API.
479 * \par Important notes:
480 * This function MUST be implement by plug-ins.
482 * \param input - pMsgInfo is the information of message.
483 * \param output - pSimIdList is the list of messages saved in SIM card.
485 * \return Return Type (int(MSG_ERROR_T)) \n
486 * - MSG_SUCCESS Success in operation.
487 * - MSG_ERR_PLUGIN_SIM_MSG_FULL SIM card's capacity for SMS message is full.
488 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
490 * \par Prospective clients:
493 * \par Related functions:
496 * \par Known issues/bugs:
500 /*================================================================================================*/
501 typedef MSG_ERROR_T (*MsgPlgSaveSimMessage)(const MSG_MESSAGE_INFO_S *pMsgInfo, SMS_SIM_ID_LIST_S *pSimIdList);
507 * A Prototype of the function which will be called when Message Framework has to delete a message in SIM card.
508 * SMS Plug-in SHOULD implement this function.
511 * delete a message in SIM card.
513 * \par Typical use case:
514 * To save a message to SIM card..
516 * \par Method of function operation:
517 * delete a message data in SIM card which is indexed by ID.
519 * \par Sync (or) Async:
520 * This is a Synchronous API.
522 * \par Important notes:
523 * This function MUST be implement by plug-ins.
525 * \param input - SimMsgId is the index of the message to delete.
527 * \return Return Type (int(MSG_ERROR_T)) \n
528 * - MSG_SUCCESS Success in operation.
529 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
531 * \par Prospective clients:
534 * \par Related functions:
537 * \par Known issues/bugs:
541 /*================================================================================================*/
542 typedef MSG_ERROR_T (*MsgPlgDeleteSimMessage)(MSG_SIM_ID_T SimMsgId);
548 * A Prototype of the function which will be called when Message Framework has to set read status of message in SIM card.
549 * SMS Plug-in SHOULD implement this function.
552 * Set read status of SIM cad message.
554 * \par Typical use case:
555 * To set read status of SIM card message.
557 * \par Method of function operation:
558 * Save the given read status to SIM card message.
560 * \par Sync (or) Async:
561 * This is a Synchronous API.
563 * \par Important notes:
564 * This function MUST be implement by plug-ins.
566 * \param input - SimMsgId is the index of the message to set read status.
568 * \return Return Type (int(MSG_ERROR_T)) \n
569 * - MSG_SUCCESS Success in operation.
570 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
572 * \par Prospective clients:
575 * \par Related functions:
578 * \par Known issues/bugs:
582 /*================================================================================================*/
583 typedef MSG_ERROR_T (*MsgPlgSetReadStatus)(MSG_SIM_ID_T SimMsgId);
589 * A Prototype of the function which will be called when Message Framework has to set read status of message in SIM card.
590 * SMS Plug-in SHOULD implement this function.
593 * Set read status of SIM cad message.
595 * \par Typical use case:
596 * To set read status of SIM card message.
598 * \par Method of function operation:
599 * Save the given read status to SIM card message.
601 * \par Sync (or) Async:
602 * This is a Synchronous API.
604 * \par Important notes:
605 * This function MUST be implement by plug-ins.
607 * \param input - SimMsgId is the index of the message to set read status.
609 * \return Return Type (int(MSG_ERROR_T)) \n
610 * - MSG_SUCCESS Success in operation.
611 * - MSG_ERR_PLUGIN_STORAGE Exception is occured in plug-in.
613 * \par Prospective clients:
616 * \par Related functions:
619 * \par Known issues/bugs:
623 /*================================================================================================*/
624 typedef MSG_ERROR_T (*MsgPlgSetMemoryStatus)(MSG_ERROR_T Error);
631 * A Prototype of the function which will be called when Message Framework has to save configuration of network to SIM card.
632 * SMS Plug-in SHOULD implement this function.
635 * Save configuration information to SIM card.
637 * \par Typical use case:
638 * To save configuration information to SIM card.
640 * \par Method of function operation:
641 * Convert information data to raw data.
642 * Save raw data to SIM card.
644 * \par Sync (or) Async:
645 * This is a Synchronous API.
647 * \par Important notes:
648 * This function MUST be implement by plug-ins.
650 * \param input - pSetting is information of configuration.
652 * \return Return Type (int(MSG_ERROR_T)) \n
653 * - MSG_SUCCESS Success in operation.
654 * - MSG_ERR_PLUGIN_SETTING Exception is occured in plug-in.
656 * \par Prospective clients:
659 * \par Related functions:
662 * \par Known issues/bugs:
666 /*================================================================================================*/
667 typedef MSG_ERROR_T (*MsgPlgInitConfigData)(MSG_SIM_STATUS_T SimStatus);
674 * A Prototype of the function which will be called when Message Framework has to save configuration of network to SIM card.
675 * SMS Plug-in SHOULD implement this function.
678 * Save configuration information to SIM card.
680 * \par Typical use case:
681 * To save configuration information to SIM card.
683 * \par Method of function operation:
684 * Convert information data to raw data.
685 * Save raw data to SIM card.
687 * \par Sync (or) Async:
688 * This is a Synchronous API.
690 * \par Important notes:
691 * This function MUST be implement by plug-ins.
693 * \param input - pSetting is information of configuration.
695 * \return Return Type (int(MSG_ERROR_T)) \n
696 * - MSG_SUCCESS Success in operation.
697 * - MSG_ERR_PLUGIN_SETTING Exception is occured in plug-in.
699 * \par Prospective clients:
702 * \par Related functions:
705 * \par Known issues/bugs:
709 /*================================================================================================*/
710 typedef MSG_ERROR_T (*MsgPlgSetConfigData)(const MSG_SETTING_S *pSetting);
716 * A Prototype of the function which will be called when Message Framework has to get configuration of network from SIM card.
717 * SMS Plug-in SHOULD implement this function.
720 * Get configuration information from SIM card.
722 * \par Typical use case:
723 * To get configuration information from SIM card.
725 * \par Method of function operation:
726 * Convert raw data to information data.
727 * Get configuration data from SIM card.
729 * \par Sync (or) Async:
730 * This is a Synchronous API.
732 * \par Important notes:
733 * This function MUST be implement by plug-ins.
735 * \param input - pSetting is information of configuration.
737 * \return Return Type (int(MSG_ERROR_T)) \n
738 * - MSG_SUCCESS Success in operation.
739 * - MSG_ERR_PLUGIN_SETTING Exception is occured in plug-in.
741 * \par Prospective clients:
744 * \par Related functions:
747 * \par Known issues/bugs:
751 /*================================================================================================*/
752 typedef MSG_ERROR_T (*MsgPlgGetConfigData)(MSG_SETTING_S *pSetting);
758 * A Prototype of the function which will be called when Message Framework has to store MMS message.
759 * MMS Plug-in SHOULD implement this function.
762 * Save MMS message to plug-in defined DB.
764 * \par Typical use case:
765 * To save MMS message to plug-in defined DB.
767 * \par Method of function operation:
768 * Convert MMS Message data to cetain format for plug-in.
769 * Save the certain format MMS message information to DB.
771 * \par Sync (or) Async:
772 * This is a Synchronous API.
774 * \par Important notes:
775 * This function MUST be implement by plug-ins.
777 * \param input - pMsgInfo is information of MMS message.
778 * \param input - pSendOptInfo is information of sending option.
779 * \param output - pFileData is the file path of saved MMS message.
781 * \return Return Type (int(MSG_ERROR_T)) \n
782 * - MSG_SUCCESS Success in operation.
783 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
785 * \par Prospective clients:
788 * \par Related functions:
791 * \par Known issues/bugs:
795 /*================================================================================================*/
796 typedef MSG_ERROR_T (*MsgPlgAddMessage)(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_SENDINGOPT_INFO_S* pSendOptInfo, char* pFileData);
802 * A Prototype of the function which will be called when Message Framework has to process received MMS message indicator.
803 * MMS Plug-in SHOULD implement this function.
806 * Process MMS message indicator.
808 * \par Typical use case:
809 * To process MMS message indicator.
811 * \par Method of function operation:
812 * Procces MMS Message indicator in options.
814 * \par Sync (or) Async:
815 * This is a Synchronous API.
817 * \par Important notes:
818 * This function MUST be implement by plug-ins.
820 * \param input - pMsgInfo is information of MMS message.
821 * \param input - pRequest is information of request options.
822 * \param output - bRejects shows the reject status.
824 * \return Return Type (int(MSG_ERROR_T)) \n
825 * - MSG_SUCCESS Success in operation.
826 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
828 * \par Prospective clients:
831 * \par Related functions:
834 * \par Known issues/bugs:
838 /*================================================================================================*/
839 typedef MSG_ERROR_T (*MsgPlgProcessReceivedInd)(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_REQUEST_INFO_S* pRequest, bool* bReject);
845 * A Prototype of the function which will be called when Message Framework has to update MMS message.
846 * MMS Plug-in SHOULD implement this function.
849 * Update MMS message to plug-in defined DB.
851 * \par Typical use case:
852 * To update MMS message to plug-in defined DB.
854 * \par Method of function operation:
855 * Convert MMS Message data to cetain format for plug-in.
856 * Update the certain format MMS message information to DB.
858 * \par Sync (or) Async:
859 * This is a Synchronous API.
861 * \par Important notes:
862 * This function MUST be implement by plug-ins.
864 * \param input - pMsgInfo is information of MMS message.
865 * \param input - pSendOptInfo is information of sending option.
866 * \param output - pFileData is the file path of saved MMS message.
868 * \return Return Type (int(MSG_ERROR_T)) \n
869 * - MSG_SUCCESS Success in operation.
870 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
872 * \par Prospective clients:
875 * \par Related functions:
878 * \par Known issues/bugs:
882 /*================================================================================================*/
883 typedef MSG_ERROR_T (*MsgPlgUpdateMessage)(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_SENDINGOPT_INFO_S* pSendOptInfo, char* pFileData);
889 * A Prototype of the function which will be called when Message Framework has to get MMS message.
890 * MMS Plug-in SHOULD implement this function.
895 * \par Typical use case:
896 * To get MMS message.
898 * \par Method of function operation:
899 * Get MMS Message from certian plug-in defined DB.
901 * \par Sync (or) Async:
902 * This is a Synchronous API.
904 * \par Important notes:
905 * This function MUST be implement by plug-ins.
907 * \param output - pMsg is information of MMS message.
908 * \param output - pSendOptInfo is information of sending options.
909 * \param output - pMmsMsg is information of MMS messages detail data.
910 * \param output - pDestMsg is file path of MMS message.
912 * \return Return Type (int(MSG_ERROR_T)) \n
913 * - MSG_SUCCESS Success in operation.
914 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
916 * \par Prospective clients:
919 * \par Related functions:
922 * \par Known issues/bugs:
926 /*================================================================================================*/
927 typedef MSG_ERROR_T (*MsgPlgGetMmsMessage)(MSG_MESSAGE_INFO_S* pMsg, MSG_SENDINGOPT_INFO_S* pSendOptInfo, MMS_MESSAGE_DATA_S* pMmsMsg, char** pDestMsg);
933 * A Prototype of the function which will be called when Message Framework has to update reject status of MMS message.
934 * MMS Plug-in SHOULD implement this function.
937 * Update reject status of MMS message.
939 * \par Typical use case:
940 * To update reject status of MMS message.
942 * \par Method of function operation:
943 * Update reject status of MMS Message from certian plug-in defined DB.
945 * \par Sync (or) Async:
946 * This is a Synchronous API.
948 * \par Important notes:
949 * This function MUST be implement by plug-ins.
951 * \param input - pMsgInfo is information of MMS message.
953 * \return Return Type (int(MSG_ERROR_T)) \n
954 * - MSG_SUCCESS Success in operation.
955 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
957 * \par Prospective clients:
960 * \par Related functions:
963 * \par Known issues/bugs:
967 /*================================================================================================*/
968 typedef MSG_ERROR_T (*MsgPlgUpdateRejectStatus)(MSG_MESSAGE_INFO_S *pMsgInfo);
974 * A Prototype of the function which will be called when Message Framework has to compose read report for MMS message.
975 * MMS Plug-in SHOULD implement this function.
978 * Compose read report for MMS message.
980 * \par Typical use case:
981 * To compose read report for MMS message.
983 * \par Method of function operation:
984 * Compose read report for MMS message.
987 * \par Sync (or) Async:
988 * This is a Synchronous API.
990 * \par Important notes:
991 * This function MUST be implement by plug-ins.
993 * \param input - pMsgInfo is information of MMS message.
995 * \return Return Type (int(MSG_ERROR_T)) \n
996 * - MSG_SUCCESS Success in operation.
997 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
999 * \par Prospective clients:
1000 * Internal/Plug-ins.
1002 * \par Related functions:
1005 * \par Known issues/bugs:
1009 /*================================================================================================*/
1010 typedef MSG_ERROR_T (*MsgPlgComposeReadReport)(MSG_MESSAGE_INFO_S *pMsgInfo);
1015 * A Prototype of the function which will be called when Message Framework has to compose read report for MMS message.
1016 * MMS Plug-in SHOULD implement this function.
1019 * Compose read report for MMS message.
1021 * \par Typical use case:
1022 * To compose read report for MMS message.
1024 * \par Method of function operation:
1025 * Compose read report for MMS message.
1028 * \par Sync (or) Async:
1029 * This is a Synchronous API.
1031 * \par Important notes:
1032 * This function MUST be implement by plug-ins.
1034 * \param input - pMsgInfo is information of MMS message.
1036 * \return Return Type (int(MSG_ERROR_T)) \n
1037 * - MSG_SUCCESS Success in operation.
1038 * - MSG_ERR_PLUGIN_TRANSPORT Exception is occured in plug-in.
1040 * \par Prospective clients:
1041 * Internal/Plug-ins.
1043 * \par Related functions:
1046 * \par Known issues/bugs:
1050 /*================================================================================================*/
1051 typedef MSG_ERROR_T (*MsgPlgRestoreMsg)(MSG_MESSAGE_INFO_S *pMsg, char* pRcvdBody, int rcvdBodyLen, char* filePath);
1054 // framework defined callbacks.
1055 typedef void (*MsgPlgOnSentStatus)(MSG_SENT_STATUS_S *pSentStatus);
1056 typedef void (*MsgPlgOnStorageChange)(MSG_STORAGE_CHANGE_TYPE_T storageChangeType, MSG_MESSAGE_INFO_S *pMsgInfo);
1057 typedef MSG_ERROR_T (*MsgPlgOnMsgIncoming)(MSG_MESSAGE_INFO_S *pMsgInfo);
1058 typedef MSG_ERROR_T (*MsgPlgOnInitSimBySat)(void);
1059 typedef MSG_ERROR_T (*MsgPlgOnSyncMLMsgIncoming)(MSG_SYNCML_MESSAGE_DATA_S *pSyncMLData);
1060 typedef MSG_ERROR_T (*MsgPlgOnLBSMsgIncoming)(MSG_LBS_MESSAGE_DATA_S *pLBSData);
1061 typedef MSG_ERROR_T (*MsgPlgOnMmsConfIncoming)(MSG_MESSAGE_INFO_S *pMsgInfo, MSG_REQUEST_ID_T *pRequest);
1064 /*==================================================================================================
1066 ==================================================================================================*/
1067 struct _MSG_PLUGIN_LISTENER_S
1069 MsgPlgOnSentStatus pfSentStatusCb; /** The function pointer of sent status callback. */
1070 MsgPlgOnStorageChange pfStorageChangeCb; /** The function pointer of storage change callback. */
1071 MsgPlgOnMsgIncoming pfMsgIncomingCb; /** The function pointer of receive message callback. */
1072 MsgPlgOnInitSimBySat pfInitSimBySatCb; /** The function pointer of init SIM callback. */
1073 MsgPlgOnSyncMLMsgIncoming pfSyncMLMsgIncomingCb; /** The function pointer of receive syncML message callback. */
1074 MsgPlgOnLBSMsgIncoming pfLBSMsgIncomingCb; /** The function pointer of receive LBS message callback. */
1075 MsgPlgOnMmsConfIncoming pfMmsConfIncomingCb; /** The function pointer of receive MMS conf */
1079 struct _MSG_PLUGIN_HANDLER_S
1081 MsgPlgInitialize pfInitialize; /**< The function pointer of initialize. */
1082 MsgPlgFinalize pfFinalize; /**< The function pointer of finalize. */
1083 MsgPlgRegisterListener pfRegisterListener; /**< The function pointer of register listener. */
1084 MsgPlgCheckSimStatus pfCheckSimStatus; /**< The function pointer of check SIM status. */
1085 MsgPlgCheckDeviceStatus pfCheckDeviceStatus; /**< The function pointer of check device status. */
1086 MsgPlgSubmitRequest pfSubmitRequest; /**< The function pointer of submit request. */
1087 MsgPlgInitSimMessage pfInitSimMessage; /**< The function pointer of initialize SIM msg. */
1088 MsgPlgSaveSimMessage pfSaveSimMessage; /**< The function pointer of save SIM msg. */
1089 MsgPlgDeleteSimMessage pfDeleteSimMessage; /**< The function pointer of delete SIM msg. */
1090 MsgPlgSetReadStatus pfSetReadStatus; /**< The function pointer of set read status. */
1091 MsgPlgSetMemoryStatus pfSetMemoryStatus; /**< The function pointer of set memory status. */
1092 MsgPlgInitConfigData pfInitConfigData; /**< The function pointer of initialize of setting. */
1093 MsgPlgSetConfigData pfSetConfigData; /**< The function pointer of save setting. */
1094 MsgPlgGetConfigData pfGetConfigData; /**< The function pointer of get setting. */
1095 MsgPlgRestoreMsg pfRestoreMsg;
1096 MsgPlgAddMessage pfAddMessage; /**< The function pointer of add Message. */
1097 MsgPlgProcessReceivedInd pfProcessReceivedInd; /**< The function pointer of Process Notification Ind. */
1098 MsgPlgUpdateMessage pfUpdateMessage; /**< The function pointer of Update MMS Message */
1099 MsgPlgGetMmsMessage pfGetMmsMessage;
1100 MsgPlgUpdateRejectStatus pfUpdateRejectStatus;
1101 MsgPlgComposeReadReport pfComposeReadReport;