userlibandfileserver/fileserver/sfile/sf_plugin.cpp
changeset 243 c7a0ce20c48c
parent 33 0173bcd7697c
child 257 3e88ff8f41d5
equal deleted inserted replaced
231:75252ea6123b 243:c7a0ce20c48c
   245 
   245 
   246 	return((iRegisteredIntercepts[index] & msk) == msk);
   246 	return((iRegisteredIntercepts[index] & msk) == msk);
   247 	}
   247 	}
   248 
   248 
   249 /**
   249 /**
   250    Return ETrue if the calling thread is the plugin thread
   250    Return ETrue if the request originated from this plugin
   251 */
   251 */
   252 TBool CFsPlugin::IsPluginThread(CFsRequest& aRequest)
   252 TBool CFsPlugin::OriginatedFromPlugin(CFsRequest& aRequest)
   253 	{
   253 	{
   254 	if(aRequest.iOwnerPlugin == this)
   254 	if(aRequest.iOwnerPlugin == this)
   255 		return ETrue;
   255 		return ETrue;
   256 
   256 
   257 	if(aRequest.iClientThreadId == iThreadId)
   257 	if(aRequest.iClientThreadId == iThreadId)
   359 	if (r != KErrNone)
   359 	if (r != KErrNone)
   360 		return r;
   360 		return r;
   361 
   361 
   362 
   362 
   363 	CFsPlugin* plugin = this;
   363 	CFsPlugin* plugin = this;
   364 	FsPluginManager::NextPlugin(plugin, &msgRequest,(TBool)ETrue);
   364 	FsPluginManager::ReadLockChain();
       
   365 	FsPluginManager::NextPlugin(plugin, &msgRequest);
   365 	msgRequest.iCurrentPlugin = plugin;
   366 	msgRequest.iCurrentPlugin = plugin;
   366 	msgRequest.Dispatch();
   367 	msgRequest.Dispatch();
       
   368 	FsPluginManager::UnlockChain();
   367 	iThreadP->OperationLockWait();
   369 	iThreadP->OperationLockWait();
   368 
   370 
   369 	aDes.SetLength(len);
   371 	aDes.SetLength(len);
   370 	
   372 	
   371 	return msgRequest.LastError();	// KErrNone;
   373 	return msgRequest.LastError();	// KErrNone;