I am fiddling around with a little Symbian app to see if I can catch and read MMS messages coming in on the phone. There does not seem to be much documentation around, but there are some whitepapers on this site describing the mechanisms (Using MMS on Symbian phones parts 1 -3) and an example as well (S60_Platform_MMS_Example_v2_1_en.zip). So I created this observer and just have it display what it receives while I send an MMS to my phone (an N95-8GB). What is ment to happpen (according to the documentation) is that you see a EMsvEntriesCreated event when the message arrives and a EMsvEntriesChanged event when the phone has (automatically) downloaded the MMS (both for the KMsvGlobalInBoxIndexEntryId - i.e. inbox). Now I am sending a simple MMS, just one picture and some text. What I see on the phone though is 2 EMsvEntriesCreated events (presumably the first one is the wap push notification) then about 7 or 8 EMsvEntriesChanged events and then a deleted event (that I guess is the notification being removed).
Could anyone explain, or point me to some relevant docs that describe the mechanism for retrieving MMS messages. Are there flags I can check to see which changed event is the last one (i.e. the message is now fully downloaded - the Complete() flag seems to be always set), and why do I get so many changed events? Is this because the MMS is being downloaded in stages? - ifso for the above example it should only download the SMIL and 2 attachments (text and picture) shouldn't it? - so what are all those change events about? I basically need to know at what stage the MMS is fully downloaded/accessable.
Another question. Out of interest, I get EMsvEntriesChanged events with the arg2 of the observer::HandleSessionEventL method (which is ment to be a TMsvId*) is not something I recognise. Is there a complete enum somewhere?