本文整理汇总了C++中BlockFile::Ref方法的典型用法代码示例。如果您正苦于以下问题:C++ BlockFile::Ref方法的具体用法?C++ BlockFile::Ref怎么用?C++ BlockFile::Ref使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BlockFile
的用法示例。
在下文中一共展示了BlockFile::Ref方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BlockFile
BlockFile *DirManager::LoadBlockFile(wxTextFile * in, sampleFormat format)
{
wxASSERT(projFull != "");
long summaryLen;
if (!(in->GetNextLine().ToLong(&summaryLen)))
return NULL;
wxString blockName = in->GetNextLine();
bool alias = false;
wxString aliasFullPath;
long localLen, start, len, channel;
if (blockName == "Alias") {
alias = true;
aliasFullPath = in->GetNextLine();
//if (!(in->GetNextLine().ToLong(&localLen)))
// return NULL;
if (!(in->GetNextLine().ToLong(&start)))
return NULL;
if (!(in->GetNextLine().ToLong(&len)))
return NULL;
if (!(in->GetNextLine().ToLong(&channel)))
return NULL;
blockName = in->GetNextLine();
}
wxString pathName = projFull + wxFILE_SEP_PATH + blockName;
BlockFile *retrieved = (BlockFile *) blockFileHash->Get(blockName);
if (retrieved) {
wxASSERT(retrieved->IsAlias() == alias);
retrieved->Ref();
return retrieved;
} else {
BlockFile *newBlockFile =
new BlockFile(blockName, pathName, summaryLen);
if (alias) {
newBlockFile->SetAliasedData(aliasFullPath, start, len, channel);
aliasList.Add(aliasFullPath);
}
newBlockFile->mSampleFormat = format;
blockFileHash->Put(blockName, (wxObject *) newBlockFile);
CheckHashTableSize();
if (!wxFileExists(pathName))
return 0;
return newBlockFile;
}
}
示例2: wxASSERT
BlockFile *DirManager::LoadBlockFile(wxTextFile * in)
{
wxASSERT(projFull != "");
wxString blockName = in->GetNextLine();
bool alias = false;
wxString aliasFullPath;
long localLen, start, len, channel;
if (blockName == "Alias") {
alias = true;
aliasFullPath = in->GetNextLine();
if (!(in->GetNextLine().ToLong(&localLen)))
return NULL;
if (!(in->GetNextLine().ToLong(&start)))
return NULL;
if (!(in->GetNextLine().ToLong(&len)))
return NULL;
if (!(in->GetNextLine().ToLong(&channel)))
return NULL;
blockName = in->GetNextLine();
}
wxString pathName = projFull + pathChar + blockName;
BlockFile *retrieved = (BlockFile *) blockFileHash->Get(blockName);
if (retrieved) {
wxASSERT(retrieved->IsAlias() == alias);
retrieved->Ref();
return retrieved;
} else {
BlockFile *newBlockFile;
if (alias) {
newBlockFile = new BlockFile(blockName, pathName,
localLen,
aliasFullPath, start, len, channel);
aliasList.Add(aliasFullPath);
}
else
newBlockFile = new BlockFile(blockName, pathName);
blockFileHash->Put(blockName, (wxObject *) newBlockFile);
CheckHashTableSize();
if (!wxFileExists(pathName))
return 0;
return newBlockFile;
}
}
示例3: wxASSERT
BlockFile *DirManager::GetBlockFile(wxString &blockName)
{
wxASSERT(projFull != "");
wxString pathName = projFull + pathChar + blockName;
BlockFile *retrieved = (BlockFile *)blockFileHash->Get(blockName);
if (retrieved) {
retrieved->Ref();
return retrieved;
}
else {
BlockFile *newBlockFile = new BlockFile(blockName, pathName);
blockFileHash->Put(blockName, (wxObject *)newBlockFile);
CheckHashTableSize();
if (!wxFileExists(pathName))
return 0;
return newBlockFile;
}
}