Отсутствие уведомлений об очистке списка из журнала вызовов

Я использовал CLogViewRecent и MLogViewChangeObserver для отслеживания журнала вызовов на телефонах S60 5-го выпуска.

MLogViewChangeObserver выполняет три функции:

virtual void HandleLogViewChangeEventAddedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount);
virtual void HandleLogViewChangeEventChangedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount);
virtual void HandleLogViewChangeEventDeletedL(TLogId aId, TInt aViewIndex, TInt aChangeIndex, TInt aTotalChangeCount);

Однако только первые два вызываются регулярно, а HandleLogViewChangeEventDeletedL вызывается только иногда.

Например. HandleLogViewChangeEventDeletedL не вызывается, когда я выбираю «Очистить список» в меню в списке «Принятые вызовы» в приложении «Журнал вызовов».

Может ли кто-нибудь указать причину, по которой это происходит, и как это исправить?

Спасибо.


person Bojan Milankovic    schedule 08.03.2010    source источник


Ответы (1)


Чтение источника logcli на Symbian ^ 3 «список очищен» - это событие, отличное от «событие удалено». Это не отражается в миксине обратного вызова MLogViewChangeObserver, только в MLogViewChangeObserverInternal как HandleLogViewChangeEventLogClearedL(). Вот почему это происходит. Извините, я не могу предложить вам обходной путь, кроме реализации вашего собственного клиента logsrv, который обрабатывает ELogChangeTypeLogCleared типы изменений так, как вы хотите.

Может быть, вы могли бы описать то, чего вы пытаетесь достичь, на уровне общей картины, чтобы можно было предложить другие альтернативы.

person laalto    schedule 09.03.2010
comment
Спасибо, что указали мне исходный код. Мое приложение должно быть синхронизировано с журналом вызовов, поэтому при удалении журнала вызовов мой внутренний список вызовов также должен быть очищен. - person Bojan Milankovic; 09.03.2010