本文整理汇总了C++中FileManager::Opened方法的典型用法代码示例。如果您正苦于以下问题:C++ FileManager::Opened方法的具体用法?C++ FileManager::Opened怎么用?C++ FileManager::Opened使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileManager
的用法示例。
在下文中一共展示了FileManager::Opened方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddFile
bool AddFile( M_OutputFile& files, const std::string& fileName, Stream stream, ThreadId threadId, bool append )
{
Helium::MutexScopeLock mutex (g_Mutex);
M_OutputFile::iterator found = files.find( fileName );
if ( found != files.end() )
{
if ( found->second.m_StreamType != stream )
{
HELIUM_BREAK(); // trying to add the same file, but with a different stream type
}
if ( found->second.m_ThreadId != threadId )
{
HELIUM_BREAK(); // trying to add the same file with a different thread id
}
found->second.m_RefCount++; // another reference
}
else
{
if (fileName != TXT( "" ))
{
File* f = new File;
if ( f->Open( fileName.c_str(), FileModes::Write ) )
{
if ( append )
{
f->Seek( 0, SeekOrigins::End );
}
g_FileManager.Opened( fileName, f );
OutputFile info;
info.m_StreamType = stream;
info.m_RefCount = 1;
info.m_ThreadId = threadId;
files[ fileName ] = info;
return true;
}
else
{
delete f;
f = NULL;
}
}
}
return false;
}
示例2: AddFile
bool AddFile( M_OutputFile& files, const tstring& fileName, Stream stream, uint32_t threadId, bool append )
{
Helium::MutexScopeLock mutex (g_Mutex);
M_OutputFile::iterator found = files.find( fileName );
if ( found != files.end() )
{
if ( found->second.m_StreamType != stream )
{
HELIUM_BREAK(); // trying to add the same file, but with a different stream type
}
if ( found->second.m_ThreadId != threadId )
{
HELIUM_BREAK(); // trying to add the same file with a different thread id
}
found->second.m_RefCount++; // another reference
}
else
{
FILE* f = NULL;
if (fileName != TXT( "" ))
{
tchar_t *mode = append ? TXT( "at+" ) : TXT( "wt+" );
f = _tfopen( fileName.c_str(), mode );
}
if ( f )
{
g_FileManager.Opened( fileName, f );
OutputFile info;
info.m_StreamType = stream;
info.m_RefCount = 1;
info.m_ThreadId = threadId;
files[ fileName ] = info;
return true;
}
}
return false;
}