Exemple #1
0
//-----------------------------------------------------------------------------
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();
}
Exemple #3
0
//-----------------------------------------------------------------------------
Exception::Exception(DatabasePtr database, const QString& name)
    : MetadataItem(ntException, database.get(), name), numberM(0)
{
}
Exemple #4
0
//-----------------------------------------------------------------------------
Generator::Generator(DatabasePtr database, const QString& name)
    : MetadataItem(ntGenerator, database.get(), name)
{
}
Exemple #5
0
Function::Function(DatabasePtr database, const wxString& name)
    : MetadataItem(ntFunction, database.get(), name)
{
}
Exemple #6
0
Domain::Domain(DatabasePtr database, const wxString& name)
    : MetadataItem((hasSystemPrefix(name) ? ntSysDomain : ntDomain),
        database.get(), name)
{
}