Пример #1
0
BEntry* TaskFS::ListToDirectory(TaskList *theList)
{
	BEntry		*entry	= NULL;
	BDirectory	*dir	= new BDirectory();
	int32		i		= 0;
	if (tasksDir.InitCheck()==B_OK) {
		if (tasksDir.CreateDirectory(theList->Name(),dir)==B_OK)
		{
			if (dir->InitCheck()==B_OK){
				dir->WriteAttrString("META:task_id",  new BString(theList->ID()));
				dir->WriteAttrString("META:task_url",new BString(theList->URL()));
				ssize_t written = tasksDir.WriteAttr("_trk/columns_le", B_RAW_TYPE,
					0, task_columns, sizeof(task_columns));
				if (written < 0)
					printf("Failed to write column info (%s)\n", strerror(written));
				for (i=0;i<theList->GetTasks()->CountItems();i++)
				{
					TaskToFile(theList->GetTasks()->ItemAt(i));
				}
				dir->SetModificationTime(theList->LastUpdate());
			}
		}
	}
	delete dir;
	return entry;
}