userlibandfileserver/fileserver/sfile/sf_dir.cpp
changeset 247 d8d70de2bd36
parent 152 657f875b013e
child 299 b5a01337d018
equal deleted inserted replaced
201:43365a9b78a3 247:d8d70de2bd36
   114 	//DirRead does not have a filename / src stored, so if there are plugins installed which
   114 	//DirRead does not have a filename / src stored, so if there are plugins installed which
   115 	//wish to intercept dirread1/packed then store the name in CDirCB::iName now.
   115 	//wish to intercept dirread1/packed then store the name in CDirCB::iName now.
   116 	CFsPlugin* plugin = NULL;
   116 	CFsPlugin* plugin = NULL;
   117 	//Get the next plugin which is mounted on this drive (IsMounted called in NextPlugin)
   117 	//Get the next plugin which is mounted on this drive (IsMounted called in NextPlugin)
   118 	//Do not check whether we're registered for current operation (in case not registered for EFsDirOpen)
   118 	//Do not check whether we're registered for current operation (in case not registered for EFsDirOpen)
   119 	while(FsPluginManager::NextPlugin(plugin,(CFsMessageRequest*)aRequest,(TBool)ETrue,(TBool)EFalse)==KErrNone && plugin)
   119 	FsPluginManager::ReadLockChain();                                      //!Check operation
       
   120 	while(FsPluginManager::NextPlugin(plugin,(CFsMessageRequest*)aRequest,(TBool)EFalse)==KErrNone && plugin)
   120 		{
   121 		{
   121 		if(plugin->IsRegistered(EFsDirReadOne) ||
   122 		if(plugin->IsRegistered(EFsDirReadOne) ||
   122 			plugin->IsRegistered(EFsDirReadPacked) ||
   123 			plugin->IsRegistered(EFsDirReadPacked) ||
   123 			plugin->IsRegistered(EFsDirSubClose))
   124 			plugin->IsRegistered(EFsDirSubClose))
   124 			{
   125 			{
   127 			r = dir->SetName(&name);
   128 			r = dir->SetName(&name);
   128 			CheckForLeaveAfterOpenL(r, aRequest, h);
   129 			CheckForLeaveAfterOpenL(r, aRequest, h);
   129 			break;
   130 			break;
   130 			}
   131 			}
   131 		}
   132 		}
       
   133 	FsPluginManager::UnlockChain();
   132 	
   134 	
   133 	TPtrC8 pH((TUint8*)&h,sizeof(TInt));
   135 	TPtrC8 pH((TUint8*)&h,sizeof(TInt));
   134 	TRAP(r,aRequest->WriteL(KMsgPtr3,pH))
   136 	TRAP(r,aRequest->WriteL(KMsgPtr3,pH))
   135 	CheckForLeaveAfterOpenL(r, aRequest, h);
   137 	CheckForLeaveAfterOpenL(r, aRequest, h);
   136 	aRequest->Session()->IncResourceCount();
   138 	aRequest->Session()->IncResourceCount();