//
inbox context
CMsvEntry * entry = CMsvEntry::NewL( * iSession, KMsvGlobalInBoxIndexEntryId, TMsvSelectionOrdering());
CleanupStack::PushL(entry);
// get list of SMS entries in inbox
CMsvEntrySelection * children = entry -> ChildrenWithMtmL(KUidMsgTypeSMS);
CleanupStack::PushL(children);
:
:
CleanupStack::PopAndDestroy( 2 ); // entry, children
To access contents of message:
// SMS arrived
CBaseMtm * smsMtm = iMtmReg -> NewMtmL(KUidMsgTypeSMS);
CleanupStack::PushL(smsMtm);
// entryId extracted from 'children' list
TMsvEntry msvEntry = (iSession -> GetEntryL(entryId)) -> Entry();
smsMtm -> SwitchCurrentEntryL(entryId);
smsMtm -> LoadMessageL();
// sender info stored in details
TFileName sender = msvEntry.iDetails;
// body
TFileName body = smsMtm -> Body().Read( 0 );
:
:
CleanupStack::PopAndDestroy(smsMtm);
CMsvEntry * entry = CMsvEntry::NewL( * iSession, KMsvGlobalInBoxIndexEntryId, TMsvSelectionOrdering());
CleanupStack::PushL(entry);
// get list of SMS entries in inbox
CMsvEntrySelection * children = entry -> ChildrenWithMtmL(KUidMsgTypeSMS);
CleanupStack::PushL(children);
:
:
CleanupStack::PopAndDestroy( 2 ); // entry, children
To access contents of message:
// SMS arrived
CBaseMtm * smsMtm = iMtmReg -> NewMtmL(KUidMsgTypeSMS);
CleanupStack::PushL(smsMtm);
// entryId extracted from 'children' list
TMsvEntry msvEntry = (iSession -> GetEntryL(entryId)) -> Entry();
smsMtm -> SwitchCurrentEntryL(entryId);
smsMtm -> LoadMessageL();
// sender info stored in details
TFileName sender = msvEntry.iDetails;
// body
TFileName body = smsMtm -> Body().Read( 0 );
:
:
CleanupStack::PopAndDestroy(smsMtm);
//
first take a handle to folder
TMsvSelectionOrdering sort;
sort.SetShowInvisibleEntries(ETrue); // we want to handle also the invisible entries
// Take a handle to the folder entry
CMsvEntry * parentEntry = CMsvEntry::NewL( * iSession, KMsvGlobalInBoxIndexEntryId, sort);
// CMsvEntry* parentEntry = CMsvEntry::NewL(*iSession, aFolder, TMsvSelectionOrdering());
CleanupStack::PushL(parentEntry);
// A selection of all MMS entries
CMsvEntrySelection * entries = parentEntry -> ChildrenWithMtmL(KUidMsgTypeSMS);
CleanupStack::PushL(entries);
// go through the selection and read descriptions into a list
for (TInt i = 0 ; i < entries -> Count(); i ++ )
... {
// we can use the mtm to go through the selection.
iSMSmtm->SwitchCurrentEntryL( (*entries)[i] ); // this is where i get the unhandled exception
iSMSmtm->LoadMessageL();
aDescriptorList.AppendL(iSMSmtm->Body().Read(i, 30));
}
CleanupStack::Pop( 2 ); // parentEntry, entries
delete parentEntry;
return entries; // Caller must free this memory after use!
TMsvSelectionOrdering sort;
sort.SetShowInvisibleEntries(ETrue); // we want to handle also the invisible entries
// Take a handle to the folder entry
CMsvEntry * parentEntry = CMsvEntry::NewL( * iSession, KMsvGlobalInBoxIndexEntryId, sort);
// CMsvEntry* parentEntry = CMsvEntry::NewL(*iSession, aFolder, TMsvSelectionOrdering());
CleanupStack::PushL(parentEntry);
// A selection of all MMS entries
CMsvEntrySelection * entries = parentEntry -> ChildrenWithMtmL(KUidMsgTypeSMS);
CleanupStack::PushL(entries);
// go through the selection and read descriptions into a list
for (TInt i = 0 ; i < entries -> Count(); i ++ )
... {
// we can use the mtm to go through the selection.
iSMSmtm->SwitchCurrentEntryL( (*entries)[i] ); // this is where i get the unhandled exception
iSMSmtm->LoadMessageL();
aDescriptorList.AppendL(iSMSmtm->Body().Read(i, 30));
}
CleanupStack::Pop( 2 ); // parentEntry, entries
delete parentEntry;
return entries; // Caller must free this memory after use!