--- a/logsui/logsengine/logssymbianos/src/logsreader.cpp Thu Jun 24 14:44:14 2010 +0300
+++ b/logsui/logsengine/logssymbianos/src/logsreader.cpp Thu Jul 08 11:31:03 2010 +0300
@@ -37,28 +37,17 @@
QList<LogsEvent*>& events,
LogsReaderObserver& observer,
bool readAllEvents)
- : CActive( EPriorityStandard ),
- mLogViewRecent(0),
- mLogViewEvent(0),
- mDuplicatesView(0),
+ : LogsWorker(readAllEvents),
mFsSession(fsSession),
- mLogClient(logClient),
mStrings(strings),
mEvents(events),
mObserver(observer),
- mReadAllEvents(readAllEvents),
- mIndex(0),
- mCurrentStateIndex(0),
- mCurrentStateMachine(0),
- mCurrentEventId(-1),
mGlobalObserverSet(false)
{
LOGS_QDEBUG( "logs [ENG] -> LogsReader::LogsReader()" )
-
- CActiveScheduler::Add( this );
-
- initializeReadStates();
-
+
+ mLogClient = &logClient;
+ initializeReadStates();
setGlobalObserver();
LOGS_QDEBUG( "logs [ENG] <- LogsReader::LogsReader()" )
@@ -77,8 +66,11 @@
qDeleteAll( mModifyingStates );
qDeleteAll( mDuplicateReadingStates );
delete mLogViewRecent;
+ mLogViewRecent = 0;
delete mLogViewEvent;
+ mLogViewEvent = 0;
delete mDuplicatesView;
+ mDuplicatesView = 0;
qDeleteAll( mDuplicatedEvents );
LOGS_QDEBUG( "logs [ENG] <- LogsReader::~LogsReader()" )
@@ -127,7 +119,7 @@
mContactCache.clear();
}
LogsReaderStateFillDetails* fillDetailsState =
- new LogsReaderStateFillDetails(*this);
+ new LogsReaderStateFillDetails(*this, *this);
fillDetailsState->fillDetails();
delete fillDetailsState;
LOGS_QDEBUG( "logs [ENG] <- LogsReader::updateDetails()" )
@@ -158,25 +150,6 @@
}
// ----------------------------------------------------------------------------
-// LogsReader::RunL
-// ----------------------------------------------------------------------------
-//
-void LogsReader::RunL()
-{
- LOGS_QDEBUG_3( "logs [ENG] -> LogsReader::RunL(), (state, status):",
- mCurrentStateIndex, iStatus.Int() )
-
- // Error handling in RunError
- __ASSERT_ALWAYS( iStatus.Int() == KErrNone, User::Leave( iStatus.Int() ) );
-
- if ( currentState().continueL() ){
- SetActive();
- }
-
- LOGS_QDEBUG( "logs [ENG] <- LogsReader::RunL()" )
-}
-
-// ----------------------------------------------------------------------------
// LogsReader::RunError
// ----------------------------------------------------------------------------
//
@@ -191,17 +164,6 @@
}
// ----------------------------------------------------------------------------
-// LogsReader::DoCancel
-// ----------------------------------------------------------------------------
-//
-void LogsReader::DoCancel()
-{
- logView().Cancel();
- mDuplicatesView->Cancel();
- mLogClient.Cancel();
-}
-
-// ----------------------------------------------------------------------------
// LogsReader::startL
// ----------------------------------------------------------------------------
//
@@ -375,44 +337,6 @@
}
// ----------------------------------------------------------------------------
-// LogsReader::setCurrentState
-// ----------------------------------------------------------------------------
-//
-void LogsReader::setCurrentState(const LogsReaderStateBase& state)
-{
- bool found(false);
- for( int i = 0; i < mCurrentStateMachine->count() && !found; i++ ){
- if ( mCurrentStateMachine->at(i) == &state ){
- mCurrentStateIndex = i;
- found = true;
- LOGS_QDEBUG_2( "logs [ENG] <-> LogsReader::setCurrentState, index:",
- mCurrentStateIndex )
- }
- }
-}
-
-// ----------------------------------------------------------------------------
-// LogsReader::logView
-// ----------------------------------------------------------------------------
-//
-CLogView& LogsReader::logView()
-{
- if ( mLogViewRecent ){
- return *mLogViewRecent;
- }
- return *mLogViewEvent;
-}
-
-// ----------------------------------------------------------------------------
-// LogsReader::duplicatesView
-// ----------------------------------------------------------------------------
-//
-CLogViewDuplicate& LogsReader::duplicatesView()
-{
- return *mDuplicatesView;
-}
-
-// ----------------------------------------------------------------------------
// LogsReader::events
// ----------------------------------------------------------------------------
//
@@ -422,15 +346,6 @@
}
// ----------------------------------------------------------------------------
-// LogsReader::index
-// ----------------------------------------------------------------------------
-//
-int& LogsReader::index()
-{
- return mIndex;
-}
-
-// ----------------------------------------------------------------------------
// LogsReader::strings
// ----------------------------------------------------------------------------
//
@@ -440,15 +355,6 @@
}
// ----------------------------------------------------------------------------
-// LogsReader::reqStatus
-// ----------------------------------------------------------------------------
-//
-TRequestStatus& LogsReader::reqStatus()
-{
- return iStatus;
-}
-
-// ----------------------------------------------------------------------------
// LogsReader::observer
// ----------------------------------------------------------------------------
//
@@ -467,33 +373,6 @@
}
// ----------------------------------------------------------------------------
-// LogsReader::currentEventId
-// ----------------------------------------------------------------------------
-//
-int LogsReader::currentEventId()
-{
- return mCurrentEventId;
-}
-
-// ----------------------------------------------------------------------------
-// LogsReader::logClient
-// ----------------------------------------------------------------------------
-//
-CLogClient& LogsReader::logClient()
-{
- return mLogClient;
-}
-
-// ----------------------------------------------------------------------------
-// LogsReader::isRecentView
-// ----------------------------------------------------------------------------
-//
-bool LogsReader::isRecentView()
-{
- return ( mLogViewRecent != 0 );
-}
-
-// ----------------------------------------------------------------------------
// LogsReader::duplicatedEvents
// ----------------------------------------------------------------------------
//
@@ -503,15 +382,6 @@
}
// ----------------------------------------------------------------------------
-// LogsReader::currentState
-// ----------------------------------------------------------------------------
-//
-LogsReaderStateBase& LogsReader::currentState()
-{
- return *(mCurrentStateMachine->at(mCurrentStateIndex));
-}
-
-// ----------------------------------------------------------------------------
// LogsReader::initializeReadStates
// ----------------------------------------------------------------------------
//
@@ -519,11 +389,11 @@
{
if ( mReadStates.count() == 0 ){
- LogsReaderStateInitReading* init = new LogsReaderStateInitReading(*this);
+ LogsReaderStateInitReading* init = new LogsReaderStateInitReading(*this, *this);
LogsReaderStateFiltering* filtering = createFilteringState();
- LogsReaderStateReading* reading = new LogsReaderStateReading(*this);
- LogsReaderStateFillDetails* fillDetails = new LogsReaderStateFillDetails(*this);
- LogsReaderStateDone* done = new LogsReaderStateDone(*this);
+ LogsReaderStateReading* reading = new LogsReaderStateReading(*this, *this);
+ LogsReaderStateFillDetails* fillDetails = new LogsReaderStateFillDetails(*this, *this);
+ LogsReaderStateDone* done = new LogsReaderStateDone(*this, *this);
init->setNextState(*filtering);
filtering->setNextState(*reading);
reading->setNextState(*fillDetails);
@@ -546,14 +416,14 @@
{
if ( mDuplicateReadingStates.count() == 0 ){
LogsReaderStateFiltering* filtering = createFilteringState();
- LogsReaderStateSearchingEvent* searching =
- new LogsReaderStateSearchingEvent(*this);
+ LogsStateSearchingEvent* searching =
+ new LogsStateSearchingEvent(*this);
LogsReaderStateFindingDuplicates* findingDuplicates =
- new LogsReaderStateFindingDuplicates(*this);
+ new LogsReaderStateFindingDuplicates(*this, *this);
LogsReaderStateReadingDuplicates* readingDuplicates =
- new LogsReaderStateReadingDuplicates(*this);
+ new LogsReaderStateReadingDuplicates(*this, *this);
LogsReaderStateReadingDuplicatesDone* done =
- new LogsReaderStateReadingDuplicatesDone(*this);
+ new LogsReaderStateReadingDuplicatesDone(*this, *this);
filtering->setNextState(*searching);
searching->setNextState(*findingDuplicates);
findingDuplicates->setNextState(*readingDuplicates);
@@ -576,11 +446,11 @@
{
if ( mModifyingStates.count() == 0 ){
LogsReaderStateFiltering* filtering = createFilteringState();
- LogsReaderStateSearchingEvent* searching =
- new LogsReaderStateSearchingEvent(*this);
+ LogsStateSearchingEvent* searching =
+ new LogsStateSearchingEvent(*this);
LogsReaderStateMarkingDuplicates* duplicates =
- new LogsReaderStateMarkingDuplicates(*this);
- LogsReaderStateModifyingDone* done = new LogsReaderStateModifyingDone(*this);
+ new LogsReaderStateMarkingDuplicates(*this, *this);
+ LogsReaderStateModifyingDone* done = new LogsReaderStateModifyingDone(*this, *this);
filtering->setNextState(*searching);
searching->setNextState(*duplicates);
duplicates->setNextState(*done);
@@ -629,15 +499,15 @@
{
if ( mReadAllEvents ){
if ( !mLogViewEvent ){
- mLogViewEvent = CLogViewEvent::NewL( mLogClient, *this );
+ mLogViewEvent = CLogViewEvent::NewL( *mLogClient, *this );
}
}
else if ( !mLogViewRecent ) {
- mLogViewRecent = CLogViewRecent::NewL( mLogClient, *this );
+ mLogViewRecent = CLogViewRecent::NewL( *mLogClient, *this );
}
if ( !mDuplicatesView ){
- mDuplicatesView = CLogViewDuplicate::NewL( mLogClient, *this );
+ mDuplicatesView = CLogViewDuplicate::NewL( *mLogClient, *this );
}
}
@@ -663,10 +533,10 @@
{
LogsReaderStateFiltering* filtering = 0;
if ( mReadAllEvents ) {
- filtering = new LogsReaderStateFilteringAll(*this);
+ filtering = new LogsReaderStateFilteringAll(*this, *this);
}
else {
- filtering = new LogsReaderStateFiltering(*this);
+ filtering = new LogsReaderStateFiltering(*this, *this);
}
return filtering;
}
@@ -695,7 +565,7 @@
// Have to ensure that same observer is not set twice, otherwise
// causes crash at later point inside eventlogger
if ( !mGlobalObserverSet ){
- TRAP_IGNORE( mLogClient.SetGlobalChangeObserverL( this ) )
+ TRAP_IGNORE( mLogClient->SetGlobalChangeObserverL( this ) )
mGlobalObserverSet = true;
}
}
@@ -707,7 +577,7 @@
void LogsReader::clearGlobalObserver()
{
if ( mGlobalObserverSet ){
- TRAP_IGNORE( mLogClient.SetGlobalChangeObserverL( 0 ) )
+ TRAP_IGNORE( mLogClient->SetGlobalChangeObserverL( 0 ) )
mGlobalObserverSet = false;
}
}