您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ BEntry函数代码示例

51自学网 2021-06-01 19:49:39
  C++
这篇教程C++ BEntry函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中BEntry函数的典型用法代码示例。如果您正苦于以下问题:C++ BEntry函数的具体用法?C++ BEntry怎么用?C++ BEntry使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了BEntry函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: winpath

voidFieldView::SetSoundRefs(void){	BPath winpath(fThemePath.String());	winpath.Append(gGameStyle->StyleName());	winpath.Append("win.ogg");	entry_ref winSoundRef;	BEntry(winpath.Path()).GetRef(&winSoundRef);	fWinPlayer = new BFileGameSound(&winSoundRef, false);	fWinPlayer->Preload();	BPath losepath(fThemePath.String());	losepath.Append(gGameStyle->StyleName());	losepath.Append("lose.ogg");	entry_ref loseSoundRef;	BEntry(losepath.Path()).GetRef(&loseSoundRef);	fLosePlayer = new BFileGameSound(&loseSoundRef, false);	fLosePlayer->Preload();	BPath clickpath(fThemePath.String());	clickpath.Append(gGameStyle->StyleName());	clickpath.Append("click.ogg");	entry_ref clickSoundRef;	BEntry(clickpath.Path()).GetRef(&clickSoundRef);	fClickPlayer = new BFileGameSound(&clickSoundRef, false);	fClickPlayer->Preload();}
开发者ID:HaikuArchives,项目名称:BeMines,代码行数:27,


示例2: Copy_Loop

void Copy_Loop(entry_ref* ref){	entry_ref temp_ref, t_ref, t_ref2;	status_t err;	char temp_char[4096];	BPath temp_path;	BDirectory* temp_dir;	BEntry temp_entry;	temp_dir = new BDirectory(ref);	while (temp_dir->GetNextRef(&temp_ref) == B_OK) {		if (BEntry(&temp_ref, true).IsDirectory()) {			BFSDir->GetEntry(&temp_entry);			temp_entry.GetPath(&temp_path);			memset(temp_char, 0, sizeof(temp_char));			sprintf(temp_char, "%s/%s", temp_path.Path(), temp_ref.name);			if ((err = BFSDir->CreateDirectory(temp_char, NULL)) == B_OK) {				if (BFSDir->SetTo(temp_char) == B_OK) {					Copy_Loop(&temp_ref);					BFSDir->SetTo(temp_path.Path());				}			}		} else {			if (BFSDir->GetEntry(&temp_entry) == B_OK) {				if (temp_entry.GetPath(&temp_path) == B_OK) {					sprintf(temp_char, "%s/%s", temp_path.Path(), temp_ref.name);					BEntry(&temp_ref, true).GetRef(&t_ref2);					if (BEntry(temp_char, true).GetRef(&t_ref) == B_OK)						CopyFile(t_ref2, t_ref);				}			}		}	}	delete temp_dir;}
开发者ID:Admixior,项目名称:BurnItNow,代码行数:34,


示例3: uninstall_asst

//------------------------------------------------------------------------------status_t	uninstall_asst(bool oSilent){	BEntry(static_cast<const char*>(asst_install_path(FOLDER_NAME_ASST_SPY).c_str())).Remove();	BEntry(static_cast<const char*>(asst_install_path(FOLDER_NAME_ASST_PASTE_SENDER).c_str())).Remove();	if ( !oSilent ) {		show_alert3(alert_caption(), _T(LKK_INFO_UNINSTALLED_ASST) , _T(LKK_BUTTON_OK));	}	if ( is_asst_installed() )		return B_ERROR;	return B_OK;}
开发者ID:BackupTheBerlios,项目名称:textbank,代码行数:12,


示例4: BEntry

	~TemporaryFile()	{		if (fDeleteFile) {			fFile.Unset();			BEntry(fPath.Path()).Remove();		}	}
开发者ID:AmirAbrams,项目名称:haiku,代码行数:7,


示例5: CopyFiles

status_t CopyFiles(){	entry_ref temp_ref;	BEntry(BURN_DIR).GetRef(&temp_ref);	Copy_Loop(&temp_ref);	return B_OK;}
开发者ID:Admixior,项目名称:BurnItNow,代码行数:7,


示例6: find_directory

