imagehandlingutilities/thumbnailmanager/thumbagdaemon/src/thumbagimageobserver.cpp
branchRCL_3
changeset 41 9d4d3445ce6e
parent 40 6257223ede8a
child 50 60bb012f1157
equal deleted inserted replaced
40:6257223ede8a 41:9d4d3445ce6e
    26 
    26 
    27 #include "thumbagimageobserver.h"
    27 #include "thumbagimageobserver.h"
    28 #include "thumbnaillog.h"
    28 #include "thumbnaillog.h"
    29 #include "thumbnailmanagerconstants.h"
    29 #include "thumbnailmanagerconstants.h"
    30 #include "thumbnailmanagerprivatecrkeys.h"
    30 #include "thumbnailmanagerprivatecrkeys.h"
    31 #include "OstTraceDefinitions.h"
       
    32 #ifdef OST_TRACE_COMPILER_IN_USE
       
    33 #include "thumbagimageobserverTraces.h"
       
    34 #endif
       
    35 
    31 
    36 
    32 
    37 // ---------------------------------------------------------------------------
    33 // ---------------------------------------------------------------------------
    38 // NewLC
    34 // NewLC
    39 // ---------------------------------------------------------------------------
    35 // ---------------------------------------------------------------------------
    40 //
    36 //
    41 CThumbAGImageObserver* CThumbAGImageObserver::NewLC(CThumbAGProcessor* aProcessor)
    37 CThumbAGImageObserver* CThumbAGImageObserver::NewLC(CThumbAGProcessor* aProcessor)
    42     {
    38     {
    43     TN_DEBUG1( "CThumbAGImageObserver::NewLC() - begin" );
    39     TN_DEBUG1( "CThumbAGImageObserver::NewLC() - begin" );
    44     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_NEWLC, "CThumbAGImageObserver::NewLC - begin" );
       
    45     
    40     
    46 	CThumbAGImageObserver* self = new (ELeave) CThumbAGImageObserver(aProcessor);
    41 	CThumbAGImageObserver* self = new (ELeave) CThumbAGImageObserver(aProcessor);
    47 	CleanupStack::PushL( self );
    42 	CleanupStack::PushL( self );
    48 	self->ConstructL();
    43 	self->ConstructL();
    49 	return self;
    44 	return self;
    54 // ---------------------------------------------------------------------------
    49 // ---------------------------------------------------------------------------
    55 //
    50 //
    56 CThumbAGImageObserver* CThumbAGImageObserver::NewL(CThumbAGProcessor* aProcessor)
    51 CThumbAGImageObserver* CThumbAGImageObserver::NewL(CThumbAGProcessor* aProcessor)
    57 	{
    52 	{
    58 	TN_DEBUG1( "CThumbAGImageObserver::NewL() - begin" );
    53 	TN_DEBUG1( "CThumbAGImageObserver::NewL() - begin" );
    59     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_NEWL, "CThumbAGImageObserver::NewL - begin" );
       
    60     
    54     
    61 	CThumbAGImageObserver* self = CThumbAGImageObserver::NewLC(aProcessor);
    55 	CThumbAGImageObserver* self = CThumbAGImageObserver::NewLC(aProcessor);
    62 	CleanupStack::Pop( self );
    56 	CleanupStack::Pop( self );
    63 	return self;
    57 	return self;
    64 	}
    58 	}
    78 // ---------------------------------------------------------------------------
    72 // ---------------------------------------------------------------------------
    79 //
    73 //
    80 void CThumbAGImageObserver::ConstructL()
    74 void CThumbAGImageObserver::ConstructL()
    81 	{
    75 	{
    82 	TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - begin" );
    76 	TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - begin" );
    83 	OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_CONSTRUCTL, "CThumbAGImageObserver::ConstructL - begin" );
       
    84 	
    77 	
    85 #ifdef _DEBUG
    78 #ifdef _DEBUG
    86     iAddCounter = 0;
    79     iAddCounter = 0;
    87     iModCounter = 0;
    80     iModCounter = 0;
    88 #endif
    81 #endif
    89     
    82     
    90     InitializeL();
    83     InitializeL();
    91     	
    84     	
    92 	TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - end" );
    85 	TN_DEBUG1( "CThumbAGImageObserver::ConstructL() - end" );
    93 	OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_CONSTRUCTL, "CThumbAGImageObserver::ConstructL - end" );
       
    94 	}
    86 	}
    95 
    87 
    96 // ---------------------------------------------------------------------------
    88 // ---------------------------------------------------------------------------
    97 // ~CThumbAGImageObserver
    89 // ~CThumbAGImageObserver
    98 // ---------------------------------------------------------------------------
    90 // ---------------------------------------------------------------------------
    99 //
    91 //
   100 void CThumbAGImageObserver::InitializeL()
    92 void CThumbAGImageObserver::InitializeL()
   101     {
    93     {
   102     TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - begin" );
    94     TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - begin" );
   103     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_INITIALIZEL, "CThumbAGImageObserver::InitializeL - begin" );
    95     
   104    
    96    
   105         TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - create observers" );
    97         TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - create observers" );
   106         OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_INITIALIZEL, "CThumbAGImageObserver::InitializeL - create observers" );
       
   107         
    98         
   108         // create shutdown observer
    99         // create shutdown observer
   109         if(iMDSShutdownObserver)
   100         if(iMDSShutdownObserver)
   110             {
   101             {
   111             delete iMDSShutdownObserver;
   102             delete iMDSShutdownObserver;
   126             {
   117             {
   127             iReconnect = CPeriodic::NewL(CActive::EPriorityIdle);
   118             iReconnect = CPeriodic::NewL(CActive::EPriorityIdle);
   128             }
   119             }
   129         
   120         
   130         TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - connect to MDS" );
   121         TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - connect to MDS" );
   131         OstTrace0( TRACE_FATAL, DUP2_CTHUMBAGIMAGEOBSERVER_INITIALIZEL, "CThumbAGImageObserver::InitializeL - connect to MDS" );
       
   132         
   122         
   133         if(iMdESession)
   123         if(iMdESession)
   134             {
   124             {
   135             TRAP_IGNORE( iMdESession->RemoveObjectObserverL( *this ) );
   125             TRAP_IGNORE( iMdESession->RemoveObjectObserverL( *this ) );
   136             TRAP_IGNORE( iMdESession->RemoveObjectObserverL( *this ) );
   126             TRAP_IGNORE( iMdESession->RemoveObjectObserverL( *this ) );
   142 
   132 
   143         iMdESession = CMdESession::NewL( *this );
   133         iMdESession = CMdESession::NewL( *this );
   144         iSessionError = EFalse;
   134         iSessionError = EFalse;
   145       
   135       
   146         TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - end" );
   136         TN_DEBUG1( "CThumbAGImageObserver::InitializeL() - end" );
   147         OstTrace0( TRACE_FATAL, DUP3_CTHUMBAGIMAGEOBSERVER_INITIALIZEL, "CThumbAGImageObserver::InitializeL - end" );
       
   148     }
   137     }
   149 
   138 
   150 // ---------------------------------------------------------------------------
   139 // ---------------------------------------------------------------------------
   151 // ~CThumbAGImageObserver
   140 // ~CThumbAGImageObserver
   152 // ---------------------------------------------------------------------------
   141 // ---------------------------------------------------------------------------
   153 //
   142 //
   154 CThumbAGImageObserver::~CThumbAGImageObserver()
   143 CThumbAGImageObserver::~CThumbAGImageObserver()
   155     {
   144     {
   156     TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - begin" );
   145     TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - begin" );
   157     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_CTHUMBAGIMAGEOBSERVER, "CThumbAGImageObserver::~CThumbAGImageObserver - begin" );
       
   158     
   146     
   159     iShutdown = ETrue;    
   147     iShutdown = ETrue;    
   160     
   148     
   161     delete iMDSShutdownObserver;
   149     delete iMDSShutdownObserver;
   162     iMDSShutdownObserver = NULL;
   150     iMDSShutdownObserver = NULL;
   180         delete iMdESession;
   168         delete iMdESession;
   181         iMdESession = NULL;
   169         iMdESession = NULL;
   182         }
   170         }
   183     
   171     
   184     TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - end" );
   172     TN_DEBUG1( "CThumbAGImageObserver::~CThumbAGImageObserver() - end" );
   185     OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_CTHUMBAGIMAGEOBSERVER, "CThumbAGImageObserver::~CThumbAGImageObserver - end" );
       
   186     }
   173     }
   187 
   174 
   188 // -----------------------------------------------------------------------------
   175 // -----------------------------------------------------------------------------
   189 // CThumbAGImageObserver::HandleSessionOpened
   176 // CThumbAGImageObserver::HandleSessionOpened
   190 // -----------------------------------------------------------------------------
   177 // -----------------------------------------------------------------------------
   191 //
   178 //
   192 void CThumbAGImageObserver::HandleSessionOpened( CMdESession& /* aSession */, TInt aError )
   179 void CThumbAGImageObserver::HandleSessionOpened( CMdESession& /* aSession */, TInt aError )
   193     {
   180     {
   194     TN_DEBUG1( "CThumbAGImageObserver::HandleSessionOpened");
   181     TN_DEBUG1( "CThumbAGImageObserver::HandleSessionOpened");
   195     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_HANDLESESSIONOPENED, "CThumbAGImageObserver::HandleSessionOpened" );
       
   196     
   182     
   197     if (aError == KErrNone)
   183     if (aError == KErrNone)
   198         {
   184         {
   199         TRAPD( err, AddObserversL() );
   185         TRAPD( err, AddObserversL() );
   200         if (err != KErrNone)
   186         if (err != KErrNone)
   201             {
   187             {
   202             TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened, AddObserversL error == %d", err );
   188             TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened, AddObserversL error == %d", err );
   203             OstTrace1( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_HANDLESESSIONOPENED, "CThumbAGImageObserver::HandleSessionOpened, AddObserversL error;err=%d", err );
       
   204             }
   189             }
   205         }
   190         }
   206     else
   191     else
   207         {
   192         {
   208         TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened error == %d", aError );
   193         TN_DEBUG2( "CThumbAGImageObserver::HandleSessionOpened error == %d", aError );
   209         OstTrace1( TRACE_FATAL, DUP2_CTHUMBAGIMAGEOBSERVER_HANDLESESSIONOPENED, "CThumbAGImageObserver::HandleSessionOpened;aError=%d", aError );
       
   210         }
   194         }
   211     }
   195     }
   212 
   196 
   213 // -----------------------------------------------------------------------------
   197 // -----------------------------------------------------------------------------
   214 // CThumbAGImageObserver::HandleSessionError
   198 // CThumbAGImageObserver::HandleSessionError
   215 // -----------------------------------------------------------------------------
   199 // -----------------------------------------------------------------------------
   216 //
   200 //
   217 void CThumbAGImageObserver::HandleSessionError( CMdESession& /*aSession*/, TInt aError )
   201 void CThumbAGImageObserver::HandleSessionError( CMdESession& /*aSession*/, TInt aError )
   218     {
   202     {
   219     TN_DEBUG2( "CThumbAGImageObserver::HandleSessionError == %d", aError );
   203     TN_DEBUG2( "CThumbAGImageObserver::HandleSessionError == %d", aError );
   220     OstTrace1( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_HANDLESESSIONERROR, "CThumbAGImageObserver::HandleSessionError;aError=%d", aError );
       
   221     if (aError != KErrNone && !iSessionError)
   204     if (aError != KErrNone && !iSessionError)
   222         {
   205         {
   223         iSessionError = ETrue;
   206         iSessionError = ETrue;
   224     
   207     
   225         if (!iShutdown)
   208         if (!iShutdown)
   228                 {
   211                 {
   229                 iReconnect->Start( KMdEReconnect, KMdEReconnect, 
   212                 iReconnect->Start( KMdEReconnect, KMdEReconnect, 
   230                                    TCallBack(ReconnectCallBack, this));
   213                                    TCallBack(ReconnectCallBack, this));
   231                 
   214                 
   232                 TN_DEBUG1( "CThumbAGImageObserver::HandleSessionError() - reconnect timer started" );
   215                 TN_DEBUG1( "CThumbAGImageObserver::HandleSessionError() - reconnect timer started" );
   233                 OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_HANDLESESSIONERROR, "CThumbAGImageObserver::HandleSessionError - reconnect timer started" );
       
   234                 }
   216                 }
   235             }
   217             }
   236 
   218 
   237         }   
   219         }   
   238     }
   220     }
   244 void CThumbAGImageObserver::HandleObjectNotification( CMdESession& /*aSession*/, 
   226 void CThumbAGImageObserver::HandleObjectNotification( CMdESession& /*aSession*/, 
   245                                                TObserverNotificationType aType,
   227                                                TObserverNotificationType aType,
   246                                                const RArray<TItemId>& aObjectIdArray )
   228                                                const RArray<TItemId>& aObjectIdArray )
   247     {
   229     {
   248     TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - begin" );
   230     TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - begin" );
   249     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - begin" );
       
   250 
   231 
   251     // no processor or shutting down
   232     // no processor or shutting down
   252     if (iShutdown || !iProcessor)
   233     if (iShutdown || !iProcessor)
   253         {
   234         {
   254         return;
   235         return;
   256     
   237     
   257 #ifdef _DEBUG
   238 #ifdef _DEBUG
   258     if (aType == ENotifyAdd)
   239     if (aType == ENotifyAdd)
   259         {
   240         {
   260         TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyAdd %d", aObjectIdArray.Count() );
   241         TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyAdd %d", aObjectIdArray.Count() );
   261         OstTrace1( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - ENotifyAdd;aObjectIdArray.Count()=%d", aObjectIdArray.Count() );
       
   262         iAddCounter = aObjectIdArray.Count();
   242         iAddCounter = aObjectIdArray.Count();
   263         }
   243         }
   264     else if (aType == ENotifyModify)
   244     else if (aType == ENotifyModify)
   265         {
   245         {
   266         TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyModify %d", aObjectIdArray.Count() );
   246         TN_DEBUG2( "CThumbAGImageObserver::HandleObjectNotification() - ENotifyModify %d", aObjectIdArray.Count() );
   267         OstTrace1( TRACE_FATAL, DUP2_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - ENotifyModify;aObjectIdArray.Count()=%d", aObjectIdArray.Count() );
       
   268         iModCounter = aObjectIdArray.Count();
   247         iModCounter = aObjectIdArray.Count();
   269         }
   248         }
   270 #endif
   249 #endif
   271     
   250     
   272     if ( (aType == ENotifyAdd || aType == ENotifyModify) && aObjectIdArray.Count() > 0 )
   251     if ( (aType == ENotifyAdd || aType == ENotifyModify) && aObjectIdArray.Count() > 0 )
   273         {
   252         {
   274         TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - AddToQueueL" );
   253         TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - AddToQueueL" );
   275 		OstTrace0( TRACE_FATAL, DUP3_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - AddToQueueL" );
       
   276 		
   254 		
   277         // Add event to processing queue by type and enable force run        
   255         // Add event to processing queue by type and enable force run        
   278         RPointerArray<HBufC> dummyArray;
   256         RPointerArray<HBufC> dummyArray;
   279         TRAPD(err, iProcessor->AddToQueueL(aType, EGenerationItemTypeImage, aObjectIdArray, dummyArray, EFalse));
   257         TRAPD(err, iProcessor->AddToQueueL(aType, EGenerationItemTypeImage, aObjectIdArray, dummyArray, EFalse));
   280         if (err != KErrNone)
   258         if (err != KErrNone)
   281             {
   259             {
   282             TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - error adding to queue" );
   260             TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - error adding to queue" );
   283             OstTrace0( TRACE_FATAL, DUP4_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - error adding to queue" );
       
   284             }
   261             }
   285         }
   262         }
   286     else
   263     else
   287         {
   264         {
   288         TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - bad notification" );
   265         TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - bad notification" );
   289         OstTrace0( TRACE_FATAL, DUP5_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - bad notification" );
       
   290         }
   266         }
   291     
   267     
   292 #ifdef _DEBUG
   268 #ifdef _DEBUG
   293     TN_DEBUG3( "CThumbAGImageObserver::IN-COUNTERS---------- Add = %d Modify = %d", iAddCounter, iModCounter );
   269     TN_DEBUG3( "CThumbAGImageObserver::IN-COUNTERS---------- Add = %d Modify = %d", iAddCounter, iModCounter );
   294     OstTraceExt2( TRACE_FATAL, DUP6_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HIN-COUNTERS---------- Add, Modify;iAddCounter=%u;iModCounter=%u", iAddCounter, iModCounter );
       
   295     iModCounter = 0;
   270     iModCounter = 0;
   296     iAddCounter = 0;
   271     iAddCounter = 0;
   297     
   272     
   298 #endif
   273 #endif
   299 
   274 
   300     TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - end" );
   275     TN_DEBUG1( "CThumbAGImageObserver::HandleObjectNotification() - end" );
   301     OstTrace0( TRACE_FATAL, DUP7_CTHUMBAGIMAGEOBSERVER_HANDLEOBJECTNOTIFICATION, "CThumbAGImageObserver::HandleObjectNotification - end" );
       
   302     }
   276     }
   303 
   277 
   304 // ---------------------------------------------------------------------------
   278 // ---------------------------------------------------------------------------
   305 // CThumbAGImageObserver::AddObserversL
   279 // CThumbAGImageObserver::AddObserversL
   306 // ---------------------------------------------------------------------------
   280 // ---------------------------------------------------------------------------
   307 //
   281 //
   308 void CThumbAGImageObserver::AddObserversL()
   282 void CThumbAGImageObserver::AddObserversL()
   309     {
   283     {
   310     TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - begin" );
   284     TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - begin" );
   311     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_ADDOBSERVERSL, "CThumbAGImageObserver::AddObserversL - begin" );
       
   312     
   285     
   313     CMdENamespaceDef& defaultNamespace = iMdESession->GetDefaultNamespaceDefL();
   286     CMdENamespaceDef& defaultNamespace = iMdESession->GetDefaultNamespaceDefL();
   314     CMdEObjectDef& objectDef = defaultNamespace.GetObjectDefL( MdeConstants::Object::KBaseObject );
   287     CMdEObjectDef& objectDef = defaultNamespace.GetObjectDefL( MdeConstants::Object::KBaseObject );
   315     CMdEPropertyDef& originPropDef = objectDef.GetPropertyDefL( MdeConstants::Object::KOriginProperty );
   288     CMdEPropertyDef& originPropDef = objectDef.GetPropertyDefL( MdeConstants::Object::KOriginProperty );
   316     CMdEObjectDef& imageDef = defaultNamespace.GetObjectDefL( MdeConstants::Image::KImageObject );
   289     CMdEObjectDef& imageDef = defaultNamespace.GetObjectDefL( MdeConstants::Image::KImageObject );
   338     iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify );
   311     iMdESession->AddObjectObserverL( *this, modifyCondition, ENotifyModify );
   339 	
   312 	
   340     CleanupStack::Pop( 6, addCondition );
   313     CleanupStack::Pop( 6, addCondition );
   341 
   314 
   342     TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - end" );
   315     TN_DEBUG1( "CThumbAGImageObserver::AddObserversL() - end" );
   343     OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_ADDOBSERVERSL, "CThumbAGImageObserver::AddObserversL - end" );
       
   344     }
   316     }
   345 
   317 
   346 
   318 
   347 // -----------------------------------------------------------------------------
   319 // -----------------------------------------------------------------------------
   348 // CThumbAGCameraObserver::ShutdownNotification
   320 // CThumbAGCameraObserver::ShutdownNotification
   349 // -----------------------------------------------------------------------------
   321 // -----------------------------------------------------------------------------
   350 //
   322 //
   351 void CThumbAGImageObserver::ShutdownNotification()
   323 void CThumbAGImageObserver::ShutdownNotification()
   352     {
   324     {
   353     TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification()" );
   325     TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification()" );
   354     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_SHUTDOWNNOTIFICATION, "CThumbAGImageObserver::ShutdownNotification" );
       
   355     
   326     
   356     if (!iShutdown)
   327     if (!iShutdown)
   357         {
   328         {
   358         TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification() shutdown" );
   329         TN_DEBUG1( "CThumbAGImageObserver::ShutdownNotification() shutdown" );
   359         OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_SHUTDOWNNOTIFICATION, "CThumbAGImageObserver::ShutdownNotification - shutdown" );
       
   360         iShutdown = ETrue;
   330         iShutdown = ETrue;
   361         }
   331         }
   362     }
   332     }
   363 
   333 
   364 // ---------------------------------------------------------------------------
   334 // ---------------------------------------------------------------------------
   366 // ---------------------------------------------------------------------------
   336 // ---------------------------------------------------------------------------
   367 //
   337 //
   368 TInt CThumbAGImageObserver::ReconnectCallBack(TAny* aAny)
   338 TInt CThumbAGImageObserver::ReconnectCallBack(TAny* aAny)
   369     {
   339     {
   370     TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - reinitialize");
   340     TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - reinitialize");
   371     OstTrace0( TRACE_FATAL, CTHUMBAGIMAGEOBSERVER_RECONNECTCALLBACK, "CThumbAGImageObserver::ReconnectCallBack - reinitialize" );
       
   372     
   341     
   373     CThumbAGImageObserver* self = static_cast<CThumbAGImageObserver*>( aAny );
   342     CThumbAGImageObserver* self = static_cast<CThumbAGImageObserver*>( aAny );
   374     
   343     
   375     self->iReconnect->Cancel();
   344     self->iReconnect->Cancel();
   376     
   345     
   377     // reconnect to MDS
   346     // reconnect to MDS
   378     TRAP_IGNORE( self->InitializeL() );
   347     TRAP_IGNORE( self->InitializeL() );
   379     
   348     
   380     TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - done");
   349     TN_DEBUG1( "CThumbAGImageObserver::ReconnectCallBack() - done");
   381     OstTrace0( TRACE_FATAL, DUP1_CTHUMBAGIMAGEOBSERVER_RECONNECTCALLBACK, "CThumbAGImageObserver::ReconnectCallBack - done" );
       
   382     
   350     
   383     return KErrNone;
   351     return KErrNone;
   384     }
   352     }
   385 
   353 
   386 
   354