harvester/client/src/harvesterclientao.cpp
branchRCL_3
changeset 49 f23c07ec56e2
parent 47 b73252188534
child 50 85f623e1ef41
equal deleted inserted replaced
47:b73252188534 49:f23c07ec56e2
    49 CHarvesterClientAO::~CHarvesterClientAO() // destruct
    49 CHarvesterClientAO::~CHarvesterClientAO() // destruct
    50 	{   
    50 	{   
    51     OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::~CHarvesterClientAO" );
    51     OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::~CHarvesterClientAO" );
    52     
    52     
    53     WRITELOG( "CHarvesterClientAO::~CHarvesterClientAO()" );
    53     WRITELOG( "CHarvesterClientAO::~CHarvesterClientAO()" );
    54     Cancel();
    54     CancelRequest();
    55  	}
    55  	}
    56 
    56 
    57 // ---------------------------------------------------------------------------
    57 // ---------------------------------------------------------------------------
    58 // CHarvesterClientAO
    58 // CHarvesterClientAO
    59 // First-phase C++ constructor
    59 // First-phase C++ constructor
    60 // ---------------------------------------------------------------------------
    60 // ---------------------------------------------------------------------------
    61 //
    61 //
    62 CHarvesterClientAO::CHarvesterClientAO( RHarvesterClient& aHarvesterClient )
    62 CHarvesterClientAO::CHarvesterClientAO( RHarvesterClient& aHarvesterClient )
    63     : CActive( CActive::EPriorityStandard ), 
    63     : CActive( CActive::EPriorityUserInput ), 
    64     iObserver( NULL ),
    64     iObserver( NULL ),
    65     iHarvesterClient( aHarvesterClient )
    65     iHarvesterClient( aHarvesterClient ),
       
    66     iCancelled( EFalse )
    66   	{
    67   	{
    67     OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::CHarvesterClientAO" );
    68     OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::CHarvesterClientAO" );
    68     
    69     
    69     WRITELOG( "CHarvesterClientAO::CHarvesterClientAO()" );
    70     WRITELOG( "CHarvesterClientAO::CHarvesterClientAO()" );
    70 	}
    71 	}
    98 // ---------------------------------------------------------------------------
    99 // ---------------------------------------------------------------------------
    99 //	
   100 //	
   100 void CHarvesterClientAO::RemoveObserver( MHarvestObserver* /*aObserver*/ )
   101 void CHarvesterClientAO::RemoveObserver( MHarvestObserver* /*aObserver*/ )
   101 	{
   102 	{
   102 	WRITELOG( "CHarvesterClientAO::RemoveObserver()" );
   103 	WRITELOG( "CHarvesterClientAO::RemoveObserver()" );
       
   104 	OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_REMOVEOBSERVER, "CHarvesterClientAO::RemoveObserver" );
   103     if ( iObserver )
   105     if ( iObserver )
   104         {
   106         {
   105         WRITELOG( "CHarvesterClientAO::RemoveObserver() - deleting observer" );
   107         WRITELOG( "CHarvesterClientAO::RemoveObserver() - deleting observer" );
   106         iObserver = NULL;
   108         iObserver = NULL;
   107         }
   109         }
   108     
   110     
   109     Cancel();
   111     CancelRequest();
   110 	}
   112 	}
   111 
   113 
   112 // ---------------------------------------------------------------------------
   114 // ---------------------------------------------------------------------------
   113 // DoCancel
   115 // DoCancel
   114 // ---------------------------------------------------------------------------
   116 // ---------------------------------------------------------------------------
   116 void CHarvesterClientAO::DoCancel()
   118 void CHarvesterClientAO::DoCancel()
   117 	{
   119 	{
   118 	WRITELOG( "CHarvesterClientAO::DoCancel()" );
   120 	WRITELOG( "CHarvesterClientAO::DoCancel()" );
   119 	OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_DOCANCEL, "CHarvesterClientAO::DoCancel" );
   121 	OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_DOCANCEL, "CHarvesterClientAO::DoCancel" );
   120 	iHarvesterClient.UnregisterHarvestComplete();
   122 	iHarvesterClient.UnregisterHarvestComplete();
       
   123 	WRITELOG( "CHarvesterClientAO::DoCancel() - end" );
   121 	}
   124 	}
   122 	
   125 	
   123 // ---------------------------------------------------------------------------
   126 // ---------------------------------------------------------------------------
   124 // Active
   127 // Active
   125 // ---------------------------------------------------------------------------
   128 // ---------------------------------------------------------------------------
   126 //
   129 //
   127 void CHarvesterClientAO::Active()
   130 void CHarvesterClientAO::Active()
   128 	{	
   131 	{	
       
   132     WRITELOG( "CHarvesterClientAO::Active" );
   129 	if ( iObserver && !IsActive())
   133 	if ( iObserver && !IsActive())
   130 		{
   134 		{
       
   135 	    WRITELOG( "CHarvesterClientAO::Active - calling RegisterHarvestComplete" );
   131 		iHarvesterClient.RegisterHarvestComplete(iURI, iStatus);
   136 		iHarvesterClient.RegisterHarvestComplete(iURI, iStatus);
       
   137 		iCancelled = EFalse;
   132 		SetActive();
   138 		SetActive();
   133 		}
   139 		}
   134 	}
   140 	}
   135 
   141 
   136 // ---------------------------------------------------------------------------
   142 // ---------------------------------------------------------------------------
   155 		WRITELOG( "CHarvesterClientAO::RunL() - ECompleteRequest - calling callback" );
   161 		WRITELOG( "CHarvesterClientAO::RunL() - ECompleteRequest - calling callback" );
   156 		iObserver->HarvestingComplete( iURI, status );
   162 		iObserver->HarvestingComplete( iURI, status );
   157 		}
   163 		}
   158 	
   164 	
   159 	// if the request was not canceled or server is not terminated, Activating AO again
   165 	// if the request was not canceled or server is not terminated, Activating AO again
   160 	if ( status != KErrCancel && status != KErrServerTerminated && iObserver )
   166 	if ( status != KErrCancel && status != KErrServerTerminated && iObserver && !iCancelled )
   161 		{
   167 		{
       
   168 	    WRITELOG( "CHarvesterClientAO::RunL() - not cancelled or terminated, calling Active" );
   162 		Active();
   169 		Active();
   163 		}
   170 		}
       
   171 	WRITELOG( "CHarvesterClientAO::RunL() - end" );
   164 	}
   172 	}
   165 	
   173 	
   166 // ---------------------------------------------------------------------------
   174 // ---------------------------------------------------------------------------
   167 // RunError
   175 // RunError
   168 // ---------------------------------------------------------------------------
   176 // ---------------------------------------------------------------------------
   175     {
   183     {
   176     WRITELOG1( "CHarvesterClientAO::RunError(), errorcode: %d", aError );
   184     WRITELOG1( "CHarvesterClientAO::RunError(), errorcode: %d", aError );
   177     
   185     
   178     return KErrNone;
   186     return KErrNone;
   179     }
   187     }
       
   188 
       
   189 // ---------------------------------------------------------------------------
       
   190 // Active
       
   191 // ---------------------------------------------------------------------------
       
   192 //
       
   193 void CHarvesterClientAO::CancelRequest()
       
   194     {   
       
   195     WRITELOG( "CHarvesterClientAO::CancelRequest" );
       
   196     if( !iCancelled )
       
   197         {
       
   198         WRITELOG( "CHarvesterClientAO::CancelRequest - not cancelled, calling Cancel" );
       
   199         iCancelled = ETrue;
       
   200         Cancel();
       
   201         }
       
   202     if( !IsActive() )
       
   203         {
       
   204         WRITELOG( "CHarvesterClientAO::CancelRequest - setting priority to High" );
       
   205         SetPriority( CActive::EPriorityHigh );
       
   206         }
       
   207     }
       
   208