You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/kexi/core/kexiprojectconnectiondata.cpp

153 lines
4.5 KiB

/* This file is part of the KDE project
Copyright (C) 2003 Lucijan Busch <lucijan@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#include <sys/types.h>
#include <unistd.h>
#include <tqdom.h>
#include <tqdir.h>
#include <tqfile.h>
#include <tqregexp.h>
#include <kglobal.h>
#include <kstandarddirs.h>
#include <kdebug.h>
#include <tdeio/netaccess.h>
#include <kurl.h>
#include <klocale.h>
#include <kmessagebox.h>
#include <kexidb/connectiondata.h>
#include <kexidb/drivermanager.h>
#include "kexiprojectconnectiondata.h"
KexiProjectConnectionData::KexiProjectConnectionData(): KexiDB::ConnectionData()
{
}
KexiProjectConnectionData::KexiProjectConnectionData(const TQString& driverName, const TQString& databaseName, const TQString &host,
unsigned short int rport, const TQString& user, const TQString &pass, const TQString& file):KexiDB::ConnectionData()
{
m_driverName=driverName;
m_databaseName=databaseName;
hostName=host;
port=rport;
userName=user;
password=pass;
setFileName(file);
}
KexiProjectConnectionData::KexiProjectConnectionData(const TQString &driverName, const TQString &fileName)
: KexiDB::ConnectionData()
{
m_driverName=driverName;
setFileName(fileName);
}
const TQString &
KexiProjectConnectionData::generateTmpName()
{
return TQString();
}
KexiProjectConnectionData*
KexiProjectConnectionData::loadInfo(TQDomElement &rootElement)
{
TQDomElement engineElement = rootElement.namedItem("engine").toElement();
TQDomElement hostElement = rootElement.namedItem("host").toElement();
TQDomElement portElement = rootElement.namedItem("port").toElement();
TQDomElement nameElement = rootElement.namedItem("name").toElement();
TQDomElement userElement = rootElement.namedItem("user").toElement();
TQDomElement passElement = rootElement.namedItem("password").toElement();
TQDomElement persElement = rootElement.namedItem("persistant").toElement();
TQDomElement encodingElement = rootElement.namedItem("encoding").toElement();
KexiProjectConnectionData *tmp=new KexiProjectConnectionData(
engineElement.text(), nameElement.text(),hostElement.text(),portElement.text().toInt(),
userElement.text(),passElement.text(),"");
return tmp;
}
void KexiProjectConnectionData::setDriverName(const TQString &driverName) {
m_driverName=driverName;
}
void KexiProjectConnectionData::setDatabaseName(const TQString &databaseName) {
m_databaseName=databaseName;
}
TQString KexiProjectConnectionData::driverName() const {
return m_driverName;
}
TQString KexiProjectConnectionData::databaseName() const {
return m_databaseName;
}
void
KexiProjectConnectionData::writeInfo(TQDomDocument &domDoc)
{
TQDomElement connectionElement = domDoc.createElement("KexiDBConnection");
domDoc.documentElement().appendChild(connectionElement);
//DB ENGINE
TQDomElement engineElement = domDoc.createElement("engine");
connectionElement.appendChild(engineElement);
TQDomText tEngine = domDoc.createTextNode(m_driverName);
engineElement.appendChild(tEngine);
//HOST
TQDomElement hostElement = domDoc.createElement("host");
connectionElement.appendChild(hostElement);
TQDomText tHost = domDoc.createTextNode(hostName);
hostElement.appendChild(tHost);
//DATABASE NAME
TQDomElement nameElement = domDoc.createElement("name");
connectionElement.appendChild(nameElement);
TQDomText tName = domDoc.createTextNode(m_databaseName);
nameElement.appendChild(tName);
//USER
TQDomElement userElement = domDoc.createElement("user");
connectionElement.appendChild(userElement);
TQDomText tUser = domDoc.createTextNode(userName);
userElement.appendChild(tUser);
//PASSWORD STUFF
TQDomElement passElement = domDoc.createElement("password");
connectionElement.appendChild(passElement);
TQDomText tPass=domDoc.createTextNode(password);
passElement.appendChild(tPass);
}
KexiProjectConnectionData::~KexiProjectConnectionData()
{
}