status_tAGMSBayesianSpamFilter::_CheckForSpamServer(){	// Make sure the server is running.	if (be_roster->IsRunning (kServerSignature))		return B_OK;	status_t errorCode = be_roster->Launch (kServerSignature);	if (errorCode == B_OK)		return errorCode;	BPath path;	entry_ref ref;	directory_which places[] = {B_COMMON_BIN_DIRECTORY,B_BEOS_BIN_DIRECTORY};	for (int32 i = 0; i < 2; i++) {		find_directory(places[i],&path);		path.Append("spamdbm");		if (!BEntry(path.Path()).Exists())			continue;		get_ref_for_path(path.Path(),&ref);		if ((errorCode =  be_roster->Launch(&ref)) == B_OK)			break;	}	return errorCode;}
开发者ID:jiangxilong,项目名称:haiku,代码行数:26,


示例7: managerLocker

int32VirtualDirectoryEntryList::GetNextDirents(struct dirent* buffer, size_t length,	int32 count){	if (count > 1)		count = 1;	int32 countRead = fMergedDirectory.GetNextDirents(buffer, length, count);	if (countRead != 1)		return countRead;	// deal with directories	entry_ref ref;	ref.device = buffer->d_pdev;	ref.directory = buffer->d_pino;	if (ref.set_name(buffer->d_name) == B_OK && BEntry(&ref).IsDirectory()) {		if (VirtualDirectoryManager* manager				= VirtualDirectoryManager::Instance()) {			AutoLocker<VirtualDirectoryManager> managerLocker(manager);			manager->TranslateDirectoryEntry(fDefinitionFileRef, buffer);		}	}	return countRead;}
开发者ID:naveedasmat,项目名称:haiku,代码行数:25,


示例8: libpath

voidProject::AddLibrary(const char *path){	if (!path)		return;		DPath libpath(path);	if (!BEntry(libpath.GetFullPath()).Exists())	{		libpath = FindLibrary(libpath.GetFileName());		if (libpath.IsEmpty())		{			if (gBuildMode)			{				printf("%s seems to be missing/n", path);			}			else			{				BString err;				err << path << " seems to be missing. Do you want to remove it from the project?";				int32 result = ShowAlert(err.String(),"Remove","Keep");				if (result == 0)					return;			}		}	}		if (!HasLibrary(libpath.GetFullPath()))	{		STRACE(1,("%s: Added library %s/n",GetName(),libpath.GetFullPath()));		fLibraryList.AddItem(gFileFactory.CreateSourceFileItem(libpath.GetFullPath()));	}}
开发者ID:passick,项目名称:Paladin,代码行数:33,


示例9: PlayMediaFile

voidPlayMediaFile(const char* media_type, const char* media_name){	entry_ref ref;	if (BMediaFiles().GetRefFor(media_type, media_name, &ref) != B_OK		|| !BEntry(&ref).Exists())		return;	MediaFilePlayer* player = list.EachElement(FindMediaFilePlayer,		(void*)media_name);	if (player != NULL) {		if (*(player->Ref()) == ref) {			player->Restart();			return;		}		list.RemoveItem(player);		delete player;		player = NULL;	}	if (player == NULL) {		player = new MediaFilePlayer(media_type, media_name, &ref);		if (player->InitCheck() == B_OK)			list.AddItem(player);		else			delete player;	}}
开发者ID:garodimb,项目名称:haiku,代码行数:30,


示例10: DetectPlatform

platform_tDetectPlatform(void){	platform_t type = PLATFORM_R5;		// While, yes, there is a uname() function in sys/utsname.h, we use spawn a shell	// so that we can easily avoid the build mess of BONE vs netserver.	// Use ShellHelper class to avoid problems with popen() causing hangs. :/	ShellHelper shell;	BString osname;		shell << "uname" << "-o";	shell.RunInPipe(osname, false);		if (osname.FindFirst("Haiku/n") == 0)	{		BPath libpath;		find_directory(B_BEOS_LIB_DIRECTORY,&libpath);		libpath.Append("libsupc++.so");		type =  BEntry(libpath.Path()).Exists() ? PLATFORM_HAIKU_GCC4 : PLATFORM_HAIKU;	}	else if (osname.FindFirst("Zeta/n") == 0)		type = PLATFORM_ZETA;	else		printf("Detected platform from uname: %s/n", osname.String());		return type;}
开发者ID:passick,项目名称:Paladin,代码行数:28,


示例11: path

boolApp::QuickImportProject(DPath folder){	// Quickly makes a project in a folder by importing all resource files and C++ sources.	if (!BEntry(folder.GetFullPath()).Exists())		return false;	BMessage settings;	settings.AddString("name", folder.GetFileName());	settings.AddString("target", folder.GetFileName());	// skipping templatename field on purpose	settings.AddInt32("type", PROJECT_GUI);	settings.AddString("path", folder.GetFullPath());	settings.AddInt32("scmtype", gDefaultSCM);	settings.AddBool("createfolder", false);		DPath path(folder);	BEntry entry(path.GetFullPath());	Project *proj = CreateNewProject(settings);	if (!proj)		return false;		entry.SetTo(folder.GetFullPath());	entry_ref addref;	entry.GetRef(&addref);	BMessage addmsg(M_ADD_FILES);	addmsg.AddRef("refs",&addref);		PostToProjectWindow(&addmsg,NULL);	return true;}
开发者ID:humdingerb,项目名称:Paladin,代码行数:31,


示例12: entry

Model::CanHandleResult Model::CanHandleDrops() const{	if (IsDirectory())		// directories take anything		// resolve permissions here 		return kCanHandle;					if (IsSymLink()) {		// descend into symlink and try again on it's target		BEntry entry(&fEntryRef, true);		if (entry.InitCheck() != B_OK)			return kCannotHandle;				if (entry == BEntry(EntryRef()))			// self-referencing link, avoid infinite recursion			return kCannotHandle;		Model model(&entry);		if (model.InitCheck() != B_OK)			return kCannotHandle;		return model.CanHandleDrops();	}		if (IsExecutable())		return kNeedToCheckType;	return kCannotHandle;}
开发者ID:HaikuArchives,项目名称:OpenTracker,代码行数:32,


示例13: update_file_in_dropbox

/** Given a local file path,* update the corresponding file on Dropbox*/voidupdate_file_in_dropbox(const char * filepath, const char *parent_rev){  char * argv[4];  argv[0] = "db_put.py";  BString db_filepath = local_to_db_filepath(filepath);  const char * tmp = db_filepath.String();  char not_const[db_filepath.CountChars()];  strcpy(not_const,tmp);  argv[2] = not_const;  char not_const2[strlen(filepath)];  strcpy(not_const2,filepath);  argv[1] = not_const2;  char not_const3[strlen(parent_rev)];  strcpy(not_const3,parent_rev);  argv[3] = not_const3;  BString *result = run_python_script(argv,4);  BString *real_path = parse_path(result);  BString *new_parent_rev = parse_parent_rev(result);  delete result;  printf("path:|%s|/nparent_rev:|%s|/n",real_path->String(),new_parent_rev->String());  BNode node = BNode(filepath);  set_parent_rev(&node,new_parent_rev);  delete new_parent_rev;  BEntry entry = BEntry(filepath);  BPath old_path;  entry.GetPath(&old_path);  BPath new_path = BPath(db_to_local_filepath(real_path->String()).String());  printf("Should I move %s to %s?/n", old_path.Path(), new_path.Path());  if(strcmp(new_path.Leaf(),old_path.Leaf()) != 0)  {    printf("moving %s to %s/n", old_path.Leaf(), new_path.Leaf());    BEntry entry = BEntry(old_path.Path()); //entry for local path    status_t err = entry.Rename(new_path.Leaf(),true);    if(err != B_OK) printf("error moving: %s/n",strerror(err));  }  delete real_path;}
开发者ID:astrieanna,项目名称:haiku-dropbox-client,代码行数:51,


示例14: objname

boolSourceFileRez::CheckNeedsBuild(BuildInfo &info, bool check_deps){	if (!info.objectFolder.GetFullPath())		return false;		if (BString(GetPath().GetExtension()).ICompare("r") != 0)		return false;		if (BuildFlag() == BUILD_YES)		return true;		BString objname(GetPath().GetBaseName());	objname << ".rsrc";		DPath objpath(info.objectFolder);	objpath.Append(objname);	if (!BEntry(objpath.GetFullPath()).Exists())		return true;		BString tmpname(GetPath().GetBaseName());	tmpname << ".r.txt";		DPath tmppath(info.objectFolder);	tmppath.Append(tmpname);	if (!BEntry(tmppath.GetFullPath()).Exists())		return true;			struct stat objstat;	if (stat(objpath.GetFullPath(),&objstat) != 0)		return false;		// Fix mod times set into the future	time_t now = real_time_clock();	if (GetModTime() > now)	{		BNode node(GetPath().GetFullPath());		node.SetModificationTime(now);	}		if (GetModTime() > objstat.st_mtime)		return true;		return false;}
开发者ID:HaikuArchives,项目名称:Paladin,代码行数:46,


示例15: find_directory

voidAGMSBayesianSpamFilterConfig::ShowSpamServerConfigurationWindow () {	status_t    errorCode = B_OK;	BMessage    maximizeCommand;	BMessenger	messengerToServer;	BMessage    replyMessage;	// Make sure the server is running.	if (!be_roster->IsRunning (kServerSignature)) {			errorCode = be_roster->Launch (kServerSignature);			if (errorCode != B_OK) {				BPath path;				entry_ref ref;				directory_which places[] = {					B_SYSTEM_NONPACKAGED_BIN_DIRECTORY,					B_SYSTEM_BIN_DIRECTORY				};				for (int32 i = 0; i < 2; i++) {					find_directory(places[i],&path);					path.Append("spamdbm");					if (!BEntry(path.Path()).Exists())						continue;					get_ref_for_path(path.Path(),&ref);					if ((errorCode =  be_roster->Launch (&ref)) == B_OK)						break;				}				if (errorCode != B_OK)					goto ErrorExit;			}		}		// Set up the messenger to the database server.	messengerToServer =		BMessenger (kServerSignature);	if (!messengerToServer.IsValid ())		goto ErrorExit;	// Wait for the server to finish starting up, and for it to create the window.	snooze (2000000);	// Tell it to show its main window, in case it is hidden in server mode.	maximizeCommand.what = B_SET_PROPERTY;	maximizeCommand.AddBool ("data", false);	maximizeCommand.AddSpecifier ("Minimize");	maximizeCommand.AddSpecifier ("Window", (int32)0);	errorCode = messengerToServer.SendMessage (&maximizeCommand, &replyMessage);	if (errorCode != B_OK)		goto ErrorExit;	return; // Successful.ErrorExit:	BAlert* alert = new BAlert ("SpamFilterConfig Error", B_TRANSLATE("Sorry, "		"unable to launch the spamdbm program to let you edit the server "		"settings."), B_TRANSLATE("Close"));	alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE);	alert->Go ();	return;}
开发者ID:DonCN,项目名称:haiku,代码行数:58,


示例16: printf

status_tRuleRunner::RunRule(FilerRule *rule, entry_ref &ref){	if (!rule)		return B_ERROR;		bool pass;		printf("Running rule '%s'/n",rule->GetDescription());		if (rule->GetRuleMode() == FILER_RULE_ANY)	{		pass = false;		for (int32 i = 0; i < rule->CountTests(); i++)		{			BMessage *test = rule->TestAt(i);			if (IsMatch(*test,ref))			{				pass = true;				break;			}		}	}	else	// And mode	{		pass = true;		for (int32 i = 0; i < rule->CountTests(); i++)		{			BMessage *test = rule->TestAt(i);			if (!IsMatch(*test,ref))			{				pass = false;				break;			}		}	}		if (pass)	{		entry_ref realref;		BEntry(&ref,true).GetRef(&realref);				for (int32 i = 0; i < rule->CountActions(); i++)		{			BMessage *action = rule->ActionAt(i);						// Note that this call passes the same ref object from one call to the			// next. This allows the user to chain actions together. The only thing			// required to do this is for the particular action to change the ref			// passed to it.			status_t status = RunAction(*action,realref);			if (status != B_OK)				return status;		}	}		return B_OK;}
开发者ID:puckipedia,项目名称:Filer,代码行数:58,


示例17: EnsureTemplates

voidEnsureTemplates(void){	// Because creating a new project depends on the existence of the Templates folder,	// make sure that we have some (very) basic templates to work with if the folder	// has been deleted.	DPath templatePath = gAppPath.GetFolder();	templatePath << "Templates";		bool missing = false;	BDirectory tempDir;	if (!BEntry(templatePath.GetFullPath()).Exists())	{		BDirectory appDir(gAppPath.GetFolder());		appDir.CreateDirectory("Templates", &tempDir);		missing = true;	}	else	{		tempDir.SetTo(templatePath.GetFullPath());		if (tempDir.CountEntries() == 0)			missing = true;	}		if (missing)	{		BDirectory dir;		tempDir.CreateDirectory("Empty Application", &dir);		tempDir.CreateDirectory("Kernel Driver", &dir);		tempDir.CreateDirectory("Shared Library or Addon", &dir);		tempDir.CreateDirectory("Static Library", &dir);				DPath filePath;		TextFile file;				filePath = templatePath;		filePath << "Empty Application/TEMPLATEINFO";		file.SetTo(filePath.GetFullPath(), B_CREATE_FILE | B_READ_WRITE);		file.WriteString("TYPE=Application/nLIB=B_BEOS_LIB_DIRECTORY/libsupc++.so/n");				filePath = templatePath;		filePath << "Kernel Driver/TEMPLATEINFO";		file.SetTo(filePath.GetFullPath(), B_CREATE_FILE | B_READ_WRITE);		file.WriteString("TYPE=Driver/n");				filePath = templatePath;		filePath << "Shared Library or Addon/TEMPLATEINFO";		file.SetTo(filePath.GetFullPath(), B_CREATE_FILE | B_READ_WRITE);		file.WriteString("TYPE=Shared/n");				filePath = templatePath;		filePath << "Static Library/TEMPLATEINFO";		file.SetTo(filePath.GetFullPath(), B_CREATE_FILE | B_READ_WRITE);		file.WriteString("TYPE=Static/n");				file.Unset();	}}
开发者ID:jscipione,项目名称:Paladin,代码行数:58,


示例18: switch

voidTemplateWindow::MessageReceived(BMessage* message){	switch (message->what) {		case M_NAME_CHANGED:		case M_TARGET_CHANGED:		{			if (fNameBox->Text() && strlen(fNameBox->Text()) > 0 &&				fTargetBox->Text() && strlen(fTargetBox->Text()) > 0)				fCreateProjectButton->SetEnabled(true);			else				fCreateProjectButton->SetEnabled(false);			break;		}		case M_CREATE_PROJECT:		{			BMenu* menu = fTemplateField->Menu();			BMenuItem* item = menu->FindMarked();			if (item == NULL)				break;			int32 selection = menu->IndexOf(item);			ProjectTemplate* ptemp = fTempList.TemplateAt(selection);			BMessage projectMessage(M_CREATE_PROJECT), reply;			projectMessage.AddString("name", fNameBox->Text());			projectMessage.AddString("target", fTargetBox->Text());			projectMessage.AddInt32("type", ptemp->TargetType());			projectMessage.AddString("path", fPathBox->Path());			projectMessage.AddString("template", ptemp->GetRef().name);			projectMessage.AddString("pldfile", ptemp->ProjectFileName());			BMenu* scmMenu = fSCMChooser->Menu();			int32 scm = scmMenu->IndexOf(scmMenu->FindMarked());			projectMessage.AddInt32("scmtype",scm);			if (!ptemp->ProjectFileName()) {				for (int32 i = 0; i < ptemp->CountFiles(); i++)					projectMessage.AddRef("refs", ptemp->FileAt(i));				for (int32 i = 0; i < ptemp->CountLibs(); i++)					projectMessage.AddRef("libs", ptemp->LibAt(i));			}			if (!BEntry(PROJECT_PATH).Exists())				create_directory(PROJECT_PATH, 0755);			projectMessage.AddBool("createfolder", (fCreateFolder->Value() == B_CONTROL_ON));			be_app_messenger.SendMessage(&projectMessage, &reply);			PostMessage(B_QUIT_REQUESTED);			break;		}		default:			BWindow::MessageReceived(message);	}}
开发者ID:jscipione,项目名称:Paladin,代码行数:58,


示例19: check_exists

boolcheck_exists(BString db_path) {  BString local_path = db_to_local_filepath(db_path);  BEntry entry = BEntry(local_path.String());  bool init = entry.InitCheck() == B_OK;  bool exists = entry.Exists();  printf("init:%d,exists:%d/n",init,exists);  return init && exists;}
开发者ID:astrieanna,项目名称:haiku-dropbox-client,代码行数:9,


示例20: path

voidSourceFileRez::RemoveObjects(BuildInfo &info){	if (BString(GetPath().GetExtension()).ICompare("r") != 0)		return;		DPath path(GetTempFilePath(info));		BString base = path.GetFolder();	base << "/" << path.GetBaseName() << ".txt";	BEntry(base.String()).Remove();	base = path.GetFolder();	base << "/" << path.GetBaseName();	base.RemoveLast(".r");	base << ".rsrc";	BEntry(base.String()).Remove();}
开发者ID:HaikuArchives,项目名称:Paladin,代码行数:18,


示例21: GetBFSSize

uint64 GetBFSSize(){	entry_ref temp_ref;	BEntry(BURN_DIR, true).GetRef(&temp_ref);	total_size = 0;	GetSizeLoop(&temp_ref);	total_size += 10 * 1024 * 1024;	return (uint64)total_size;}
开发者ID:Admixior,项目名称:BurnItNow,代码行数:9,


示例22: BAlert

void Account::CreateOutbound(){	if (!(fOutbound = NewMailChain()))	{		(new BAlert(			MDR_DIALECT_CHOICE ("E-mail","メ
C++ BF函数代码示例
C++ BEV_UNLOCK函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。