userlibandfileserver/fileserver/sfsrv/cl_dir.cpp
changeset 152 657f875b013e
parent 0 a41df078684a
child 257 3e88ff8f41d5
equal deleted inserted replaced
139:95f71bcdcdb7 152:657f875b013e
    14 // f32\sfsrv\cl_dir.cpp
    14 // f32\sfsrv\cl_dir.cpp
    15 //
    15 //
    16 //
    16 //
    17 
    17 
    18 #include "cl_std.h"
    18 #include "cl_std.h"
       
    19 
       
    20 #ifdef OST_TRACE_COMPILER_IN_USE
       
    21 #include "cl_dirTraces.h"
       
    22 #endif
    19 
    23 
    20 
    24 
    21 
    25 
    22 
    26 
    23 EFSRV_EXPORT_C TInt RDir::Open(RFs& aFs,const TDesC& aName,const TUidType& aUidType)
    27 EFSRV_EXPORT_C TInt RDir::Open(RFs& aFs,const TDesC& aName,const TUidType& aUidType)
    46 
    50 
    47 @capability AllFiles
    51 @capability AllFiles
    48 
    52 
    49 */
    53 */
    50 	{
    54 	{
    51 	TRACEMULT5(UTF::EBorder, UTraceModuleEfsrv::EDirOpen1, MODULEUID,
    55 	OstTraceExt4(TRACE_BORDER, EFSRV_EDIROPEN1, "sess %x aUidType0 %x aUidType1 %x aUidType2 %x", (TUint) Session().Handle(), (TUint) aUidType[0].iUid, (TUint) aUidType[1].iUid, (TUint) aUidType[2].iUid);
    52 		Session().Handle(), aName, aUidType[0].iUid, aUidType[1].iUid, aUidType[2].iUid);
    56 	OstTraceData(TRACE_BORDER, EFSRV_EDIROPEN1_EDIRNAME, "Dir %S", aName.Ptr(), aName.Length()<<1);
    53 
    57 
    54 	TPckgC<TUidType> pckgUid(aUidType);
    58 	TPckgC<TUidType> pckgUid(aUidType);
    55 	TInt r = CreateSubSession(aFs,EFsDirOpen,TIpcArgs(&aName,KEntryAttAllowUid,&pckgUid));
    59 	TInt r = CreateSubSession(aFs,EFsDirOpen,TIpcArgs(&aName,KEntryAttAllowUid,&pckgUid));
    56 
    60 
    57 	TRACERET2(UTF::EBorder, UTraceModuleEfsrv::EDirOpen1Return, MODULEUID, r, SubSessionHandle());
    61 	OstTraceExt2(TRACE_BORDER, EFSRV_EDIROPEN1RETURN, "r %d subs %x", (TUint) r, (TUint) SubSessionHandle());
       
    62 
    58 	return r;
    63 	return r;
    59 	}
    64 	}
    60 
    65 
    61 
    66 
    62 
    67 
    90 
    95 
    91 @capability AllFiles
    96 @capability AllFiles
    92 
    97 
    93 */
    98 */
    94 	{
    99 	{
    95 	TRACEMULT3(UTF::EBorder, UTraceModuleEfsrv::EDirOpen2, MODULEUID, Session().Handle(), aName, anAttMask);
   100 	OstTraceExt2(TRACE_BORDER, EFSRV_EDIROPEN2, "sess %x anAttMask %x", (TUint) Session().Handle(), (TUint) anAttMask);
       
   101 	OstTraceData(TRACE_BORDER, EFSRV_EDIROPEN2_EDIRNAME, "Dir %S", aName.Ptr(), aName.Length()<<1);
    96 
   102 
    97 	TUidType uidType(TUid::Null(),TUid::Null(),TUid::Null());
   103 	TUidType uidType(TUid::Null(),TUid::Null(),TUid::Null());
    98 	TPckgC<TUidType> pckgUid(uidType);
   104 	TPckgC<TUidType> pckgUid(uidType);
    99 	TInt r = CreateSubSession(aFs,EFsDirOpen,TIpcArgs(&aName,anAttMask,&pckgUid));
   105 	TInt r = CreateSubSession(aFs,EFsDirOpen,TIpcArgs(&aName,anAttMask,&pckgUid));
   100 
   106 
   101 	TRACERET2(UTF::EBorder, UTraceModuleEfsrv::EDirOpen2Return, MODULEUID, r, SubSessionHandle());
   107 	OstTraceExt2(TRACE_BORDER, EFSRV_EDIROPEN2RETURN, "r %d subs %x", (TUint) r, (TUint) SubSessionHandle());
       
   108 
   102 	return r;
   109 	return r;
   103 	}
   110 	}
   104 
   111 
   105 EFSRV_EXPORT_C void RDir::Close()
   112 EFSRV_EXPORT_C void RDir::Close()
   106 /**
   113 /**
   110 
   117 
   111 Close() is guaranteed to return, and provides no indication whether
   118 Close() is guaranteed to return, and provides no indication whether
   112 it completed successfully or not.
   119 it completed successfully or not.
   113 */
   120 */
   114 	{
   121 	{
   115 	TRACE2(UTF::EBorder, UTraceModuleEfsrv::EDirClose, MODULEUID, Session().Handle(), SubSessionHandle());
   122 	OstTraceExt2(TRACE_BORDER, EFSRV_EDIRCLOSE, "sess %x subs %x", (TUint) Session().Handle(), (TUint) SubSessionHandle());
   116 
   123 
   117 	CloseSubSession(EFsDirSubClose);
   124 	CloseSubSession(EFsDirSubClose);
   118 
   125 
   119 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EDirCloseReturn, MODULEUID);
   126 	OstTrace0(TRACE_BORDER, EFSRV_EDIRCLOSERETURN, "");
   120 	}
   127 	}
   121 
   128 
   122 
   129 
   123 
   130 
   124 EFSRV_EXPORT_C TInt RDir::Read(TEntryArray& anArray) const
   131 EFSRV_EXPORT_C TInt RDir::Read(TEntryArray& anArray) const
   138         set of entries;
   145         set of entries;
   139         otherwise one of the other system-wide error codes
   146         otherwise one of the other system-wide error codes
   140         (e.g. KErrCorrupt, KErrNoMemory etc).
   147         (e.g. KErrCorrupt, KErrNoMemory etc).
   141 */
   148 */
   142 	{
   149 	{
   143 	TRACE2(UTF::EBorder, UTraceModuleEfsrv::EDirRead1, MODULEUID, Session().Handle(), SubSessionHandle());
   150 	OstTraceExt2(TRACE_BORDER, EFSRV_EDIRREAD1, "sess %x subs %x", (TUint) Session().Handle(), (TUint) SubSessionHandle());
   144 
   151 
   145 	anArray.iCount=KCountNeeded;
   152 	anArray.iCount=KCountNeeded;
   146 	TInt r = SendReceive(EFsDirReadPacked,TIpcArgs(&anArray.iBuf));
   153 	TInt r = SendReceive(EFsDirReadPacked,TIpcArgs(&anArray.iBuf));
   147 
   154 
   148 	TRACERET2(UTF::EBorder, UTraceModuleEfsrv::EDirRead1Return, MODULEUID, r, anArray.Count());
   155 	OstTraceExt2(TRACE_BORDER, EFSRV_EDIRREAD1RETURN, "r %d count %d", (TUint) r, (TUint) anArray.Count());
       
   156 
   149 	return r;
   157 	return r;
   150 	}
   158 	}
   151 
   159 
   152 
   160 
   153 
   161 
   169                set of entries;
   177                set of entries;
   170                otherwise one of the other system-wide error codes
   178                otherwise one of the other system-wide error codes
   171                (e.g. KErrCorrupt, KErrNoMemory etc).
   179                (e.g. KErrCorrupt, KErrNoMemory etc).
   172 */
   180 */
   173 	{
   181 	{
   174 	TRACE3(UTF::EBorder, UTraceModuleEfsrv::EDirRead2, MODULEUID, Session().Handle(), SubSessionHandle(), &aStatus);
   182 	OstTraceExt3(TRACE_BORDER, EFSRV_EDIRREAD2, "sess %x subs %x status %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) &aStatus);
   175 
   183 
   176 	anArray.iCount=KCountNeeded;
   184 	anArray.iCount=KCountNeeded;
   177 	RSubSessionBase::SendReceive(EFsDirReadPacked,TIpcArgs(&anArray.iBuf),aStatus);
   185 	RSubSessionBase::SendReceive(EFsDirReadPacked,TIpcArgs(&anArray.iBuf),aStatus);
   178 
   186 
   179 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EDirRead2Return, MODULEUID);
   187 	OstTrace0(TRACE_BORDER, EFSRV_EDIRREAD2RETURN, "");
   180 	}
   188 	}
   181 
   189 
   182 
   190 
   183 
   191 
   184 
   192 
   192 
   200 
   193 @return KErrNone, if successful, otherwise one of the other system-wide error
   201 @return KErrNone, if successful, otherwise one of the other system-wide error
   194         codes.
   202         codes.
   195 */
   203 */
   196 	{
   204 	{
   197 	TRACE2(UTF::EBorder, UTraceModuleEfsrv::EDirRead3, MODULEUID, Session().Handle(), SubSessionHandle());
   205 	OstTraceExt2(TRACE_BORDER, EFSRV_EDIRREAD3, "sess %x subs %x", (TUint) Session().Handle(), (TUint) SubSessionHandle());
   198 
   206 
   199 	TPckg<TEntry> e(anEntry);
   207 	TPckg<TEntry> e(anEntry);
   200 	TInt r = SendReceive(EFsDirReadOne,TIpcArgs(&e));
   208 	TInt r = SendReceive(EFsDirReadOne,TIpcArgs(&e));
   201 
   209 
   202 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EDirRead3Return, MODULEUID, r);
   210 	OstTrace1(TRACE_BORDER, EFSRV_EDIRREAD3RETURN, "r %d", r);
       
   211 
   203 	return r;
   212 	return r;
   204 	}
   213 	}
   205 
   214 
   206 
   215 
   207 
   216 
   216 @param aStatus The request status object. On request completion, contains:
   225 @param aStatus The request status object. On request completion, contains:
   217                KErrNone, if successful; otherwise one of the other system-wide
   226                KErrNone, if successful; otherwise one of the other system-wide
   218                error codes.
   227                error codes.
   219 */
   228 */
   220 	{
   229 	{
   221 	TRACE3(UTF::EBorder, UTraceModuleEfsrv::EDirRead4, MODULEUID, Session().Handle(), SubSessionHandle(), &aStatus);
   230 	OstTraceExt3(TRACE_BORDER, EFSRV_EDIRREAD4, "sess %x subs %x status %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) &aStatus);
   222 
   231 
   223 	RSubSessionBase::SendReceive(EFsDirReadOne,TIpcArgs(&anEntry),aStatus);
   232 	RSubSessionBase::SendReceive(EFsDirReadOne,TIpcArgs(&anEntry),aStatus);
   224 
   233 
   225 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EDirRead4Return, MODULEUID);
   234 	OstTrace0(TRACE_BORDER, EFSRV_EDIRREAD4RETURN, "");
   226 	}
   235 	}