userlibandfileserver/fileserver/sfsrv/cl_plugin.cpp
changeset 134 95847726fe57
parent 36 538db54a451d
child 257 3e88ff8f41d5
equal deleted inserted replaced
133:2a0ada0a1bf8 134:95847726fe57
    15 // 
    15 // 
    16 //
    16 //
    17 
    17 
    18 #include "cl_std.h"
    18 #include "cl_std.h"
    19 
    19 
       
    20 #ifdef OST_TRACE_COMPILER_IN_USE
       
    21 #include "cl_pluginTraces.h"
       
    22 #endif
       
    23 
    20  
    24  
    21 EXPORT_C TInt RFs::AddPlugin(const TDesC& aFileName) const
    25 EXPORT_C TInt RFs::AddPlugin(const TDesC& aFileName) const
    22 /**
    26 /**
    23 @internalTechnology
    27 @internalTechnology
    24 
    28 
    29 @return KErrNone, if successful; otherwise one of the other system wide error codes.
    33 @return KErrNone, if successful; otherwise one of the other system wide error codes.
    30 
    34 
    31 @capability DiskAdmin
    35 @capability DiskAdmin
    32 */
    36 */
    33 	{
    37 	{
    34 	TRACEMULT2(UTF::EBorder, UTraceModuleEfsrv::EFsAddPlugin, MODULEUID, Handle(), aFileName);
    38 	OstTrace1(TRACE_BORDER, EFSRV_EFSADDPLUGIN, "sess %x", Handle());
       
    39 	OstTraceData(TRACE_BORDER, EFSRV_EFSADDPLUGIN_EFILENAME, "FileName %S", aFileName.Ptr(), aFileName.Length()<<1);
    35 
    40 
    36 	RLoader loader;
    41 	RLoader loader;
    37 	TInt r = loader.Connect();
    42 	TInt r = loader.Connect();
    38 	if (r==KErrNone)
    43 	if (r==KErrNone)
    39 		{
    44 		{
    40 		r = loader.SendReceive(ELoadFSPlugin, TIpcArgs(0, &aFileName, 0));
    45 		r = loader.SendReceive(ELoadFSPlugin, TIpcArgs(0, &aFileName, 0));
    41 		loader.Close();
    46 		loader.Close();
    42 		}
    47 		}
    43 
    48 
    44 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsAddPluginReturn, MODULEUID, r);
    49 	OstTrace1(TRACE_BORDER, EFSRV_EFSADDPLUGINRETURN, "r %d", r);
       
    50 
    45 	return r;
    51 	return r;
    46 	}
    52 	}
    47 
    53 
    48 EXPORT_C TInt RFs::RemovePlugin(const TDesC& aPluginName) const
    54 EXPORT_C TInt RFs::RemovePlugin(const TDesC& aPluginName) const
    49 /**
    55 /**
    58         otrherwise one of the other system-wide error codes.
    64         otrherwise one of the other system-wide error codes.
    59 
    65 
    60 @capability DiskAdmin
    66 @capability DiskAdmin
    61 */
    67 */
    62 	{
    68 	{
    63 	TRACEMULT2(UTF::EBorder, UTraceModuleEfsrv::EFsRemovePlugin, MODULEUID, Handle(), aPluginName);
    69 	OstTrace1(TRACE_BORDER, EFSRV_EFSREMOVEPLUGIN, "sess %x", Handle());
       
    70 	OstTraceData(TRACE_BORDER, EFSRV_EFSREMOVEPLUGIN_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
    64 
    71 
    65 	TInt r = SendReceive(EFsRemovePlugin,TIpcArgs(&aPluginName));
    72 	TInt r = SendReceive(EFsRemovePlugin,TIpcArgs(&aPluginName));
    66 
    73 
    67 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsRemovePluginReturn, MODULEUID, r);
    74 	OstTrace1(TRACE_BORDER, EFSRV_EFSREMOVEPLUGINRETURN, "r %d", r);
       
    75 
    68 	return r;
    76 	return r;
    69 	}
    77 	}
    70 
    78 
    71 EXPORT_C TInt RFs::MountPlugin(const TDesC& aPluginName) const
    79 EXPORT_C TInt RFs::MountPlugin(const TDesC& aPluginName) const
    72 /**
    80 /**
    93 @see RFs::PluginName  
   101 @see RFs::PluginName  
    94 
   102 
    95 @capability DiskAdmin      
   103 @capability DiskAdmin      
    96 */
   104 */
    97 	{
   105 	{
    98 	TRACEMULT2(UTF::EBorder, UTraceModuleEfsrv::EFsMountPlugin1, MODULEUID, Handle(), aPluginName);
   106 	OstTrace1(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN1, "sess %x", Handle());
       
   107 	OstTraceData(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN1_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
    99 
   108 
   100 	TInt r = SendReceive(EFsMountPlugin,TIpcArgs(&aPluginName,KPluginAutoAttach,KPluginAutoLocate));
   109 	TInt r = SendReceive(EFsMountPlugin,TIpcArgs(&aPluginName,KPluginAutoAttach,KPluginAutoLocate));
   101 
   110 
   102 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsMountPlugin1Return, MODULEUID, r);
   111 	OstTrace1(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN1RETURN, "r %d", r);
       
   112 
   103 	return r;
   113 	return r;
   104 	}
   114 	}
   105 
   115 
   106 EXPORT_C TInt RFs::MountPlugin(const TDesC& aPluginName,TInt aDrive) const
   116 EXPORT_C TInt RFs::MountPlugin(const TDesC& aPluginName,TInt aDrive) const
   107 /**
   117 /**
   129 @see RFs::PluginName 
   139 @see RFs::PluginName 
   130 
   140 
   131 @capability DiskAdmin      
   141 @capability DiskAdmin      
   132 */
   142 */
   133 	{
   143 	{
   134 	TRACEMULT3(UTF::EBorder, UTraceModuleEfsrv::EFsMountPlugin2, MODULEUID, Handle(), aPluginName, aDrive);
   144 	OstTraceExt2(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN2, "sess %x aDrive %d", (TUint) Handle(), (TUint) aDrive);
       
   145 	OstTraceData(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN2_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
   135 
   146 
   136 	TInt r = SendReceive(EFsMountPlugin,TIpcArgs(&aPluginName,aDrive,KPluginAutoLocate));
   147 	TInt r = SendReceive(EFsMountPlugin,TIpcArgs(&aPluginName,aDrive,KPluginAutoLocate));
   137 
   148 
   138 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsMountPlugin2Return, MODULEUID, r);
   149 	OstTrace1(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN2RETURN, "r %d", r);
       
   150 
   139 	return r;
   151 	return r;
   140 	}
   152 	}
   141 
   153 
   142 EXPORT_C TInt RFs::MountPlugin(const TDesC& aPluginName,TInt aDrive, TInt aPos) const
   154 EXPORT_C TInt RFs::MountPlugin(const TDesC& aPluginName,TInt aDrive, TInt aPos) const
   143 /**
   155 /**
   173 @see RFs::PluginName 
   185 @see RFs::PluginName 
   174 @see RFs::MountPlugin(const TDesC& aPluginName,TInt aDrive)
   186 @see RFs::MountPlugin(const TDesC& aPluginName,TInt aDrive)
   175 @capability DiskAdmin        
   187 @capability DiskAdmin        
   176 */
   188 */
   177 	{
   189 	{
   178 	TRACEMULT4(UTF::EBorder, UTraceModuleEfsrv::EFsMountPlugin3, MODULEUID, Handle(), aPluginName, aDrive, aPos);
   190 	OstTraceExt3(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN3, "sess %x aDrive %d aPos %x", (TUint) Handle(), (TUint) aDrive, (TUint) aPos);
       
   191 	OstTraceData(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN3_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
   179 
   192 
   180 	TInt r = SendReceive(EFsMountPlugin,TIpcArgs(&aPluginName,aDrive,aPos));
   193 	TInt r = SendReceive(EFsMountPlugin,TIpcArgs(&aPluginName,aDrive,aPos));
   181 
   194 
   182 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsMountPlugin3Return, MODULEUID, r);
   195 	OstTrace1(TRACE_BORDER, EFSRV_EFSMOUNTPLUGIN3RETURN, "r %d", r);
       
   196 
   183 	return r;
   197 	return r;
   184 	}
   198 	}
   185 
   199 
   186 EXPORT_C TInt RFs::DismountPlugin(const TDesC& aPluginName) const
   200 EXPORT_C TInt RFs::DismountPlugin(const TDesC& aPluginName) const
   187 /**
   201 /**
   198         
   212         
   199 @see RFs::PluginName  
   213 @see RFs::PluginName  
   200 @capability DiskAdmin       
   214 @capability DiskAdmin       
   201 */
   215 */
   202 	{
   216 	{
   203 	TRACEMULT2(UTF::EBorder, UTraceModuleEfsrv::EFsDismountPlugin1, MODULEUID, Handle(), aPluginName);
   217 	OstTrace1(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN1, "sess %x", Handle());
       
   218 	OstTraceData(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN1_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
   204 
   219 
   205 	TInt r = SendReceive(EFsDismountPlugin,TIpcArgs(&aPluginName,KPluginAutoAttach,KPluginAutoLocate));
   220 	TInt r = SendReceive(EFsDismountPlugin,TIpcArgs(&aPluginName,KPluginAutoAttach,KPluginAutoLocate));
   206 
   221 
   207 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsDismountPlugin1Return, MODULEUID, r);
   222 	OstTrace1(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN1RETURN, "r %d", r);
       
   223 
   208 	return r;
   224 	return r;
   209 	}
   225 	}
   210 
   226 
   211 
   227 
   212 EXPORT_C TInt RFs::DismountPlugin(const TDesC& aPluginName,TInt aDrive) const
   228 EXPORT_C TInt RFs::DismountPlugin(const TDesC& aPluginName,TInt aDrive) const
   231         
   247         
   232 @see RFs::PluginName  
   248 @see RFs::PluginName  
   233 @capability DiskAdmin       
   249 @capability DiskAdmin       
   234 */
   250 */
   235 	{
   251 	{
   236 	TRACEMULT3(UTF::EBorder, UTraceModuleEfsrv::EFsDismountPlugin2, MODULEUID, Handle(), aPluginName, aDrive);
   252 	OstTraceExt2(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN2, "sess %x aDrive %d", (TUint) Handle(), (TUint) aDrive);
       
   253 	OstTraceData(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN2_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
   237 
   254 
   238 	TInt r = SendReceive(EFsDismountPlugin,TIpcArgs(&aPluginName,aDrive,KPluginAutoLocate));
   255 	TInt r = SendReceive(EFsDismountPlugin,TIpcArgs(&aPluginName,aDrive,KPluginAutoLocate));
   239 
   256 
   240 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsDismountPlugin2Return, MODULEUID, r);
   257 	OstTrace1(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN2RETURN, "r %d", r);
       
   258 
   241 	return r;
   259 	return r;
   242 	}
   260 	}
   243 
   261 
   244 EXPORT_C TInt RFs::DismountPlugin(const TDesC& aPluginName,TInt aDrive,TInt aPos) const
   262 EXPORT_C TInt RFs::DismountPlugin(const TDesC& aPluginName,TInt aDrive,TInt aPos) const
   245 /**
   263 /**
   267         
   285         
   268 @see RFs::PluginName   
   286 @see RFs::PluginName   
   269 @capability DiskAdmin      
   287 @capability DiskAdmin      
   270 */
   288 */
   271 	{
   289 	{
   272 	TRACEMULT4(UTF::EBorder, UTraceModuleEfsrv::EFsDismountPlugin3, MODULEUID, Handle(), aPluginName, aDrive, aPos);
   290 	OstTraceExt3(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN3, "sess %x aDrive %d aPos %x", (TUint) Handle(), (TUint) aDrive, (TUint) aPos);
       
   291 	OstTraceData(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN3_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
   273 
   292 
   274 	TInt r = SendReceive(EFsDismountPlugin,TIpcArgs(&aPluginName,aDrive,aPos));
   293 	TInt r = SendReceive(EFsDismountPlugin,TIpcArgs(&aPluginName,aDrive,aPos));
   275 
   294 
   276 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EFsDismountPlugin3Return, MODULEUID, r);
   295 	OstTrace1(TRACE_BORDER, EFSRV_EFSDISMOUNTPLUGIN3RETURN, "r %d", r);
       
   296 
   277 	return r;
   297 	return r;
   278 	}
   298 	}
   279 
   299 
   280 
   300 
   281 EXPORT_C TInt RFs::PluginName(TDes& aPluginName,TInt aDrive,TInt aPos)
   301 EXPORT_C TInt RFs::PluginName(TDes& aPluginName,TInt aDrive,TInt aPos)
   291 
   311 
   292 @return KErrNone, if successful;
   312 @return KErrNone, if successful;
   293         KErrNotFound if the plugin name is not found;
   313         KErrNotFound if the plugin name is not found;
   294 */
   314 */
   295 	{
   315 	{
   296 	TRACE3(UTF::EBorder, UTraceModuleEfsrv::EFsPluginName, MODULEUID, Handle(), aDrive, aPos);
   316 	OstTraceExt3(TRACE_BORDER, EFSRV_EFSPLUGINNAME, "sess %x aDrive %d aPos %x", (TUint) Handle(), (TUint) aDrive, (TUint) aPos);
   297 
   317 
   298 	TInt r = SendReceive(EFsPluginName,TIpcArgs(&aPluginName,aDrive,aPos));
   318 	TInt r = SendReceive(EFsPluginName,TIpcArgs(&aPluginName,aDrive,aPos));
   299 
   319 
   300 	TRACERETMULT2(UTF::EBorder, UTraceModuleEfsrv::EFsPluginName, MODULEUID, r, aPluginName);
   320 	OstTraceData(TRACE_BORDER, EFSRV_EFSPLUGINNAME_EPLUGINNAME, "PluginName %S", aPluginName.Ptr(), aPluginName.Length()<<1);
       
   321 
       
   322 	OstTrace1(TRACE_BORDER, EFSRV_EFSPLUGINNAMERETURN, "r %d", r);
       
   323 
   301 	return r;
   324 	return r;
   302 	}
   325 	}
   303 
   326 
   304 EXPORT_C TInt RPlugin::Open(RFs& aFs, TInt aPos)
   327 EXPORT_C TInt RPlugin::Open(RFs& aFs, TInt aPos)
   305 /**
   328 /**
   311 @prama  aPos: Unique position of the plugin
   334 @prama  aPos: Unique position of the plugin
   312 @return KErrNotFound if it didn't find the plugin, else KErrNone
   335 @return KErrNotFound if it didn't find the plugin, else KErrNone
   313 
   336 
   314 */
   337 */
   315 	{
   338 	{
   316 	TRACE2(UTF::EBorder, UTraceModuleEfsrv::EPluginOpen, MODULEUID, aFs.Handle(), aPos);
   339 	OstTraceExt2(TRACE_BORDER, EFSRV_EPLUGINOPEN, "sess %x aPos %x", (TUint) aFs.Handle(), (TUint) aPos);
   317 
   340 
   318 	TInt r = CreateSubSession(aFs,EFsPluginOpen,TIpcArgs(aPos,0,0));
   341 	TInt r = CreateSubSession(aFs,EFsPluginOpen,TIpcArgs(aPos,0,0));
   319 
   342 
   320 	TRACERET2(UTF::EBorder, UTraceModuleEfsrv::EPluginOpenReturn, MODULEUID, r, SubSessionHandle());
   343 	OstTraceExt2(TRACE_BORDER, EFSRV_EPLUGINOPENRETURN, "r %d subs %x", (TUint) r, (TUint) SubSessionHandle());
       
   344 
   321 	return r;
   345 	return r;
   322 	}
   346 	}
   323 
   347 
   324 EXPORT_C void RPlugin::Close()
   348 EXPORT_C void RPlugin::Close()
   325 /**
   349 /**
   326 @internalTechnology
   350 @internalTechnology
   327 
   351 
   328 Closes a plugin 
   352 Closes a plugin 
   329 */
   353 */
   330 	{
   354 	{
   331 	TRACE2(UTF::EBorder, UTraceModuleEfsrv::EPluginClose, MODULEUID, Session().Handle(), SubSessionHandle());
   355 	OstTraceExt2(TRACE_BORDER, EFSRV_EPLUGINCLOSE, "sess %x subs %x", (TUint) Session().Handle(), (TUint) SubSessionHandle());
   332 
   356 
   333 	CloseSubSession(EFsPluginSubClose);
   357 	CloseSubSession(EFsPluginSubClose);
   334 
   358 
   335 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EPluginCloseReturn, MODULEUID);
   359 	OstTrace0(TRACE_BORDER, EFSRV_EPLUGINCLOSERETURN, "");
   336 	}
   360 	}
   337 
   361 
   338 EXPORT_C void RPlugin::DoRequest(TInt aReqNo, TRequestStatus& aStatus) const
   362 EXPORT_C void RPlugin::DoRequest(TInt aReqNo, TRequestStatus& aStatus) const
   339 /**
   363 /**
   340 @internalTechnology
   364 @internalTechnology
   343 
   367 
   344 @param aReqNo: Number of the request
   368 @param aReqNo: Number of the request
   345 @param aStatus: status of the request
   369 @param aStatus: status of the request
   346 */
   370 */
   347 	{
   371 	{
   348 	TRACE4(UTF::EBorder, UTraceModuleEfsrv::EPluginDoRequest1, MODULEUID, Session().Handle(), SubSessionHandle(), aReqNo, &aStatus);
   372 	OstTraceExt4(TRACE_BORDER, EFSRV_EPLUGINDOREQUEST1, "sess %x subs %x aReqNo %d status %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) aReqNo, (TUint) &aStatus);
   349 
   373 
   350 	aStatus=KRequestPending;
   374 	aStatus=KRequestPending;
   351 	SendReceive(EFsPluginDoRequest, TIpcArgs(aReqNo, NULL, NULL), aStatus);
   375 	SendReceive(EFsPluginDoRequest, TIpcArgs(aReqNo, NULL, NULL), aStatus);
   352 
   376 
   353 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EPluginDoRequest1Return, MODULEUID);
   377 	OstTrace0(TRACE_BORDER, EFSRV_EPLUGINDOREQUEST1RETURN, "");
   354 	}
   378 	}
   355 
   379 
   356 EXPORT_C void RPlugin::DoRequest(TInt aReqNo, TRequestStatus& aStatus, TDes8& a1) const
   380 EXPORT_C void RPlugin::DoRequest(TInt aReqNo, TRequestStatus& aStatus, TDes8& a1) const
   357 /**
   381 /**
   358 @internalTechnology
   382 @internalTechnology
   362 @param aReqNo: Number of the request
   386 @param aReqNo: Number of the request
   363 @param aStatus: status of the request
   387 @param aStatus: status of the request
   364 @param a1: returning value from plugin
   388 @param a1: returning value from plugin
   365 */
   389 */
   366 	{
   390 	{
   367 	TRACE5(UTF::EBorder, UTraceModuleEfsrv::EPluginDoRequest2, MODULEUID, Session().Handle(), SubSessionHandle(), aReqNo, &aStatus, &a1);
   391 	OstTraceExt5(TRACE_BORDER, EFSRV_EPLUGINDOREQUEST2, "sess %x subs %x aReqNo %d status %x a1 %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) aReqNo, (TUint) &aStatus, (TUint) &a1);
   368 
   392 
   369 	aStatus=KRequestPending;
   393 	aStatus=KRequestPending;
   370 	SendReceive(EFsPluginDoRequest, TIpcArgs(aReqNo, &a1, NULL), aStatus);
   394 	SendReceive(EFsPluginDoRequest, TIpcArgs(aReqNo, &a1, NULL), aStatus);
   371 
   395 
   372 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EPluginDoRequest2Return, MODULEUID);
   396 	OstTrace0(TRACE_BORDER, EFSRV_EPLUGINDOREQUEST2RETURN, "");
   373 	}
   397 	}
   374 
   398 
   375 EXPORT_C void RPlugin::DoRequest(TInt aReqNo, TRequestStatus& aStatus, TDes8& a1, TDes8& a2) const
   399 EXPORT_C void RPlugin::DoRequest(TInt aReqNo, TRequestStatus& aStatus, TDes8& a1, TDes8& a2) const
   376 /**
   400 /**
   377 @internalTechnology
   401 @internalTechnology
   380 @param aStatus: status of the request
   404 @param aStatus: status of the request
   381 @param a1: returning value from plugin
   405 @param a1: returning value from plugin
   382 @param a2: 2nd returning value from plugin
   406 @param a2: 2nd returning value from plugin
   383 */
   407 */
   384 	{
   408 	{
   385 	TRACE6(UTF::EBorder, UTraceModuleEfsrv::EPluginDoRequest3, MODULEUID, Session().Handle(), SubSessionHandle(), aReqNo, &aStatus, &a1, &a2);
   409 	OstTraceExt5(TRACE_BORDER, EFSRV_EPLUGINDOREQUEST3, "sess %x subs %x aReqNo %d a1 %x a2 %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) aReqNo, (TUint) &a1, (TUint) &a2);
   386 
   410 
   387 	aStatus=KRequestPending;
   411 	aStatus=KRequestPending;
   388 	SendReceive(EFsPluginDoRequest, TIpcArgs(aReqNo, &a1, &a2), aStatus);
   412 	SendReceive(EFsPluginDoRequest, TIpcArgs(aReqNo, &a1, &a2), aStatus);
   389 
   413 
   390 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EPluginDoRequest3Return, MODULEUID);
   414 	OstTrace0(TRACE_BORDER, EFSRV_EPLUGINDOREQUEST3RETURN, "");
   391 	}
   415 	}
   392 
   416 
   393 EXPORT_C TInt RPlugin::DoControl(TInt aFunction) const
   417 EXPORT_C TInt RPlugin::DoControl(TInt aFunction) const
   394 /**
   418 /**
   395 @internalTechnology
   419 @internalTechnology
   397 Client requests a synchronous operation
   421 Client requests a synchronous operation
   398 
   422 
   399 @param	aFunction: The operation to be handled
   423 @param	aFunction: The operation to be handled
   400 */
   424 */
   401 	{
   425 	{
   402 	TRACE3(UTF::EBorder, UTraceModuleEfsrv::EPluginDoControl1, MODULEUID, Session().Handle(), SubSessionHandle(), aFunction);
   426 	OstTraceExt3(TRACE_BORDER, EFSRV_EPLUGINDOCONTROL1, "sess %x subs %x aFunction %d", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) aFunction);
   403 
   427 
   404 	TInt r = SendReceive(EFsPluginDoControl,TIpcArgs(aFunction,0,0));
   428 	TInt r = SendReceive(EFsPluginDoControl,TIpcArgs(aFunction,0,0));
   405 
   429 
   406 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EPluginDoControl1Return, MODULEUID, r);
   430 	OstTrace1(TRACE_BORDER, EFSRV_EPLUGINDOCONTROL1RETURN, "r %d", r);
       
   431 
   407 	return r;
   432 	return r;
   408 	}
   433 	}
   409 
   434 
   410 EXPORT_C TInt RPlugin::DoControl(TInt aFunction, TDes8& a1) const
   435 EXPORT_C TInt RPlugin::DoControl(TInt aFunction, TDes8& a1) const
   411 /**
   436 /**
   415 
   440 
   416 @param	aFunction: The operation to be handled
   441 @param	aFunction: The operation to be handled
   417 @param	a1: returned buffer from plugin on completion of the request
   442 @param	a1: returned buffer from plugin on completion of the request
   418 */
   443 */
   419 	{
   444 	{
   420 	TRACE4(UTF::EBorder, UTraceModuleEfsrv::EPluginDoControl2, MODULEUID, Session().Handle(), SubSessionHandle(), aFunction, &a1);
   445 	OstTraceExt4(TRACE_BORDER, EFSRV_EPLUGINDOCONTROL2, "sess %x subs %x aFunction %d a1 %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) aFunction, (TUint) &a1);
   421 
   446 
   422 	TInt r = SendReceive(EFsPluginDoControl,TIpcArgs(aFunction,&a1,0));
   447 	TInt r = SendReceive(EFsPluginDoControl,TIpcArgs(aFunction,&a1,0));
   423 
   448 
   424 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EPluginDoControl2Return, MODULEUID, r);
   449 	OstTrace1(TRACE_BORDER, EFSRV_EPLUGINDOCONTROL2RETURN, "r %d", r);
       
   450 
   425 	return r;
   451 	return r;
   426 	}
   452 	}
   427 
   453 
   428 EXPORT_C TInt RPlugin::DoControl(TInt aFunction, TDes8& a1, TDes8& a2) const
   454 EXPORT_C TInt RPlugin::DoControl(TInt aFunction, TDes8& a1, TDes8& a2) const
   429 /**
   455 /**
   434 @param	aFunction: The operation to be handled
   460 @param	aFunction: The operation to be handled
   435 @param	a1: returned buffer from plugin on completion of the request
   461 @param	a1: returned buffer from plugin on completion of the request
   436 @param  a2: 2nd returned buffer from plugin on completion of the request
   462 @param  a2: 2nd returned buffer from plugin on completion of the request
   437 */
   463 */
   438 	{
   464 	{
   439 	TRACE5(UTF::EBorder, UTraceModuleEfsrv::EPluginDoControl3, MODULEUID, Session().Handle(), SubSessionHandle(), aFunction, &a1, &a2);
   465 	OstTraceExt5(TRACE_BORDER, EFSRV_EPLUGINDOCONTROL3, "sess %x subs %x aFunction %d a1 %x a2 %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) aFunction, (TUint) &a1, (TUint) &a2);
   440 
   466 
   441 	TInt r = SendReceive(EFsPluginDoControl,TIpcArgs(aFunction,&a1,&a2));
   467 	TInt r = SendReceive(EFsPluginDoControl,TIpcArgs(aFunction,&a1,&a2));
   442 
   468 
   443 	TRACERET1(UTF::EBorder, UTraceModuleEfsrv::EPluginDoControl3Return, MODULEUID, r);
   469 	OstTrace1(TRACE_BORDER, EFSRV_EPLUGINDOCONTROL3RETURN, "r %d", r);
       
   470 
   444 	return r;
   471 	return r;
   445 	}
   472 	}
   446 
   473 
   447 EXPORT_C void RPlugin::DoCancel(TUint aReqMask) const
   474 EXPORT_C void RPlugin::DoCancel(TUint aReqMask) const
   448 /**
   475 /**
   451 Cancels a request
   478 Cancels a request
   452 
   479 
   453 @param	aReqMask: the bit mask for the operation to be cancelled
   480 @param	aReqMask: the bit mask for the operation to be cancelled
   454 */
   481 */
   455 	{
   482 	{
   456 	TRACE3(UTF::EBorder, UTraceModuleEfsrv::EPluginDoCancel, MODULEUID, Session().Handle(), SubSessionHandle(), aReqMask);
   483 	OstTraceExt3(TRACE_BORDER, EFSRV_EPLUGINDOCANCEL, "sess %x subs %x aReqMask %x", (TUint) Session().Handle(), (TUint) SubSessionHandle(), (TUint) aReqMask);
   457 
   484 
   458 	SendReceive(EFsPluginDoCancel,TIpcArgs(KMaxTInt,aReqMask,0));
   485 	SendReceive(EFsPluginDoCancel,TIpcArgs(KMaxTInt,aReqMask,0));
   459 
   486 
   460 	TRACE0(UTF::EBorder, UTraceModuleEfsrv::EPluginDoCancelReturn, MODULEUID);
   487 	OstTrace0(TRACE_BORDER, EFSRV_EPLUGINDOCANCELRETURN, "");
   461 	}
   488 	}
   462 
   489