//----------------------------------------------------------------------------- bool Root::parseDatabase(ServerPtr server, QDomNode& xmlnParent) { Q_ASSERT(server); Q_ASSERT(!xmlnParent.isNull()); DatabasePtr database = server->addDatabase(); SubjectLocker locker(database.get()); for (QDomElement xmln = xmlnParent.firstChildElement(); !xmln.isNull(); xmln = xmln.nextSiblingElement()) { QString value = xmln.text(); if (xmln.tagName() == QString::fromLatin1("name")) database->setName_(value); else if (xmln.tagName() == QString::fromLatin1("path")) database->setPath(value); else if (xmln.tagName() == QString::fromLatin1("charset")) database->setConnectionCharset(value); else if (xmln.tagName() == QString::fromLatin1("username")) database->setUsername(value); else if (xmln.tagName() == QString::fromLatin1("password")) database->setRawPassword(value); else if (xmln.tagName() == QString::fromLatin1("encrypted") && value == QString::fromLatin1("1")) database->getAuthenticationMode().setStoreEncryptedPassword(); else if (xmln.tagName() == QString::fromLatin1("authentication")) database->getAuthenticationMode().setConfigValue(value); else if (xmln.tagName() == QString::fromLatin1("role")) database->setRole(value); else if (xmln.tagName() == QString::fromLatin1("id")) { bool isOk = false; unsigned long id = value.toULong(&isOk); if (isOk) database->setId(id); } } // make sure the database has an Id before Root::save() is called, // otherwise a new Id will be generated then, but the generator value // will not be stored because it's at the beginning of the file. database->getId(); return true; }
//! closes window if database is removed (unregistered) void EventWatcherFrame::subjectRemoved(Subject* subject) { DatabasePtr db = getDatabase(); if (!db || !db->isConnected() || subject == db.get()) Close(); }
//----------------------------------------------------------------------------- Exception::Exception(DatabasePtr database, const QString& name) : MetadataItem(ntException, database.get(), name), numberM(0) { }
//----------------------------------------------------------------------------- Generator::Generator(DatabasePtr database, const QString& name) : MetadataItem(ntGenerator, database.get(), name) { }
Function::Function(DatabasePtr database, const wxString& name) : MetadataItem(ntFunction, database.get(), name) { }
Domain::Domain(DatabasePtr database, const wxString& name) : MetadataItem((hasSystemPrefix(name) ? ntSysDomain : ntDomain), database.get(), name) { }