Lines Matching refs:entry

25 	while (Entry *entry = fEntries.First()) {
26 if (DeleteEntry(entry) != B_OK) {
35 Directory::Link(Entry *entry)
38 return Node::Link(entry);
44 Directory::Unlink(Entry *entry)
46 if (entry == fReferrers.First())
47 return Node::Unlink(entry);
69 Entry *entry = fReferrers.First();
70 return (entry ? entry->GetParent() : NULL);
133 Directory::AddEntry(Entry *entry)
135 status_t error = (entry && !entry->GetParent() ? B_OK : B_BAD_VALUE);
137 fEntries.Insert(entry);
138 entry->SetParent(this);
139 error = GetVolume()->EntryAdded(GetID(), entry);
143 fEntries.Remove(entry);
144 entry->SetParent(NULL);
156 // create an entry
157 Entry *entry = new(std::nothrow) Entry(name);
158 if (entry) {
159 error = entry->InitCheck();
162 error = entry->Link(node);
164 // add the entry
165 error = AddEntry(entry);
168 *_entry = entry;
171 entry->Unlink();
175 // delete the entry on failure
177 delete entry;
186 Directory::RemoveEntry(Entry *entry)
188 status_t error = (entry && entry->GetParent() == this ? B_OK
191 // move all iterators pointing to the entry to the next entry
193 // set the iterators' current entry
194 Entry *nextEntry = fEntries.GetNext(entry);
196 = entry->GetEntryIteratorList();
203 // them, if there is no next entry.
213 // remove the entry
215 error = GetVolume()->EntryRemoved(GetID(), entry);
217 fEntries.Remove(entry);
218 entry->SetParent(NULL);
228 Directory::DeleteEntry(Entry *entry)
230 status_t error = RemoveEntry(entry);
232 error = entry->Unlink();
234 delete entry;
236 FATAL(("Failed to Unlink() entry %p from node %Ld!\n", entry,
237 entry->GetNode()->GetID()));
238 AddEntry(entry);
251 Entry *entry = NULL;
252 while (GetNextEntry(&entry) == B_OK) {
253 if (!strcmp(entry->GetName(), name)) {
254 *_entry = entry;
270 Entry *entry = NULL;
271 if (error == B_OK && (error = FindEntry(name, &entry)) == B_OK)
272 *node = entry->GetNode();
281 Entry *entry = NULL;
282 if (error == B_OK && (error = FindEntry(name, &entry)) == B_OK) {
283 *node = entry->GetNode();
285 *_entry = entry;
293 Directory::GetPreviousEntry(Entry **entry) const
295 status_t error = (entry ? B_OK : B_BAD_VALUE);
297 if (!*entry)
298 *entry = fEntries.Last();
299 else if ((*entry)->GetParent() == this)
300 *entry = fEntries.GetPrevious(*entry);
303 if (error == B_OK && !*entry)
311 Directory::GetNextEntry(Entry **entry) const
313 status_t error = (entry ? B_OK : B_BAD_VALUE);
315 if (!*entry)
316 *entry = fEntries.First();
317 else if ((*entry)->GetParent() == this)
318 *entry = fEntries.GetNext(*entry);
321 if (error == B_OK && !*entry)
333 Entry *entry = NULL;
334 while (GetNextEntry(&entry) == B_OK)
335 entry->GetAllocationInfo(info);