userlibandfileserver/fileserver/sfile/sf_memory_man.cpp
branchRCL_3
changeset 19 4a8fed1c0ef6
parent 4 56f325a607ea
child 43 c1f20ce4abcf
equal deleted inserted replaced
15:2d65c2f76d7b 19:4a8fed1c0ef6
   123 			}
   123 			}
   124 		}
   124 		}
   125 
   125 
   126 	// if it is a new drive/file system who wants to connect, create a new client for it
   126 	// if it is a new drive/file system who wants to connect, create a new client for it
   127 	// parameter validation
   127 	// parameter validation
   128 	ASSERT(iSizeInBytes > iCurrentOffsetMark + (aMaxSizeInSegs << SegmentSizeInBytesLog2()));
       
   129 	if (iSizeInBytes < iCurrentOffsetMark + (aMaxSizeInSegs << SegmentSizeInBytesLog2()))
   128 	if (iSizeInBytes < iCurrentOffsetMark + (aMaxSizeInSegs << SegmentSizeInBytesLog2()))
   130 		{
   129 		{
   131 		ASSERT(0);
   130 		__PRINT1(_L("CCacheMemoryManager::ConnectClientL([%S]) failed, please check \"GlobalCacheMemorySize\" setting!!!"), &aClientName);
   132 		User::Leave(KErrArgument);
   131 		User::Leave(KErrArgument);
   133 		}
   132 		}
   134 	
   133 	
   135 	// note: client creation may leave under OOM conditions
   134 	// note: client creation may leave under OOM conditions
   136 	CCacheMemoryClient* client = CCacheMemoryClient::NewL(*this, aClientName, iCurrentOffsetMark, aMinSizeInSegs, aMaxSizeInSegs);
   135 	CCacheMemoryClient* client = CCacheMemoryClient::NewL(*this, aClientName, iCurrentOffsetMark, aMinSizeInSegs, aMaxSizeInSegs);
   138 	// if error happens during client registration, the client will be deleted
   137 	// if error happens during client registration, the client will be deleted
   139 	// this may leave under OOM conditions
   138 	// this may leave under OOM conditions
   140 	TInt err = iRegisteredClients.Append(client);
   139 	TInt err = iRegisteredClients.Append(client);
   141 	if (err != KErrNone)
   140 	if (err != KErrNone)
   142 		{
   141 		{
   143 		ASSERT(0);
       
   144 		delete client;
   142 		delete client;
   145 		client = NULL;
   143 		client = NULL;
   146 		User::Leave(err);
   144 		User::Leave(err);
   147 		}
   145 		}
   148 
   146 
   287 /**
   285 /**
   288 Global factory function of CCacheMemoryManager. 
   286 Global factory function of CCacheMemoryManager. 
   289 */
   287 */
   290 void CCacheMemoryManagerFactory::CreateL()
   288 void CCacheMemoryManagerFactory::CreateL()
   291 	{
   289 	{
   292 	iCacheMemoryManager = CCacheMemoryManager::NewL(TGlobalCacheMemorySettings::CacheSize());
   290 	if (TGlobalCacheMemorySettings::CacheSize() > 0)
       
   291 	    iCacheMemoryManager = CCacheMemoryManager::NewL(TGlobalCacheMemorySettings::CacheSize());
       
   292 	else
       
   293 	    __PRINT(_L("\"GlobalCacheMemorySize\" set <= 0, CCacheMemoryManager is not created!!!"));
   293 	}
   294 	}
   294 
   295 
   295 /**
   296 /**
   296 Global get function of CCacheMemoryManager. 
   297 Global get function of CCacheMemoryManager. 
   297 
   298