本文整理汇总了C++中TFsPluginRequest::Src方法的典型用法代码示例。如果您正苦于以下问题:C++ TFsPluginRequest::Src方法的具体用法?C++ TFsPluginRequest::Src怎么用?C++ TFsPluginRequest::Src使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TFsPluginRequest
的用法示例。
在下文中一共展示了TFsPluginRequest::Src方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FsReadFileSectionL
void CPreModifierPlugin::FsReadFileSectionL(TFsPluginRequest& aRequest)
{
TInt err = KErrNone;
TInt length = 0;
TInt64 pos = 0;
TFileName filename;
TParse parse;
TBuf<256> testfilename1;
//setting up test files
testfilename1.Append(iDriveToTest);
testfilename1.Append(_L(":\\Data\\test.txt"));
filename = aRequest.Src().FullName();
err = aRequest.Read(TFsPluginRequest::ELength, length);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
err = aRequest.Read(TFsPluginRequest::EPosition, pos);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
parse.Set(filename, NULL, NULL);
_LOG2(_L("CPreModifierPlugin::FsReadFileSectionL, file: %S"), &filename);
if (aRequest.IsPostOperation())
{
_LOG(_L("CPreModifierPlugin::FsReadFileSectionL, post intercept - enter"));
RFilePlugin fileplugin2(aRequest,ETrue);
//open a second file
err = fileplugin2.Open(testfilename1, EFileWrite);
_LOG3(_L("CPreModifierPlugin::FsReadFileSectionL - RFilePlugin::Open for %S returned %d"), &testfilename1, err);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
TInt64 size=0;
err = fileplugin2.Size(size);
_LOG3(_L("CPreModifierPlugin::FsReadFileSectionL - RFilePlugin::Size for %S returned %d"), &testfilename1, err);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
//close the second file
fileplugin2.Close();
_LOG(_L("CPreModifierPlugin::FsReadFileSectionL - post intercept - exit"));
}
else
{
User::Invariant();
}
}
示例2: FsRenameL
void CPreModifierPlugin::FsRenameL(TFsPluginRequest& aRequest)
{
TInt err = KErrNone;
TFileName oldfilename;
TFileName newfilename;
oldfilename = aRequest.Src().FullName();
newfilename = aRequest.Dest().FullName();
TBuf<256> testfilename1;
//setting up test files
testfilename1.Append(iDriveToTest);
testfilename1.Append(_L(":\\Data\\test.txt"));
if (aRequest.IsPostOperation())
{
_LOG(_L("CPreModifierPlugin::FsRenameL, post intercept"));
RFilePlugin fileplugin2(aRequest);
//open a second file
err = fileplugin2.Open(testfilename1, EFileWrite);
_LOG3(_L("CPreModifierPlugin::FsRenameL, RFilePlugin::Open for %S returned %d"), &testfilename1, err);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
TInt64 size=0;
err = fileplugin2.Size(size);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
//close the second file
fileplugin2.Close();
_LOG2(_L("CPreModifierPlugin::FsRenameL, RFilePlugin::Close to the second file returned %d"), err);
}
else
{
User::Invariant();
}
}
示例3: FsFileRenameL
/**
@internalComponent
*/
void CPreModifierPlugin::FsFileRenameL(TFsPluginRequest& aRequest)
{
TFileName oldfilename, newfilename;
TParse parse;
oldfilename = aRequest.Src().FullName();
newfilename = aRequest.Dest().FullName();
parse.Set(oldfilename, NULL, NULL);
TPtrC extension(parse.Ext());
_LOG3(_L("CPreModifierPlugin::FsFileRenameL, old name: %S, new name: %S"), &oldfilename, &newfilename);
if (aRequest.IsPostOperation())
{
_LOG(_L("CPreModifierPlugin::FsFileRenameL, post intercept"));
if (extension.CompareF(_L(".tst")) == 0)
{
TBuf8<32> tempBuf = (_L8("Rename Post Intercept"));
RFilePlugin fileplugin(aRequest);
TInt err = fileplugin.AdoptFromClient();
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
err = fileplugin.Write(20, tempBuf);
_LOG2(_L("CPreModifierPlugin::FsFileRenameL, FileWrite returned %d"), err);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
fileplugin.Close();
}
}
else
{
User::Invariant();
}
}
示例4: FsReplaceL
void CPreModifierPlugin::FsReplaceL(TFsPluginRequest& aRequest)
{
TFileName oldfilename;
TFileName newfilename;
oldfilename = aRequest.Src().FullName();
newfilename = aRequest.Dest().FullName();
TBuf<256> testfilename1;
//setting up test files
testfilename1.Append(iDriveToTest);
testfilename1.Append(_L(":\\Data\\test.txt"));
if (aRequest.IsPostOperation())
{
//STF: Is this code going to get called - the pre-operation completes early?
_LOG(_L("CPreModifierPlugin::FsReplaceL, post intercept"));
//We should check that the name has changed here.
RFilePlugin file(aRequest);
TInt err = file.AdoptFromClient();
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
TInt compare = oldfilename.Compare(newfilename);
if(compare != 0) //is equal
{
//User::Leave(compare);
//It wont be equal as the name is coming from the request aint it.
//Pointless comparison then eh?
}
file.Close();
RFilePlugin fileplugin2(aRequest);
//open a second file
err = fileplugin2.Open(testfilename1, EFileWrite);
_LOG3(_L("CPreModifierPlugin::FsReplaceL, RFilePlugin::Open for %S returned %d"), &testfilename1, err);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
TInt64 size=0;
err =fileplugin2.Size(size);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
//close the second file
fileplugin2.Close();
_LOG2(_L("CPreModifierPlugin::FsReplaceL, RFilePlugin::Close to the second file returned %d"), err);
}
else
{
User::Invariant();
}
}
示例5: FsFileReplaceL
void CPreModifierPlugin::FsFileReplaceL(TFsPluginRequest& aRequest)
{
TFileName filename;
TParse parse;
filename = aRequest.Src().FullName();
TUint mode;
TInt err = aRequest.Read(TFsPluginRequest::EMode, mode);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
parse.Set(filename, NULL, NULL);
TPtrC extension(parse.Ext());
_LOG2(_L("CPreModifierPlugin::FsFileReplaceL, file: %S"), &filename);
if (aRequest.IsPostOperation())
{
_LOG(_L("CPreModifierPlugin::FsFileReplaceL, post intercept"));
if ((extension.CompareF(_L(".tst")) == 0) && (aRequest.Message().Int1() != 0))
{
//write to the newly replaced file
TBuf8<64> wbuffer;
wbuffer.Copy(_L8("TestTestTest"));
RFilePlugin fileplugin(aRequest);
TInt err = fileplugin.AdoptFromClient();
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
err = fileplugin.Write(0, wbuffer);
_LOG2(_L("CPreModifierPlugin::FsFileReplaceL, RFilePlugin::Write to the newly created file returned %d"), err);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
TInt length = wbuffer.Length();
HBufC8* tempBuf = HBufC8::NewMaxLC(length);
TPtr8 tempBufPtr((TUint8 *)tempBuf->Des().Ptr(), length, length);
err = fileplugin.Read(0, tempBufPtr);
_LOG2(_L("CPreModifierPlugin::FsFileReplaceL, RFilePlugin::Read returned %d"), err);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRe
//testing the correct thing has been written to the drive
err = wbuffer.Compare(tempBufPtr);
iLastError = err;
iLineNumber = __LINE__;
if(err!=KErrNone)
User::Leave(err); //trapped in DoRequestL
fileplugin.Close();
CleanupStack::PopAndDestroy();
}
}
else
{
User::Invariant();
}
}