Lines Matching refs:entry

26 	while (Entry *entry = fEntries.First()) {
27 if (DeleteEntry(entry) != B_OK) {
36 Directory::Link(Entry *entry)
39 return Node::Link(entry);
45 Directory::Unlink(Entry *entry)
47 if (entry == fReferrers.First())
48 return Node::Unlink(entry);
70 Entry *entry = fReferrers.First();
71 return (entry ? entry->GetParent() : NULL);
134 Directory::AddEntry(Entry *entry)
136 status_t error = (entry && !entry->GetParent() ? B_OK : B_BAD_VALUE);
138 fEntries.Insert(entry);
139 entry->SetParent(this);
140 error = GetVolume()->EntryAdded(GetID(), entry);
144 fEntries.Remove(entry);
145 entry->SetParent(NULL);
157 // create an entry
158 Entry *entry = new(nothrow) Entry(name);
159 if (entry) {
160 error = entry->InitCheck();
163 error = entry->Link(node);
165 // add the entry
166 error = AddEntry(entry);
169 *_entry = entry;
172 entry->Unlink();
176 // delete the entry on failure
178 delete entry;
187 Directory::RemoveEntry(Entry *entry)
189 status_t error = (entry && entry->GetParent() == this ? B_OK
192 // move all iterators pointing to the entry to the next entry
194 // set the iterators' current entry
195 Entry *nextEntry = fEntries.GetNext(entry);
197 = entry->GetEntryIteratorList();
204 // them, if there is no next entry.
214 // remove the entry
216 error = GetVolume()->EntryRemoved(GetID(), entry);
218 fEntries.Remove(entry);
219 entry->SetParent(NULL);
229 Directory::DeleteEntry(Entry *entry)
231 status_t error = RemoveEntry(entry);
233 error = entry->Unlink();
235 delete entry;
237 FATAL("Failed to Unlink() entry %p from node %" B_PRIdINO "!\n", entry,
238 entry->GetNode()->GetID());
239 AddEntry(entry);
252 Entry *entry = NULL;
253 while (GetNextEntry(&entry) == B_OK) {
254 if (!strcmp(entry->GetName(), name)) {
255 *_entry = entry;
271 Entry *entry = NULL;
272 if (error == B_OK && (error = FindEntry(name, &entry)) == B_OK)
273 *node = entry->GetNode();
282 Entry *entry = NULL;
283 if (error == B_OK && (error = FindEntry(name, &entry)) == B_OK) {
284 *node = entry->GetNode();
286 *_entry = entry;
294 Directory::GetPreviousEntry(Entry **entry) const
296 status_t error = (entry ? B_OK : B_BAD_VALUE);
298 if (!*entry)
299 *entry = fEntries.Last();
300 else if ((*entry)->GetParent() == this)
301 *entry = fEntries.GetPrevious(*entry);
304 if (error == B_OK && !*entry)
312 Directory::GetNextEntry(Entry **entry) const
314 status_t error = (entry ? B_OK : B_BAD_VALUE);
316 if (!*entry)
317 *entry = fEntries.First();
318 else if ((*entry)->GetParent() == this)
319 *entry = fEntries.GetNext(*entry);
322 if (error == B_OK && !*entry)
334 Entry *entry = NULL;
335 while (GetNextEntry(&entry) == B_OK)
336 entry->GetAllocationInfo(info);