userlibandfileserver/fileserver/sfile/sf_sys.cpp
changeset 134 95847726fe57
parent 90 947f0dc9f7a8
child 221 39b39e1a406e
child 254 1560c419b176
equal deleted inserted replaced
133:2a0ada0a1bf8 134:95847726fe57
    16 //
    16 //
    17 
    17 
    18 #include "sf_std.h"
    18 #include "sf_std.h"
    19 #include <e32uid.h>
    19 #include <e32uid.h>
    20 #include "sf_file_cache.h"
    20 #include "sf_file_cache.h"
    21 #include <kernel\localise.h>
    21 #include <kernel/localise.h>
    22 #include <f32file.h>
    22 #include <f32file.h>
       
    23 
       
    24 #ifdef OST_TRACE_COMPILER_IN_USE
       
    25 #include "sf_sysTraces.h"
       
    26 #endif
    23 
    27 
    24 typedef CFileSystem*(*TFileSystemNew)();
    28 typedef CFileSystem*(*TFileSystemNew)();
    25 extern CProxyDriveFactory* GetExtension(const TDesC& aName);
    29 extern CProxyDriveFactory* GetExtension(const TDesC& aName);
    26 
    30 
    27 #ifndef __WINS__
    31 #ifndef __WINS__
    37 /**
    41 /**
    38 Default constructor.
    42 Default constructor.
    39 */
    43 */
    40 EXPORT_C CFileSystem::CFileSystem()
    44 EXPORT_C CFileSystem::CFileSystem()
    41 	{
    45 	{
    42 	TRACE0(UTF::EBorder, UTraceModuleFileSys::ECFileSystemConstructor, EF32TraceUidFileSys);
    46 	OstTrace0(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMCONSTRUCTOR, "");
    43 	TRACE0(UTF::EBorder, UTraceModuleFileSys::ECFileSystemConstructorReturn, EF32TraceUidFileSys);
    47 	OstTrace0(TRACE_FILESYSTEM,FILESYS_ECFILESYSTEMCONSTRUCTORRETURN, "");
    44 	}
    48 	}
    45 
    49 
    46 /**
    50 /**
    47 Destructor.
    51 Destructor.
    48 */
    52 */
    49 EXPORT_C CFileSystem::~CFileSystem()
    53 EXPORT_C CFileSystem::~CFileSystem()
    50 	{
    54 	{
    51 	TRACE0(UTF::EBorder, UTraceModuleFileSys::ECFileSystemDestructor, EF32TraceUidFileSys);
    55 	OstTrace0(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMDESTRUCTOR, "");
    52 	TRACE0(UTF::EBorder, UTraceModuleFileSys::ECFileSystemDestructorReturn, EF32TraceUidFileSys);
    56 	OstTrace0(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMDESTRUCTORRETURN, "");
    53 	}
    57 	}
    54 
    58 
    55 /**
    59 /**
    56 Uninstalls the file system.
    60 Uninstalls the file system.
    57 
    61 
   264 //
   268 //
   265 // Install a file system.
   269 // Install a file system.
   266 //
   270 //
   267 	{
   271 	{
   268 
   272 
   269 	TRACE1(UTF::EBorder, UTraceModuleFileSys::ECFileSystemInstall, EF32TraceUidFileSys, aSys);
   273 	OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMINSTALL, "this %x", aSys);
       
   274 
   270 	TInt r=aSys->Install();
   275 	TInt r=aSys->Install();
   271 	TRACERETMULT2(UTF::EBorder, UTraceModuleFileSys::ECFileSystemInstallRet, EF32TraceUidFileSys, r, aSys->Name());
   276 
       
   277 	OstTraceData(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMINSTALLYS_EFILESYSTEMNAME, "FileSystemName %S", aSys->Name().Ptr(), aSys->Name().Length()<<1);
       
   278 	OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMINSTALLRET, "r %d", r);
   272 
   279 
   273 	__PRINT1TEMP(_L("InstallFileSystem %S"),aSys->Name());
   280 	__PRINT1TEMP(_L("InstallFileSystem %S"),aSys->Name());
   274 	if (r==KErrNone)
   281 	if (r==KErrNone)
   275 		{TRAP(r,FileSystems->AddL(aSys,ETrue))}
   282 		{TRAP(r,FileSystems->AddL(aSys,ETrue))}
   276 	if (r!=KErrNone)
   283 	if (r!=KErrNone)
   277 		{
   284 		{
   278 		TRACE1(UTF::EBorder, UTraceModuleFileSys::ECFileSystemRemove, EF32TraceUidFileSys, aSys);
   285 		OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMREMOVE1, "this %x", aSys);
   279 #ifdef SYMBIAN_FTRACE_ENABLE
   286 #ifdef OST_TRACE_COMPILER_IN_USE
   280 		TInt r = 
   287 		TInt r = 
   281 #endif
   288 #endif
   282 			aSys->Remove();
   289 			aSys->Remove();
   283 		
   290 		
   284 		TRACERET1(UTF::EBorder, UTraceModuleFileSys::ECFileSystemRemoveRet, EF32TraceUidFileSys, r);
   291 		OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMREMOVE1RET, "r %d", r);
   285 		}
   292 		}
   286 	if (r==KErrNone)
   293 	if (r==KErrNone)
   287 		aSys->SetLibrary(aLib);
   294 		aSys->SetLibrary(aLib);
   288 	else
   295 	else
   289 		aSys->Close();
   296 		aSys->Close();
   318 
   325 
   319 	TFileSystemNew f=(TFileSystemNew)lib.Lookup(1);
   326 	TFileSystemNew f=(TFileSystemNew)lib.Lookup(1);
   320 	if (!f)
   327 	if (!f)
   321 		return KErrCorrupt;
   328 		return KErrCorrupt;
   322 	
   329 	
   323 	TRACE1(UTF::EBorder, UTraceModuleFileSys::ECFileSystemNew, EF32TraceUidFileSys, lib.Handle());
   330 	OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMNEW, "handle %x", lib.Handle());
   324 	CFileSystem* pS=(*f)();
   331 	CFileSystem* pS=(*f)();
   325 	TRACE1(UTF::EBorder, UTraceModuleFileSys::ECFileSystemNewRet, EF32TraceUidFileSys, pS);
   332 	OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMNEWRET, "fileSystem %x", pS);
   326 	if (!pS)
   333 	if (!pS)
   327 		return KErrNoMemory;
   334 		return KErrNoMemory;
   328 	TInt r=InstallFileSystem(pS,lib);
   335 	TInt r=InstallFileSystem(pS,lib);
   329 	if (r==KErrNone && !LocalFileSystemInitialized)
   336 	if (r==KErrNone && !LocalFileSystemInitialized)
   330 		{
   337 		{
   372 		
   379 		
   373         if(name.CompareF(pFs->Name()) == 0)
   380         if(name.CompareF(pFs->Name()) == 0)
   374 			return KErrInUse;
   381 			return KErrInUse;
   375 		}
   382 		}
   376 	
   383 	
   377     TRACE1(UTF::EBorder, UTraceModuleFileSys::ECFileSystemRemove, EF32TraceUidFileSys, pF);
   384     OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMREMOVE2, "this %x", pF);
       
   385 
   378 	TInt r=pF->Remove();
   386 	TInt r=pF->Remove();
   379 	TRACERET1(UTF::EBorder, UTraceModuleFileSys::ECFileSystemRemoveRet, EF32TraceUidFileSys, r);
   387 
       
   388 	OstTrace1(TRACE_FILESYSTEM, FSYS_ECFILESYSTEMREMOVE2RET, "r %d", r);
       
   389 
   380 	if (r!=KErrNone)
   390 	if (r!=KErrNone)
   381 		return(r);
   391 		return(r);
   382 	
   392 	
   383     RLibrary lib=pF->Library();
   393     RLibrary lib=pF->Library();
   384 	pF->Close();
   394 	pF->Close();