lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp
branchRCL_3
changeset 23 3d340a0166ff
parent 0 2f259fa3e83a
equal deleted inserted replaced
18:0aa5fbdfbc30 23:3d340a0166ff
   167 	}
   167 	}
   168 
   168 
   169 void CCoeEnvExtra::AddObserverL(RArray<TAny*>& aArrayOfObservers, TAny* aObserver)
   169 void CCoeEnvExtra::AddObserverL(RArray<TAny*>& aArrayOfObservers, TAny* aObserver)
   170 	{
   170 	{
   171 	__ASSERT_ALWAYS(aObserver!=NULL, Panic(ECoePanicIllegalNullParameter3));
   171 	__ASSERT_ALWAYS(aObserver!=NULL, Panic(ECoePanicIllegalNullParameter3));
       
   172 	CleanupClosePushL(aArrayOfObservers);
   172 	for (TInt i=aArrayOfObservers.Count()-1; i>=0; --i)
   173 	for (TInt i=aArrayOfObservers.Count()-1; i>=0; --i)
   173 		{
   174 		{
   174 		__ASSERT_ALWAYS(aArrayOfObservers[i]!=aObserver, Panic(ECoePanicFocusObserverHasAlreadyBeenAdded));
   175 		__ASSERT_ALWAYS(aArrayOfObservers[i]!=aObserver, Panic(ECoePanicFocusObserverHasAlreadyBeenAdded));
   175 		}
   176 		}
   176 	User::LeaveIfError(aArrayOfObservers.Append(aObserver));
   177 	User::LeaveIfError(aArrayOfObservers.Append(aObserver));
       
   178 	CleanupStack::Pop(&aArrayOfObservers);
   177 	}
   179 	}
   178 
   180 
   179 void CCoeEnvExtra::RemoveObserver(RArray<TAny*>& aArrayOfObservers, const TAny* aObserver)
   181 void CCoeEnvExtra::RemoveObserver(RArray<TAny*>& aArrayOfObservers, const TAny* aObserver)
   180 	{
   182 	{
   181 	__ASSERT_ALWAYS(aObserver!=NULL, Panic(ECoePanicIllegalNullParameter4));
   183 	__ASSERT_ALWAYS(aObserver!=NULL, Panic(ECoePanicIllegalNullParameter4));