本文整理汇总了C++中CPath函数的典型用法代码示例。如果您正苦于以下问题:C++ CPath函数的具体用法?C++ CPath怎么用?C++ CPath使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CPath函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CECID
CKnownFile::CKnownFile(CEC_SharedFile_Tag *tag) : CECID(tag->ID())
{
Init();
SetFileName(CPath(tag->FileName()));
m_abyFileHash = tag->FileHash();
SetFileSize(tag->SizeFull());
m_AvailPartFrequency.insert(m_AvailPartFrequency.end(), m_iPartCount, 0);
m_iUpPriorityEC = tag->Prio();
m_AICHMasterHash = tag->GetAICHHash();
m_filePath = CPath(tag->FilePath());
}
示例2: CPath
CPath CPath::JoinPaths(const CPath& other) const
{
if (!IsOk()) {
return CPath(other);
} else if (!other.IsOk()) {
return CPath(*this);
}
CPath joinedPath;
// DeepCopy shouldn't be needed, as JoinPaths results in the creation of a new string.
joinedPath.m_printable = ::JoinPaths(m_printable, other.m_printable);
joinedPath.m_filesystem = ::JoinPaths(m_filesystem, other.m_filesystem);
return joinedPath;
}
示例3: CPath
engine_t CMediaFormats::GetEngine(CString path) const
{
path.Trim().MakeLower();
if (!m_fRtspFileExtFirst && path.Find(_T("rtsp://")) == 0) {
return m_iRtspHandler;
}
CString ext = CPath(path).GetExtension();
ext.MakeLower();
if (!ext.IsEmpty()) {
if (path.Find(_T("rtsp://")) == 0) {
if (ext == _T(".ram") || ext == _T(".rm") || ext == _T(".ra")) {
return RealMedia;
}
if (ext == _T(".qt") || ext == _T(".mov")) {
return QuickTime;
}
}
for (size_t i = 0; i < GetCount(); i++) {
const CMediaFormatCategory& mfc = GetAt(i);
if (mfc.FindExt(ext)) {
return mfc.GetEngineType();
}
}
}
if (m_fRtspFileExtFirst && path.Find(_T("rtsp://")) == 0) {
return m_iRtspHandler;
}
return DirectShow;
}
示例4: dlg
void CPPageExternalFilters::OnAddRegistered()
{
CRegFilterChooserDlg dlg(this);
if (dlg.DoModal() == IDOK) {
while (!dlg.m_filters.IsEmpty()) {
if (FilterOverride* f = dlg.m_filters.RemoveHead()) {
CAutoPtr<FilterOverride> p(f);
CString name = f->name;
if (f->type == FilterOverride::EXTERNAL) {
if (!CPath(MakeFullPath(f->path)).FileExists()) {
name += _T(" <not found!>");
}
}
int i = m_filters.AddString(name);
m_filters.SetItemDataPtr(i, m_pFilters.AddTail(p));
m_filters.SetCheck(i, 1);
if (dlg.m_filters.IsEmpty()) {
m_filters.SetCurSel(i);
OnLbnSelchangeList1();
}
SetModified();
}
}
}
}
示例5: CPath
void QtSE::addFolder( void )
{
QString activeFilePath = activeProjectItem->getFullPath( CPath( QDir::currentPath() ).getPath( true ) );
QDir dir( activeFilePath );
if( dir.exists() )
{
bool ok = false;
QString name = QInputDialog::getText( this , this->windowTitle() , "Directory Name:" , QLineEdit::Normal , "" , &ok );
if( ok )
{
if( UTIL_validateFileName( name , false ) )
{
if( dir.mkdir( name ) )
{
CProjectTreeItem *item = new CProjectTreeItem( CProjectTreeItem::dir , activeProjectItem , QStringList( name ) );
activeProjectItem->setExpanded( true );
}
else
QMessageBox::warning( this , this->windowTitle() , "Unable to add directory." );
}
else
QMessageBox::warning( this , this->windowTitle() , "Invalid directory name." );
}
}
else
QMessageBox::warning( this , this->windowTitle() , "Base path does not exist." );
}
示例6: SettingsDir
void CSettingTypeApplication::Initialize( const char * /*AppName*/ )
{
stdstr SettingsFile, OrigSettingsFile;
for (int i = 0; i < 100; i++)
{
OrigSettingsFile = SettingsFile;
if (!g_Settings->LoadStringVal(SupportFile_Settings,SettingsFile) && i > 0)
{
break;
}
if (SettingsFile == OrigSettingsFile)
{
break;
}
if (m_SettingsIniFile)
{
delete m_SettingsIniFile;
}
CPath SettingsDir(CPath(SettingsFile).GetDriveDirectory(),"");
if (!SettingsDir.DirectoryExists())
{
SettingsDir.DirectoryCreate();
}
m_SettingsIniFile = new CIniFile(SettingsFile.c_str());
}
m_SettingsIniFile->SetAutoFlush(false);
m_UseRegistry = g_Settings->LoadBool(Setting_UseFromRegistry);
}
示例7: CPath
void CFriendList::LoadList()
{
CPath metfile = CPath(theApp->ConfigDir + wxT("emfriends.met"));
if (!metfile.FileExists()) {
return;
}
CFile file;
try {
if ( file.Open(metfile) ) {
if ( file.ReadUInt8() /*header*/ == MET_HEADER ) {
uint32 nRecordsNumber = file.ReadUInt32();
for (uint32 i = 0; i < nRecordsNumber; i++) {
CFriend* Record = new CFriend();
Record->LoadFromFile(&file);
m_FriendList.push_back(Record);
Notify_ChatUpdateFriend(Record);
}
}
} else {
AddLogLineN(_("Failed to open friend list file 'emfriends.met' for reading!"));
}
} catch (const CInvalidPacket& e) {
AddDebugLogLineC(logGeneral, wxT("Invalid entry in friend list, file may be corrupt: ") + e.what());
} catch (const CSafeIOException& e) {
AddDebugLogLineC(logGeneral, wxT("IO error while reading 'emfriends.met': ") + e.what());
}
}
示例8: wxImageList
void CDirectoryTreeCtrl::Init()
{
// already done ?
if (m_IsInit) {
return;
}
m_IsInit = true;
// init image(s)
wxImageList* images = new wxImageList(16, 16);
images->Add(wxBitmap(amuleSpecial(1)));
images->Add(wxBitmap(amuleSpecial(2)));
// Gives wxTreeCtrl ownership of the list
AssignImageList(images);
// Create an empty root item, which we can
// safely append when creating a full path.
m_root = AddRoot(wxEmptyString, IMAGE_FOLDER, -1,
new CItemData(CPath()));
if (!m_IsRemote) {
#ifndef __WXMSW__
AddChildItem(m_root, CPath(wxT("/")));
#else
// this might take awhile, so change the cursor
::wxSetCursor(*wxHOURGLASS_CURSOR);
// retrieve bitmask of all drives available
uint32 drives = GetLogicalDrives();
drives >>= 1;
for (char drive = 'C'; drive <= 'Z'; drive++) {
drives >>= 1;
if (! (drives & 1)) { // skip non existant drives
continue;
}
wxString driveStr = CFormat(wxT("%c:")) % drive;
uint32 type = GetDriveType(driveStr + wxT("\\"));
// skip removable/undefined drives, share only fixed or remote drives
if ((type == 3 || type == 4) // fixed drive / remote drive
&& CPath::DirExists(driveStr)) {
AddChildItem(m_root, CPath(driveStr));
}
}
::wxSetCursor(*wxSTANDARD_CURSOR);
#endif
}
示例9: CombinePath
static CString CombinePath(CPath p, CString fn)
{
if (fn.Find(':') >= 0 || fn.Find(_T("\\")) == 0) {
return fn;
}
p.Append(CPath(fn));
return (LPCTSTR)p;
}
示例10: Name
bool CEC_Category_Tag::Apply()
{
bool ret = theApp->glob_prefs->UpdateCategory(GetInt(), Name(), CPath(Path()), Comment(), Color(), Prio());
if (!ret) {
GetTagByName(EC_TAG_CATEGORY_PATH)->SetStringData(theApp->glob_prefs->GetCatPath(GetInt()).GetRaw());
}
return ret;
}
示例11: while
CPath CPath::add(CEdge* edge)
{
size_t departure = edge->e_departure;
while(departure < p_arrival_time)
departure += edge->e_interval;
departure += edge->e_duration;
return CPath(departure);
}
示例12: WriteTrace
void CSettingTypeApplication::Initialize(const char * /*AppName*/)
{
WriteTrace(TraceAppInit, TraceDebug, "Start");
CPath BaseDir(g_Settings->LoadStringVal(Cmd_BaseDirectory).c_str(), "");
if (!BaseDir.DirectoryExists())
{
WriteTrace(TraceAppInit, TraceDebug, "BaseDir does not exist. Doing nothing.");
WriteTrace(TraceAppInit, TraceDebug, "Done");
return;
}
stdstr SettingsFile, OrigSettingsFile;
for (int i = 0; i < 100; i++)
{
OrigSettingsFile = SettingsFile;
if (!g_Settings->LoadStringVal(SupportFile_Settings, SettingsFile) && i > 0)
{
break;
}
if (SettingsFile == OrigSettingsFile)
{
break;
}
if (m_SettingsIniFile)
{
delete m_SettingsIniFile;
}
#ifdef _WIN32
CPath SettingsDir(CPath(SettingsFile).GetDriveDirectory(), "");
#else
CPath SettingsDir(CPath(SettingsFile).GetDirectory(), "");
#endif
if (!SettingsDir.DirectoryExists())
{
SettingsDir.DirectoryCreate();
}
m_SettingsIniFile = new CIniFile(SettingsFile.c_str());
}
m_SettingsIniFile->SetAutoFlush(false);
WriteTrace(TraceAppInit, TraceDebug, "Done");
}
示例13: assert
void CLogic::handle_new( CServer &server, CCommandSource source )
{
/* add connections in host if needed */
for( const INode *ancestor = &m_node; ancestor; ancestor = ancestor->get_parent() )
{
const node_map &siblings = server.get_siblings( *ancestor );
for( node_map::const_iterator i = siblings.begin(); i != siblings.end(); i++ )
{
const INode *sibling = i->second;
if( sibling != ancestor && CGuidHelper::guids_are_equal(sibling->get_interface_definition().get_module_guid(), get_connection_interface_guid( server ) ) )
{
/* found a connection which might target the new node */
const INodeEndpoint *source_path = sibling->get_node_endpoint( endpoint_source_path );
const INodeEndpoint *target_path = sibling->get_node_endpoint( endpoint_target_path );
assert( source_path && target_path );
const INodeEndpoint *source_endpoint = server.find_node_endpoint( CPath( *source_path->get_value() ), ancestor->get_parent() );
const INodeEndpoint *target_endpoint = server.find_node_endpoint( CPath( *target_path->get_value() ), ancestor->get_parent() );
if( source_endpoint && target_endpoint )
{
internal_id source_node_id = CNode::downcast( &source_endpoint->get_node() )->get_id();
internal_id target_node_id = CNode::downcast( &target_endpoint->get_node() )->get_id();
if( m_node.get_id() == source_node_id || m_node.get_id() == target_node_id )
{
if( source_endpoint->get_endpoint_definition().is_audio_stream() && source_endpoint->get_endpoint_definition().get_stream_info()->get_direction() == CStreamInfo::OUTPUT )
{
if( target_endpoint->get_endpoint_definition().is_audio_stream() && target_endpoint->get_endpoint_definition().get_stream_info()->get_direction() == CStreamInfo::INPUT )
{
/* create connection in host */
connect_audio_in_host( server, *source_endpoint, *target_endpoint, true );
}
}
}
}
}
}
}
}
示例14: GetCurrentProcessId
bool pjutil::TerminatedExistingExe()
{
bool bTerminated = false;
bool AskedUser = false;
DWORD pid = GetCurrentProcessId();
HANDLE nSearch = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (nSearch != INVALID_HANDLE_VALUE)
{
PROCESSENTRY32 lppe;
memset(&lppe, 0, sizeof(PROCESSENTRY32));
lppe.dwSize = sizeof(PROCESSENTRY32);
stdstr ModuleName = CPath(CPath::MODULE_FILE).GetNameExtension();
if (Process32First(nSearch, &lppe))
{
do
{
if (_stricmp(lppe.szExeFile, ModuleName.c_str()) != 0 ||
lppe.th32ProcessID == pid)
{
continue;
}
if (!AskedUser)
{
AskedUser = true;
int res = MessageBox(NULL, stdstr_f("%s currently running\n\nTerminate pid %d now?", ModuleName.c_str(), lppe.th32ProcessID).c_str(), stdstr_f("Terminate %s",ModuleName.c_str()).c_str(), MB_YESNO | MB_ICONEXCLAMATION);
if (res != IDYES)
{
break;
}
}
HANDLE hHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, lppe.th32ProcessID);
if (hHandle != NULL)
{
if (TerminateProcess(hHandle, 0))
{
bTerminated = true;
}
else
{
MessageBox(NULL, stdstr_f("Failed to terminate pid %d", lppe.th32ProcessID).c_str(), stdstr_f("Terminate %s failed!",ModuleName.c_str()).c_str(), MB_YESNO | MB_ICONEXCLAMATION);
}
CloseHandle(hHandle);
}
} while (Process32Next(nSearch, &lppe));
}
CloseHandle(nSearch);
}
return bTerminated;
}
示例15: MempakPath
void CMempak::LoadMempak(int32_t Control, bool Create)
{
stdstr MempakName;
MempakName.Format("%s_Cont_%d", g_Settings->LoadStringVal(Game_GameName).c_str(), Control + 1);
CPath MempakPath(g_Settings->LoadStringVal(Directory_NativeSave).c_str(), stdstr_f("%s.mpk", MempakName.c_str()).c_str());
if (g_Settings->LoadBool(Setting_UniqueSaveDir))
{
MempakPath.AppendDirectory(g_Settings->LoadStringVal(Game_UniqueSaveDir).c_str());
}
#ifdef _WIN32
MempakPath.NormalizePath(CPath(CPath::MODULE_DIRECTORY));
#endif
if (!Create && !MempakPath.Exists())
{
if (!m_Formatted[Control])
{
CMempak::Format(Control);
m_Formatted[Control] = true;
}
m_SaveExists[Control] = false;
return;
}
if (!MempakPath.DirectoryExists())
{
MempakPath.DirectoryCreate();
}
bool formatMempak = !MempakPath.Exists();
m_MempakHandle[Control].Open(MempakPath, CFileBase::modeReadWrite | CFileBase::modeNoTruncate | CFileBase::modeCreate);
m_MempakHandle[Control].SeekToBegin();
if (formatMempak)
{
if (!m_Formatted[Control])
{
CMempak::Format(Control);
m_Formatted[Control] = true;
}
m_MempakHandle[Control].Write(m_Mempaks[Control], 0x8000);
}
else
{
m_MempakHandle[Control].Read(m_Mempaks[Control], 0x8000);
m_Formatted[Control] = true;
}
}