本文整理汇总了C++中CFileStore::Root方法的典型用法代码示例。如果您正苦于以下问题:C++ CFileStore::Root方法的具体用法?C++ CFileStore::Root怎么用?C++ CFileStore::Root使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFileStore
的用法示例。
在下文中一共展示了CFileStore::Root方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doDeferredLoadingL
LOCAL_C void doDeferredLoadingL(const TDesC& aName)
{
TParse filestorename;
fsSession.Parse(aName,filestorename);
// construct file store object - specifying the file
// containing the store.
CFileStore* store = CPermanentFileStore::OpenLC(fsSession,filestorename.FullName(),EFileRead);
// Construct an object of type CCompound.
// The loading of its components is deferred
// until needed.
CCompound* thecompound = CCompound::NewLC(*store,store->Root());
// Display component A.
// The component is loaded in from the
// stream if not already loaded.
_LIT(KTxtFirstDisplay," (first display)");
thecompound->DisplayAL(KTxtFirstDisplay);
// Re-Display component A
// The component should now be in memory.
_LIT(KTxtSecondDisplay," (second display)");
thecompound->DisplayAL(KTxtSecondDisplay);
console->Printf(KTxtNewLine);
// Destroy:
// 1. the CCompound object
// 2. the store object (this also closes
// the file containing the store)
// Remove both from the cleanup stack
CleanupStack::PopAndDestroy(2);
}
示例2: ReadCounter
TInt CSecMgrStore::ReadCounter(TExecutableID& aExecID)
{
HBufC *configFile = HBufC::NewLC(KMaxName);
TPtr ptr(configFile->Des());
TInt ret(GetConfigFile (ptr));
if ( KErrNone==ret)
{
if ( !BaflUtils::FileExists(iFsSession,*configFile))
{
aExecID = (TExecutableID)KCRUIdSecMgr.iUid;
BaflUtils::EnsurePathExistsL (iFsSession, *configFile);
CleanupStack::PopAndDestroy (configFile);
return WriteCounter (aExecID);
}
CFileStore* store = CPermanentFileStore::OpenLC (iFsSession,
*configFile, EFileRead);
RStoreReadStream instream;
instream.OpenLC (*store, store->Root ());
aExecID = instream.ReadInt32L ();
CleanupStack::PopAndDestroy (&instream);
CleanupStack::PopAndDestroy (store);
}
CleanupStack::PopAndDestroy (configFile);
return ret;
}
示例3: RetrievePackagesL
void CMsvSendExe::RetrievePackagesL()
{
//open the filestore
CFileStore* store = CDirectFileStore::FromLC(iTaskFile);//pushes store
RStoreReadStream instream;
instream.OpenLC(*store,store->Root());//pushes instream
//get task count
TInt taskCount = instream.ReadInt32L();
SCHSENDLOG(FLog(iFileName, _L("\tTask Count=%d"), taskCount));
for (TInt curTask = 0; curTask < taskCount; curTask++)
{
CScheduledTask* task = CScheduledTask::NewLC(instream);
AddPackageL(*task);
CleanupStack::PopAndDestroy(task);
}
CleanupStack::PopAndDestroy(2, store);
}
示例4: doInternalizeL
LOCAL_C void doInternalizeL(const TDesC& aName)
{
TParse filestorename;
fsSession.Parse(aName,filestorename);
// construct file store object - specifying the file
// containing the store.
CFileStore* store = CDirectFileStore::OpenLC(fsSession,filestorename.FullName(),EFileRead);
// Construct a CCompound object
// from the root stream created earlier.
CCompound* thecompound = CCompound::NewL(*store,store->Root());
// Show contents of the CCompound object (and its
// components)
_LIT(KTxtRestoredContent,"... Restored CCompound content.");
doShow(KTxtRestoredContent,*thecompound);
// destroy the store object (this also closes the file
// containing the store)
CleanupStack::PopAndDestroy();
// Now destroy the CCompound object
delete thecompound;
}
示例5: RestorePoliciesL
void CSecMgrStore::RestorePoliciesL(RPolicies& aPolicy)
{
//Fetch all the individual policy files from "epoc32\winscw\c\private\<SECMGR_UID>\policy" directory
//Iteratively internalise the policy files, with the policyID (PolicyID is = to filename)
HBufC *privateDir = HBufC::NewLC(KMaxName);
TPtr privateDirptr(privateDir->Des());
GetPolicyPath (privateDirptr);
// create search string
HBufC* searchBuf = privateDirptr.AllocLC ();
TPtr searchPtr(searchBuf->Des());
CDir* dir= NULL;
iFsSession.GetDir (searchPtr, KEntryAttNormal,
ESortByName | EAscending, dir);
if ( dir)
{
CleanupStack::PushL (dir);
for (TInt i=0; i!=dir->Count ();++i)
{
TEntry entry = dir->operator[] (i);
HBufC *fileName = HBufC::NewLC(KMaxName);
TPtr ptr(fileName->Des());
ptr = entry.iName;
HBufC *policyFile = HBufC::NewLC(KMaxName);
TPtr policyFileptr(policyFile->Des());
policyFileptr.Copy(privateDirptr) ;
policyFileptr.Append (ptr);
CFileStore* store = CPermanentFileStore::OpenLC (iFsSession,
policyFileptr, EFileShareAny);
RStoreReadStream instream;
instream.OpenLC (*store, store->Root ());
TLex16 lexer(ptr);
TPolicyID pID;
lexer.Val (pID);
CPolicy* policy = CPolicy::NewL (pID, instream);
aPolicy.Append (policy);
CleanupStack::PopAndDestroy (&instream); //instream
CleanupStack::PopAndDestroy (store); //store
CleanupStack::PopAndDestroy (policyFile);
CleanupStack::PopAndDestroy (fileName);
}
CleanupStack::PopAndDestroy (dir);
}
CleanupStack::PopAndDestroy (searchBuf);
CleanupStack::PopAndDestroy (privateDir);
}
示例6: DoReadRootStreamL
void CApaProcess::DoReadRootStreamL(CStreamDictionary& aStreamDictionary, const CFileStore& aStore)
{ // static
const TStreamId rootStreamId=aStore.Root();
if ((aStore.Type()[1] != KUidAppDllDoc) || (rootStreamId == KNullStreamId))
User::Leave(KErrCorrupt);
RStoreReadStream rootStream;
rootStream.OpenLC(aStore, rootStreamId);
rootStream >> aStreamDictionary;
CleanupStack::PopAndDestroy(&rootStream);
}
示例7: StreamLC
void CVersitTest::StreamLC(RReadStream& aStream)
{
GetSampleVersitL();
RFs fsSession;
User::LeaveIfError(fsSession.Connect());
CFileStore* store = CDirectFileStore::ReplaceLC(fsSession,_L("c:\\TTVersitIn"),EFileWrite);
store->SetTypeL(KDirectFileStoreLayoutUid);
RStoreWriteStream outstream;
TStreamId id = outstream.CreateLC(*store);
TInt length=iVersit.Length();
for (TInt ii=0; ii<length; ii++)
outstream.WriteInt8L(iVersit[ii]);
outstream.CommitL();
CleanupStack::PopAndDestroy();
store->SetRootL(id);
store->CommitL();
CleanupStack::PopAndDestroy(); // store
store = CDirectFileStore::OpenLC(fsSession,_L("c:\\TTVersitIn"),EFileRead); //retrieve stream
RStoreReadStream instream;
instream.OpenLC(*store,store->Root());
CleanupStack::Pop(); // instream
aStream=RReadStream(instream);
}
示例8: StreamInL
void CVersitTest::StreamInL()
//Convert the iVersit into stream format, save it as "TTVersitIn"
//and internalize it as a CVersitParser
{
RFs fsSession;
User::LeaveIfError(fsSession.Connect());
CFileStore* store = CDirectFileStore::ReplaceLC(fsSession,_L("c:\\TTVersit2"),EFileWrite);
store->SetTypeL(KDirectFileStoreLayoutUid);
RStoreWriteStream outstream;
TStreamId id = outstream.CreateLC(*store);
TInt length=iVersit.Length();
for (TInt ii=0; ii<length; ii++)
outstream.WriteInt8L(iVersit[ii]);
outstream.CommitL();
CleanupStack::PopAndDestroy();
store->SetRootL(id);
store->CommitL();
CleanupStack::PopAndDestroy();
store = CDirectFileStore::OpenLC(fsSession,_L("c:\\TTVersit2"),EFileRead); //retrieve stream
RStoreReadStream instream;
instream.OpenLC(*store,store->Root());
iParser->InternalizeL(instream);
CleanupStack::PopAndDestroy(2); //store + stream
}
示例9: ConstructConsoleL
/**
@SYMTestCaseID SYSLIB-SCHSVR-CT-1345
@SYMTestCaseDesc Platform security Task handler test
@SYMTestPriority High
@SYMTestActions Attempt to test the contents of a task file.
@SYMTestExpectedResults Test must not fail
@SYMREQ REQ0000
*/
LOCAL_C void ConstructConsoleL(RFile& aTaskFile, RTest& aTest)
{
CConsoleBase* console=Console::NewL(KConsoleName, TSize(KConsFullScreen, KConsFullScreen));
CleanupStack::PushL(console);
console->Printf(_L(" contents of task file\n"));
RArray<TCapability> enforcedCaps;
CleanupStack::PushL(TCleanupItem(&DestroyArray,&enforcedCaps));
for (TInt i=0; i<ECapability_Limit; i++)
{
// we're checking here to see which capabilities are enforced, skipping
// ECapabilityMultimediaDD and ECapabilityWriteDeviceData as it is
// needed to write persistent schedules upon which this test relies.
if (i == KPlatSecTestCapability)
continue;
else if (i == ECapabilityWriteDeviceData)
continue;
else if (PlatSec::IsCapabilityEnforced((TCapability)i))
enforcedCaps.Append((TCapability)i);
}
TBool isTestCapabilityEnforced = PlatSec::IsCapabilityEnforced(KPlatSecTestCapability);
CFileStore* store;
store = CDirectFileStore::FromLC(aTaskFile);
RStoreReadStream instream;
instream.OpenLC(*store,store->Root());
TInt count = instream.ReadInt32L();
for (TInt i=0;i<count;i++)
{
CScheduledTask* task = CScheduledTask::NewLC(instream);
aTest(task->Info().iName.CompareF(KPlatSecTaskName)==0);
aTest(task->Data().CompareF(KPlatSecTaskData)==0);
aTest(task->SecurityInfo().iSecureId==KPlatSecTestSid); //This is the SID of tschsvrplatsec
// check that client has capability it should have
if(isTestCapabilityEnforced)
aTest(task->SecurityInfo().iCaps.HasCapability(KPlatSecTestCapability));
// check that the client has ECapabilityWriteDeviceData
aTest(task->SecurityInfo().iCaps.HasCapability(ECapabilityWriteDeviceData));
// check that client doesn't have any other capabilities
for (TInt j=enforcedCaps.Count()-1; j>=0; --j)
{
aTest(!task->SecurityInfo().iCaps.HasCapability(enforcedCaps[j]));
}
CleanupStack::PopAndDestroy(task);
}
console->Printf(_L("Pausing for a one second..."));
User::After(1000000);
CleanupStack::PopAndDestroy(4); // instream, store, enforcedCaps, console
}