const BNetworkCookie* BNetworkCookieJar::Iterator::Next() { if (!fElement) return NULL; const BNetworkCookie* result = fElement; _FindNext(); return result; }
int OptionIterator::Next(std::string& argument) { if (!HasNext()) return '\0'; char option = fCurrentOption->fShortOption; argument = fOptionArgument != NULL ? fOptionArgument : ""; _FindNext(); return option; }
OptionIterator::OptionIterator(int argumentCount, const char* const* arguments, const OptionSpecification& options) : fOptions(options), fArguments(arguments), fArgumentCount(argumentCount), fIndex(1), fCurrentOption(NULL), fOptionArgument(NULL), fRemainingShortOptions(NULL), fStatus(MORE_OPTIONS) { _FindNext(); }
BNetworkCookieJar::Iterator::Iterator(const Iterator& other) : fCookieJar(other.fCookieJar), fIterator(NULL), fLastList(NULL), fList(NULL), fElement(NULL), fLastElement(NULL), fIndex(0) { fIterator = new(std::nothrow) PrivateIterator( fCookieJar->fCookieHashMap->GetIterator()); _FindNext(); }
BNetworkCookieJar::Iterator::Iterator(const BNetworkCookieJar* cookieJar) : fCookieJar(const_cast<BNetworkCookieJar*>(cookieJar)), fIterator(NULL), fLastList(NULL), fList(NULL), fElement(NULL), fLastElement(NULL), fIndex(0) { fIterator = new(std::nothrow) PrivateIterator( fCookieJar->fCookieHashMap->GetIterator()); // Locate first cookie _FindNext(); }
void BNetworkCookieJar::UrlIterator::_Initialize() { BString domain = fUrl.Host(); if (!domain.Length()) { if (fUrl.Protocol() == "file") domain = "localhost"; else return; } fIterator = new(std::nothrow) PrivateIterator( fCookieJar->fCookieHashMap->GetIterator()); if (fIterator != NULL) { // Prepending a dot since _FindNext is going to call _SupDomain() domain.Prepend("."); fIterator->fKey.SetTo(domain, domain.Length()); _FindNext(); } }