--- /dev/null
+#!/bin/sh
+# postinst script for vicar
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ configure)
+
+ # Kill any running instances of the daemon (only used on Linux based systems)
+ killall -q vicar-daemon || true
+ killall -q vicar-telepathy || true
+
+ #echo "Starting Vicar daemon ..."
+ #[[ -x /opt/vicar/bin/vicar-daemon ]] && /opt/vicar/bin/vicar-daemon&
+
+ #echo "Starting Vicar-Telepathy ..."
+ #[[ -x /opt/vicar/bin/vicar-telepathy ]] && /opt/vicar/bin/vicar-telepathy&
+
+ echo "Creating Vicar Telepathy account ..."
+ [[ -x /opt/vicar/bin/vicar-utils ]] && /opt/vicar/bin/vicar-utils INSTALL
+
+ echo "Creating Vicar Harmattan account ..."
+ [[ -x /opt/vicar/bin/vicar-utils ]] && /opt/vicar/bin/vicar-utils --create-account
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
case "$1" in
remove|deconfigure)
+<<<<<<< HEAD
+ echo "Deleting Vicar Telepathy account ..."
+ [[ -x /opt/vicar/bin/vicar-utils ]] && /opt/vicar/bin/vicar-utils REMOVE
+
+ echo "Deleting Vicar Harmattan account ..."
+ [[ -x /opt/vicar/bin/vicar-utils ]] && /opt/vicar/bin/vicar-utils --delete-account
+
+ #echo "Deleting Vicar Profiles database ..."
+ #[[ -d /home/user/.vicar ]] && rm -rf /home/user/.vicar/
+=======
eval $(dbus-launch --sh-syntax)
export DBUS_SESSION_BUS_ADDRESS
export DBUS_SESSION_BUS_PID
echo "Deleting Vicar Profiles database ..."
#[[ -x /opt/vicar/bin/vicar-utils ]] && su - user -c "exec /opt/vicar/bin/vicar-utils DROPDB"
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
# Kill any running instances of the daemon (only used on Linux based systems)
killall -q vicar-daemon || true
dh_testroot
dh_installchangelogs
dh_installdocs
+<<<<<<< HEAD
+# dh_installexamples
+=======
dh_installexamples
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installinit
# dh_installcron
# dh_installinfo
+<<<<<<< HEAD
+# dh_installman
+ dh_link
+ dh_strip #Uncomment to remove debug symbols
+=======
dh_installman
dh_link
dh_strip
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
dh_compress
dh_fixperms
# dh_perl
# dh_makeshlibs
dh_installdeb
+<<<<<<< HEAD
+ dh_shlibdeps # Uncomment this line for use without Qt Creator
+=======
# dh_shlibdeps # Uncomment this line for use without Qt Creator
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
dh_gencontrol
dh_md5sums
dh_builddeb
Modify the file or remove the checksum to disable this functionality. -->
<aegis>
+<<<<<<< HEAD
+ <!--provide>
+=======
<!-- provide>
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
<dbus name="org.freedesktop.Telepathy.Connection.vicar.tel.vicar" own="Cellular" bus="session">
<node name="/">
<interface name="org.freedesktop.Telepathy.Connection">
<for path="/opt/vicar/bin/vicar-telepathy" />
<for path="/opt/vicar/bin/vicar-daemon" />
<for path="/opt/vicar/bin/vicar-utils" />
+<<<<<<< HEAD
+=======
<!-- These entries to be used only when debug package is included
<for path="/usr/lib/debug/opt/vicar/bin/vicar-telepathy" />
<for path="/usr/lib/debug/opt/vicar/bin/vicar-daemon" />
<for path="/usr/lib/debug/opt/vicar/bin/vicar-utils" /> -->
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
</request>
<request context="INSTALL">
+<<<<<<< HEAD
+shlibs:Depends=applauncherd-launcher, libaccounts-qt1, libc6 (>= 2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.71), libgcc1 (>= 1:4.1.1), libgconf2-6 (>= 2.13.5), libglib2.0-0 (>= 2.12.0), libqt4-dbus (>= 4.7.4~git20110517), libqt4-declarative (>= 4.7.4~git20110517), libqt4-sql (>= 4.7.4~git20110517), libqt4-xml (>= 4.7.4~git20110517), libqtcore4 (>= 4.7.4~git20110517), libqtgui4 (>= 4.7.4~git20110517), libstdc++6 (>= 4.4.0)
+=======
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
misc:Depends=
<?xml version="1.0" encoding="UTF-8" ?>
<service id="vicar">
<type>IM</type>
+<<<<<<< HEAD
+ <name>Vicar</name>
+=======
<name>VICaR Service Name</name>
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
<provider>vicar</provider>
<icon>icon-m-service-vicar</icon>
// Create the settings table if it doesn't already exist
// If the table exists, this is skipped
tx.executeSql('CREATE TABLE IF NOT EXISTS settings(setting TEXT PRIMARY KEY, value TEXT)');
+<<<<<<< HEAD
+ tx.executeSql('CREATE TABLE IF NOT EXISTS profiles(id INTEGER PRIMARY KEY, numberpattern TEXT, gatewaynumber TEXT, dtmfformat TEXT, dtmfprefix TEXT, dtmfsuffix TEXT)');
+=======
tx.executeSql('CREATE TABLE IF NOT EXISTS rules(id INTEGER PRIMARY KEY, numberpattern TEXT, gatewaynumber TEXT, dtmfformat TEXT, dtmfprefix TEXT, dtmfsuffix TEXT)');
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
},
function(error) {
logMessage("Error ["+error.code +"] - " + error.DOMString+" occurred.");
}
function addRule(ruleObj){
+<<<<<<< HEAD
+ logMessage('SQL> INSERT INTO profiles(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, '+[ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]+')');
+=======
logMessage('SQL> INSERT INTO rules(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, '+[ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]+')');
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
var db = getDatabase();
var res = "";
logMessage("Opened VICaR database..");
db.transaction(function(tx) {
+<<<<<<< HEAD
+ var rs = tx.executeSql('INSERT INTO profiles(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, ?, ?, ?, ?, ?);', [ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]);
+=======
var rs = tx.executeSql('INSERT INTO rules(id, numberpattern, gatewaynumber, dtmfformat, dtmfprefix, dtmfsuffix) VALUES (NULL, ?, ?, ?, ?, ?);', [ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix]);
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
logMessage("Inserted "+rs.rowsAffected+" rows");
if (rs.rowsAffected > 0) {
res = "OK";
}
function updateRule(id,ruleObj){
+<<<<<<< HEAD
+ logMessage('SQL> UPDATE profiles set numberpattern = '+[ruleObj.numberpattern]+
+=======
logMessage('SQL> UPDATE rules set numberpattern = '+[ruleObj.numberpattern]+
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
', gatewaynumber = '+[ruleObj.gatewaynumber]+
', dtmfformat = '+[ruleObj.dtmfformat]+
', dtmfprefix = '+[ruleObj.dtmfprefix]+
var db = getDatabase();
var res = "";
db.transaction(function(tx) {
+<<<<<<< HEAD
+ var rs = tx.executeSql('UPDATE profiles set numberpattern = ?, gatewaynumber = ?, dtmfformat = ?, dtmfprefix = ?, dtmfsuffix = ? WHERE id = ?;',
+=======
var rs = tx.executeSql('UPDATE rules set numberpattern = ?, gatewaynumber = ?, dtmfformat = ?, dtmfprefix = ?, dtmfsuffix = ? WHERE id = ?;',
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
[ruleObj.numberpattern, ruleObj.gatewaynumber, ruleObj.dtmfformat, ruleObj.dtmfprefix, ruleObj.dtmfsuffix, id]);
logMessage("Updated "+rs.rowsAffected+" rows");
if (rs.rowsAffected > 0) {
}
function removeRule(id){
+<<<<<<< HEAD
+ logMessage('SQL> DELETE FROM profiles WHERE id = '+[id]);
+ var db = getDatabase();
+ var res = "";
+ db.transaction(function(tx) {
+ var rs = tx.executeSql('DELETE FROM profiles WHERE id = ?;', [id]);
+=======
logMessage('SQL> DELETE FROM rules WHERE id = '+[id]);
var db = getDatabase();
var res = "";
db.transaction(function(tx) {
var rs = tx.executeSql('DELETE FROM rules WHERE id = ?;', [id]);
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
logMessage("Deleted "+rs.rowsAffected+" rows");
if (rs.rowsAffected > 0) {
res = "OK";
var rulesArray = new Array();
var ruleObj;
db.transaction(function(tx) {
+<<<<<<< HEAD
+ var rs = tx.executeSql('SELECT * FROM profiles');
+=======
var rs = tx.executeSql('SELECT * FROM rules');
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
logMessage("Fetched "+rs.rows.length+" rows");
var i = 0;
for (i = 0; i < rs.rows.length; i++){
var db = getDatabase();
var ruleObj;
db.transaction(function(tx) {
+<<<<<<< HEAD
+ logMessage('SQL> SELECT * FROM profiles WHERE id = '+[id]);
+ var rs = tx.executeSql('SELECT * FROM profiles WHERE id = '+[id]);
+=======
logMessage('SQL> SELECT * FROM rules WHERE id = '+[id]);
var rs = tx.executeSql('SELECT * FROM rules WHERE id = '+[id]);
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
logMessage("Fetched "+rs.rows.length+" rows");
if (rs.rows.length > 0){
ruleObj = new Object();
#include "profileswindow.h"
#include "ui_profileswindow.h"
#include "profilesettingsdialog.h"
-#include "gconfutility.h"
#include "dbusutility.h"
#include "telepathyutility.h"
#include "databaseutility.h"
{
public:
ProfilesWindowPrivate(ProfilesWindow * p) :
- gconfUtility(new GConfUtility(p)),
dbusUtility(new DbusUtility(p)),
tpUtility(new TelepathyUtility(p)),
databaseUtility(new DatabaseUtility(p)),
qDebug() << "VICaR: ProfilesWindowPrivate Destructing";
}
- GConfUtility * gconfUtility;
DbusUtility * dbusUtility;
TelepathyUtility *tpUtility;
DatabaseUtility *databaseUtility;
ui->setupUi(this);
loadProfilesList();
- ui->actionRoutingEnabled->setChecked(d->tpUtility->accountExists());
-
- bool routeOnDefault = d->gconfUtility->getGconfValueBoolean("route_on_default");
- ui->actionRouteOnDefault->setChecked(routeOnDefault);
+ ui->actionRoutingEnabled->setChecked(d->tpUtility->accountExists());
+ //bool routeOnDefault = d->gconfUtility->getGconfValueBoolean("route_on_default");
+ QString routeOnDefaultSetting = d->databaseUtility->getSetting("route_on_default");
+ ui->actionRouteOnDefault->setChecked(routeOnDefaultSetting == "1"?true:false);
}
ProfilesWindow::~ProfilesWindow()
}
void ProfilesWindow::on_actionRouteOnDefault_triggered(bool checked){
- d->gconfUtility->setGconfValueBoolean("route_on_default",checked);
+ d->databaseUtility->setSetting("route_on_default",checked?"1":"0");
+ //d->gconfUtility->setGconfValueBoolean("route_on_default",checked);
}
void ProfilesWindow::on_actionEditDefaultProfile_triggered(){
#include "callrouter.h"
#include "vicardbusadaptor.h"
#include <dbusutility.h>
-#include <gconfutility.h>
#include <databaseutility.h>
#include <telepathyutility.h>
#include <QDebug>
databaseUtility(new DatabaseUtility(p)),
dbusAdaptor(new VicarDbusAdaptor(p)),
dbusUtility(new DbusUtility(p)),
- gconfUtility(new GConfUtility(p)),
tpUtility(new TelepathyUtility(p)),
parent(p)
{
Q_ASSERT(0 != dbusAdaptor);
//Do not open here - Unable to capture changes to DB if it is open too early and closed late.
//databaseUtility->openDatabase();
+ qDebug () << "In Private Constructor";
}
~CallRouterPrivate()
DatabaseUtility *databaseUtility;
VicarDbusAdaptor * dbusAdaptor;
DbusUtility * dbusUtility;
- GConfUtility * gconfUtility;
TelepathyUtility *tpUtility;
QString strLastDialedNumber;
QString strLastDTMFCode;
d(new CallRouterPrivate(this))
{
Q_ASSERT(0 != d);
- this->registerDBusService();
- qDebug() << "Vicar-Daemon: Registered DBus Service " << APPLICATION_DBUS_SERVICE;
+ this->registerDBusService();
}
CallRouter::~CallRouter(){
if (!connection.interface()->isServiceRegistered(APPLICATION_DBUS_SERVICE)){
if (!connection.registerService(APPLICATION_DBUS_SERVICE)) {
- qDebug() << "Vicar-Daemon: " << d->dbusUtility->getErrorMessage();
+ qDebug() << "Vicar-Daemon: Error registering D-Bus service " << d->dbusUtility->getErrorMessage();
+ qDebug() << "Vicar-Daemon: Exiting";
exit(1);
}
+ else{
+ qDebug() << "Vicar-Daemon: Registered DBus Service " << APPLICATION_DBUS_SERVICE;
+ }
}
if (!connection.registerObject(APPLICATION_DBUS_PATH, this, QDBusConnection::ExportAdaptors)) {
qDebug() << "Vicar-Daemon: " << d->dbusUtility->getErrorMessage();
+ qDebug() << "Vicar-Daemon: Exiting";
exit(2);
}
-
+ else{
+ qDebug() << "Vicar-Daemon: Registered DBus Object " << APPLICATION_DBUS_PATH;
+ }
}
strErrorMessage = QString("Vicar-Daemon: Error finding VICaR profile. %1").arg(d->databaseUtility->lastError().text());
}
else if (d->currentProfile->profileID == 0){
- bool routeOnDefault = d->gconfUtility->getGconfValueBoolean("route_on_default");
+ QString routeOnDefaultSetting = d->databaseUtility->getSetting("route_on_default");
+ //bool routeOnDefault = d->gconfUtility->getGconfValueBoolean("route_on_default");
+ bool routeOnDefault = routeOnDefaultSetting == "1"? true:false;
+
if (routeOnDefault){
qDebug() << "Vicar-Daemon: Routing directly as per configuration";
this->placeCall(strDestinationNumber);
#include <QObject>
#include <QDBusMessage>
#include <dbusutility.h>
-#include <gconfutility.h>
#include "vicardbusadaptor.h"
#define APPLICATION_DBUS_PATH "/org/maemo/vicar"
LIBS += ../lib/libvicar.a
-CONFIG += qt debug
+CONFIG += qt debug console
+CONFIG -= app_bundle
+
QT += dbus sql
QT -= gui
TEMPLATE = app
TARGET = vicar-daemon
+<<<<<<< HEAD
+
+VPATH += cpp
+MOC_DIR = cpp/.mocs
+OBJECTS_DIR = cpp/.objs
+
+=======
CONFIG += console
CONFIG -= app_bundle
MOC_DIR = cpp/.mocs
OBJECTS_DIR = cpp/.objs
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
SOURCES += cpp/main.cpp \
cpp/callrouter.cpp \
cpp/vicardbusadaptor.cpp
#include "databaseutility.h"
+#include <QCryptographicHash>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
}
bool DatabaseUtility::openDatabase(){
- profilesDB = QSqlDatabase::addDatabase("QSQLITE");
- //QString path(QDir::home().path());
- //path.append(QDir::separator()).append("vicar.db.sqlite");
+ vicarDB = QSqlDatabase::addDatabase("QSQLITE");
+#if defined(Q_WS_MAEMO_5)
QString path("/home/user/vicar.db.sqlite");
+#elif defined(Q_WS_MAEMO_6)
+ QString path("/home/user/.local/share/data/QML/OfflineStorage/Databases/");
+ path.append(QCryptographicHash::hash("VICaR",QCryptographicHash::Md5).toHex()).append(".sqlite");
+#endif
path = QDir::toNativeSeparators(path);
qDebug()<< "Opening database at "<<path;
- profilesDB.setDatabaseName(path);
- return profilesDB.open();
+ vicarDB.setDatabaseName(path);
+ return vicarDB.open();
}
bool DatabaseUtility::deleteDatabase(){
closeDatabase();
- //QString path(QDir::home().path());
- //path.append(QDir::separator()).append("vicar.db.sqlite");
+#if defined(Q_WS_MAEMO_5)
QString path("/home/user/vicar.db.sqlite");
+#elif defined(Q_WS_MAEMO_6)
+ QString path("/home/user/.local/share/data/QML/OfflineStorage/Databases/");
+ path.append(QCryptographicHash::hash("VICaR",QCryptographicHash::Md5).toHex()).append(".sqlite");
+#endif
path = QDir::toNativeSeparators(path);
return QFile::remove(path);
}
void DatabaseUtility::closeDatabase(){
- if (profilesDB.isOpen()){
- profilesDB.close();
+ if (vicarDB.isOpen()){
+ vicarDB.close();
}
}
bool DatabaseUtility::tableExists(QString tableName){
bool exists = false;
- if (profilesDB.isOpen()){
- QStringList tablesList = profilesDB.tables();
+ if (vicarDB.isOpen()){
+ QStringList tablesList = vicarDB.tables();
exists = tablesList.contains(tableName,Qt::CaseInsensitive);
}
return exists;
}
-bool DatabaseUtility::createProfilesTable(){
- bool result = false;
- if (profilesDB.isOpen()){
+bool DatabaseUtility::prepareTables(){
+ bool result = true;
+ if (vicarDB.isOpen()){
QSqlQuery query;
- QString strQuery = "create table profiles"
+ QString strQuery = "create table if not exists profiles"
"(id integer primary key,"
"numberpattern varchar(20),"
"gatewaynumber varchar(30),"
"dtmfprefix varchar(20),"
"dtmfsuffix varchar(20)"
")";
+ if (!query.exec(strQuery)){
+ qDebug() << "Error creating profiles table";
+ result = false;
+ }
+
+ strQuery = "CREATE TABLE IF NOT EXISTS settings(setting TEXT UNIQUE, value TEXT)";
+ if (!query.exec(strQuery)){
+ qDebug() << "Error creating settings table";
+ result = false;
+ }
+ }
+ return result;
+}
+
+QString DatabaseUtility::getSetting(QString setting){
+ QString value = "Unknown";
+ if (vicarDB.isOpen()){
+ QString strQuery = QString("'SELECT value FROM settings WHERE setting='%1'").arg(setting);
+ qDebug() << "SQL>"<<strQuery;
+ QSqlQuery query(strQuery);
+ if (query.next()){
+ value = query.value(0).toString();
+ }
+ }
+ return value;
+}
+
+bool DatabaseUtility::setSetting(QString setting, QString value){
+ bool result = false;
+ if (vicarDB.isOpen()){
+ QSqlQuery query;
+ QString strQuery = QString("INSERT OR REPLACE INTO settings VALUES ('%1','%2')")
+ .arg(setting).arg(value);
+ qDebug() << "SQL>"<<strQuery;
result = query.exec(strQuery);
}
return result;
bool DatabaseUtility::selectProfile(int id,org::maemo::vicar::Profile* profile){
bool result = false;
- if (profilesDB.isOpen()){
+ if (vicarDB.isOpen()){
QString strQuery = QString("select * from profiles where id = %1").arg(id);
qDebug() << "SQL>"<<strQuery;
QSqlQuery query(strQuery);
bool DatabaseUtility::getAllProfiles(org::maemo::vicar::ProfileList* profileList){
bool result = false;
- if (profilesDB.isOpen()){
+ if (vicarDB.isOpen()){
QString strQuery = QString("select * from profiles order by id");
qDebug() << "SQL>"<<strQuery;
QSqlQuery query(strQuery);
bool DatabaseUtility::findProfileByNumber(QString number,org::maemo::vicar::Profile* profile){
bool result = false;
- if (profilesDB.isOpen()){
+ if (vicarDB.isOpen()){
QString strQuery = QString("select * from profiles where '%1' like numberpattern||'%' order by length(numberpattern) desc")
.arg(number);
qDebug() << "SQL>"<<strQuery;
bool DatabaseUtility::getDefaultProfile(org::maemo::vicar::Profile *profile){
bool result = false;
- if (profilesDB.isOpen()){
+ if (vicarDB.isOpen()){
QString strQuery = QString("select * from profiles where numberpattern = '%' order by id");
qDebug() << "SQL>"<<strQuery;
QSqlQuery query(strQuery);
int DatabaseUtility::insertProfile(org::maemo::vicar::Profile profile){
int newId = -1;
bool result = false;
- if (profilesDB.isOpen()){
+ if (vicarDB.isOpen()){
bool continueInsert = true;
if (!this->tableExists("profiles")){
- continueInsert = this->createProfilesTable();
+ continueInsert = this->prepareTables();
}
if (continueInsert)
bool DatabaseUtility::updateProfile(org::maemo::vicar::Profile profile){
bool result = false;
- if (profilesDB.isOpen()){
+ if (vicarDB.isOpen()){
QSqlQuery query;
QString strQuery = QString("update profiles set numberpattern = '%1', "
"gatewaynumber = '%2', dtmfformat = '%3', "
bool DatabaseUtility::deleteProfile(int id){
bool result = false;
- if (profilesDB.isOpen()){
+ if (vicarDB.isOpen()){
QSqlQuery query;
QString strQuery = QString("delete from profiles where id=%1").arg(id);
qDebug() << "SQL>"<<strQuery;
}
QSqlError DatabaseUtility::lastError(){
- return profilesDB.lastError();
+ return vicarDB.lastError();
}
bool deleteDatabase();
void closeDatabase();
bool tableExists(QString tableName);
- bool createProfilesTable();
+ bool prepareTables();
+ QString getSetting(QString setting);
+ bool setSetting(QString setting, QString value);
int insertProfile(org::maemo::vicar::Profile profile);
bool updateProfile(org::maemo::vicar::Profile profile);
bool selectProfile(int id,org::maemo::vicar::Profile* profile);
QSqlError lastError();
private:
- QSqlDatabase profilesDB;
+ QSqlDatabase vicarDB;
};
#endif // DATABASEUTILITY_H
/*
+<<<<<<< HEAD
+@version: 0.4
+=======
@version: 0.6
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
@author: Sudheer K. <scifi1947 at gmail.com>
@license: GNU General Public License
*/
#ifndef LOGUTILITY_H
#define LOGUTILITY_H
+<<<<<<< HEAD
+#include <QDebug>
+#include <QFile>
+#include <QIODevice>
+#include <QDateTime>
+#include <QDir>
+=======
#include <QFile>
#include <QIODevice>
#include <QTextStream>
#include <QDateTime>
#include <QDebug>
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
class LogUtility : public QObject
{
Q_OBJECT
+<<<<<<< HEAD
+private:
+ QFile * logFile;
+
+public:
+ LogUtility(QObject *parent = 0) :
+ QObject(parent){
+ QString strPath;
+
+#if defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)
+ //For maemo fremantle or harmattan use a common path
+ QDir logDir = QDir(QDir().homePath() + "/.vicar");
+ if (!logDir.exists()){
+ if (QDir().mkpath(logDir.absolutePath())){
+ qDebug() << "Vicar: Log directory created successfully";
+ }
+ else{
+ qDebug() << "Vicar: Error creating log directory";
+ }
+ }
+ strPath = logDir.absolutePath() + "/vicar.log";
+#else
+ strPath = "vicar.log";
+#endif
+ logFile = new QFile(strPath,this);
+
+ if (!logFile->open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) {
+ qDebug() << "Vicar: Error opening logfile for writing at path " << strPath;
+ }
+ }
+
+ ~LogUtility(){
+ if (logFile->isOpen())
+ logFile->close();
+ qDebug() << "Vicar: In LogUtility object destructor..";
+ }
+
+public slots:
+ void logMessage(QString strMessage) {
+
+ QString strTimeNow = QDateTime::currentDateTime().toString("dd-MMM-yyyy HH:mm:ss");
+
+ if (logFile->isOpen() && logFile->isWritable()) {
+ QTextStream logStream(logFile);
+ logStream << QString("[%1] - %2").arg(strTimeNow,strMessage) << endl;
+ qDebug() << QString("Vicar: [%1] - %2").arg(strTimeNow,strMessage);
+ }
+ else{
+ qDebug() << "ERROROPENINGLOGFILE" << QString("Vicar: [%1] - %2").arg(strTimeNow,strMessage);
+ }
+ }
+=======
public:
LogUtility(QString logPath,QObject *parent = 0) :
QObject(parent){
private:
QString logFilePath;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
};
#endif // LOGUTILITY_H
#include <QStringList>
#include <QDBusPendingReply>
#include <QDBusObjectPath>
+#include <QDBusError>
#include <QDebug>
using namespace org::freedesktop::Telepathy;
QList<QDBusObjectPath> objPathList;
- QDBusInterface *iface = new QDBusInterface(AM_SERVICE,AM_OBJ_PATH,DBUS_PROPS_IFACE,QDBusConnection::sessionBus(),this);
- if (iface->isValid()){
- QDBusReply<QDBusVariant> reply = iface->call(QDBus::AutoDetect,"Get",AM_INTERFACE,"ValidAccounts");
-
- if (reply.isValid()){;
- QDBusVariant validAccounts = reply.value();
- const QVariant var = validAccounts.variant();
- const QDBusArgument arg = var.value<QDBusArgument>();
-
- arg.beginArray();
- while (!arg.atEnd()){
- QDBusObjectPath opath;
- arg >> opath;
- if (opath.path().contains("tel")){
- qDebug() << opath.path();
+ QDBusConnection sessionBus = QDBusConnection::sessionBus();
+
+ if (sessionBus.isConnected()){
+ QDBusInterface *iface = new QDBusInterface(AM_SERVICE,AM_OBJ_PATH,DBUS_PROPS_IFACE,sessionBus,this);
+
+ if (iface->isValid()){
+ QDBusReply<QDBusVariant> reply = iface->call(QDBus::AutoDetect,"Get",AM_INTERFACE,"ValidAccounts");
+
+ if (reply.isValid()){;
+ QDBusVariant validAccounts = reply.value();
+ const QVariant var = validAccounts.variant();
+ const QDBusArgument arg = var.value<QDBusArgument>();
+
+ arg.beginArray();
+ while (!arg.atEnd()){
+ QDBusObjectPath opath;
+ arg >> opath;
+
+ if (opath.path().contains("tel")){
+ qDebug() << opath.path();
+ }
+ objPathList.append(opath);
}
- objPathList.append(opath);
+ arg.endArray();
+ }
+ else{
+ qDebug() << "Error occurred while fetching accounts list "<<reply.error();
}
- arg.endArray();
}
else{
- qDebug() << "Error occurred while fetching accounts list "<<reply.error();
+ QDBusError dbusError = QDBusConnection::sessionBus().lastError();
+ if (dbusError.isValid()) {
+ qDebug () << "DBUS Error - " << dbusError.message();
+ }
+ else{
+ qDebug () << "Debug - Invalid Interface";
+ }
}
}
else{
- qDebug() << "Error occurred while connecting to DBus interface";
+ qDebug() << "Error occurred while connecting to DBus interface";
}
return objPathList;
QList<QDBusObjectPath> accountsList = this->getAllAccounts();
QDBusObjectPath account;
foreach (account,accountsList){
+ qDebug() << account.path();
if (account.path().contains("vicar/tel/vicar")){
vicarAccountExists = true;
break;
accountPropertiesMap.insert("org.freedesktop.Telepathy.Account.Enabled",true);
accountPropertiesMap.insert("org.freedesktop.Telepathy.Account.ConnectAutomatically",true);
accountPropertiesMap.insert("org.freedesktop.Telepathy.Account.RequestedPresence",QVariant::fromValue(presence));
+<<<<<<< HEAD
+ //accountPropertiesMap.insert("org.freedesktop.Telepathy.Account.Service","vicar"); //Required when service can't be determined by the protocol name
+=======
accountPropertiesMap.insert("org.freedesktop.Telepathy.Account.Service","vicar"); //Required when service can't be determined by the protocol name
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
accountPropertiesMap.insert("com.nokia.Account.Interface.Compat.Profile","vicar");
QStringList valuesList;
DESTDIR = ../lib
SOURCES += cpp/dbusutility.cpp \
+<<<<<<< HEAD
+=======
cpp/gconfutility.cpp \
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
cpp/telepathyutility.cpp \
cpp/accountmanagerproxy.cpp \
cpp/accountproxy.cpp \
cpp/databaseutility.cpp \
cpp/harmattanaccountutility.cpp
HEADERS += cpp/dbusutility.h \
+<<<<<<< HEAD
+=======
cpp/gconfutility.h \
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
cpp/telepathyutility.h \
cpp/accountmanagerproxy.h \
cpp/accountproxy.h \
#include <QDBusMessage>
#include <QDBusReply>
+#define SELF_HANDLE 1 //Any non-zero
+
namespace
{
connection_status(Connection::Disconnected),
adaptor(new ConnectionAdaptor(p)),
connIfaceReqsAdaptor(new ConnectionInterfaceRequestsAdaptor(p)),
+<<<<<<< HEAD
+ logUtility(new LogUtility(p)),
+=======
logUtility(new LogUtility("/var/log/vicar/vicar.log",p)),
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
parent(p)
{
Q_ASSERT(0 != adaptor);
QString strMessage;
strMessage = "DEBUG: In Connection Constructor";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
Q_ASSERT(0 != d);
this->setProperty("HasImmortalHandles",true);
this->setProperty("Status",org::freedesktop::Telepathy::CONNECTION_STATUS_CONNECTED);
+<<<<<<< HEAD
+
+
+ //this->setProperty("SelfHandle",org::freedesktop::Telepathy::HANDLE_TYPE_CONTACT);
+ uint selfHandle(SELF_HANDLE);
+ this->setProperty("SelfHandle",selfHandle);
+
+ strMessage = "VICaR Connection: Emitting SelfHandleChanged.";
+ d->logUtility->logMessage(strMessage);
+ emit SelfHandleChanged(selfHandle);
+=======
this->setProperty("SelfHandle",org::freedesktop::Telepathy::HANDLE_TYPE_CONTACT);
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
//Set the property RequestableChannelClasses
org::freedesktop::Telepathy::RequestableChannelClassList requestableChannelClasses;
//Set the property Channels
org::freedesktop::Telepathy::ChannelDetailsList channelDetails;
this->setProperty("Channels",QVariant::fromValue(channelDetails));
+<<<<<<< HEAD
+=======
//Set the connection status to Connected (default for Vicar)
d->connection_status = Connection::Connected;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
+ //Set the connection status to Connected (default for Vicar)
+ d->connection_status = Connection::Connected;
+
+
+ strMessage = "VICaR Connection: Connection set up.";
+<<<<<<< HEAD
+=======
strMessage = "VICaR Connection: Connection set up.";
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
}
if (!QDBusConnection::sessionBus().registerService(serviceName()))
{
strMessage = "VICaR Connection: Problem registering connection service:" + serviceName();
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return false;
}
this))
{
strMessage = "VICaR Connection: Problem registering object path:" + objectPath().path();
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return false;
}
}
else{
strMessage = "VICaR Connection: " + serviceName()+" is already registered on DBus";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
}
return true;
void Connection::unregisterObject()
{
QString strMessage = "VICaR Connection: Unregistering Connection object from DBus";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
QDBusConnection::sessionBus().unregisterObject(objectPath().path());
QDBusConnection::sessionBus().unregisterService(serviceName());
I am not connecting to anything.
*/
QString strMessage = "VICaR Connection: Changing status to Connected...";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
d->connection_status = Connection::Connected;
//Let all the Telepathy clients know that connection status has changed
strMessage = "VICaR Connection: Emitting StatusChanged.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
emit StatusChanged(d->connection_status, ReasonRequested);
}
void Connection::Disconnect()
{
QString strMessage = "VICaR Connection: Changing status to Disconnected...";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
//We don't have any Handles to release here. So just change the status to Disconnected
d->connection_status = Connection::Disconnected;
strMessage = "VICaR Connection: Emitting StatusChanged";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
emit StatusChanged(d->connection_status, ReasonRequested);
QStringList Connection::GetInterfaces()
{
QStringList result;
+
+ QString strMessage = "VICaR Connection: GetInterfaces.";
+ d->logUtility->logMessage(strMessage);
+
if (d->connection_status != Connected)
{
sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
}
QString Connection::GetProtocol()
-{ return protocol_vicar; }
+{
+ QString strMessage = "VICaR Connection: GetProtocol.";
+ d->logUtility->logMessage(strMessage);
+ return protocol_vicar;
+}
uint Connection::GetStatus()
-{ return static_cast<uint>(d->connection_status); }
+{
+ QString strMessage = "VICaR Connection: GetStatus.";
+ d->logUtility->logMessage(strMessage);
+ return static_cast<uint>(d->connection_status);
+}
uint Connection::GetSelfHandle()
{
QString strMessage = "VICaR Connection: GetSelfHandle";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
if (d->connection_status != Connected)
{
sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
"VICaR - Unable to get Self Handle. The connection is no longer available.");
strMessage = "VICaR Connection: NOT CONNECTED when requesting selfhandle!";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return 0;
}
//WARNING: Incomplete implemenation
+<<<<<<< HEAD
+ uint handle(SELF_HANDLE);
+ strMessage = "VICaR Connection: Returning Handle " + QString::number(handle) + "as self handle.";
+=======
uint handle = 0;
strMessage = "VICaR Connection: Returning Handle " + QString(handle) + "as self handle.";
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return handle;
}
QList<uint> Connection::RequestHandles(uint handle_type,
const QStringList & names)
{
+ QString strMessage = "VICaR Connection: RequestHandles.";
+ d->logUtility->logMessage(strMessage);
+
Q_UNUSED(names);
QList<uint> result;
}
//WARNING: Incomplete implementation. Create a handle and return the value here.
+ result.append(this->GetSelfHandle());
return result;
}
{
Q_UNUSED(handles);
QString strMessage = "VICaR Connection: HoldHandles.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
if (d->connection_status != Connected)
{
strMessage = "VICaR Connection: HoldHandles - Not Connected.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
{
strMessage = "VICaR Connection: HoldHandles - Invalid Handle Type.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
sendErrorReply("org.freedesktop.Telepathy.Error.InvalidArgument",
{
Q_UNUSED(handles);
QStringList handlesList;
+<<<<<<< HEAD
+=======
QString strMessage = "VICaR Connection: InspectHandles.";
qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
+
+ QString strMessage = "VICaR Connection: InspectHandles.";
+ //d->logUtility->logMessage(strMessage);
- // check input:
+ // check input:
if (d->connection_status != Connected)
{
sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
sendErrorReply("org.freedesktop.Telepathy.Error.InvalidArgument",
"VICaR - Supports handles of type Contact only.");
return handlesList;
+<<<<<<< HEAD
+=======
}
uint handle = 0;
qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
handlesList.append(QString(handle));
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
+ }
+
+ uint handle;
+
+ qDebug() << "VICaR Connction: " << handles.length()<< " handles passed to us";
+ for (int i = 0 ; i < handles.length(); i++) {
+ handle = handles.at(i);
+ strMessage = "VICaR Connection: Inspecting handle "+QString::number(handle);
+ d->logUtility->logMessage(strMessage);
+ handlesList.append(QString::number(handle));
}
+ strMessage = "VICaR Connection: Handle inspection completed";
+ d->logUtility->logMessage(strMessage);
+
//WARNING: Incomplete implementation
return handlesList;
}
void Connection::ReleaseHandles(const uint handle_type, const QList<uint> &handles)
{
Q_UNUSED(handles);
+<<<<<<< HEAD
+ QString strMessage = "VICaR Connection: ReleaseHandles.";
+ d->logUtility->logMessage(strMessage);
+
+=======
QString strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
if (d->connection_status != Connected)
{
sendErrorReply("org.freedesktop.Telepathy.Error.Disconnected",
"VICaR - Unable to release handle. The connection is no longer available.");
strMessage = "VICaR Connection: Releasing Handle while connection is no longer connected.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return;
}
sendErrorReply("org.freedesktop.Telepathy.Error.InvalidArgument",
"VICaR - Supports handles of type Contact only.");
strMessage = "VICaR Connection: Trying to release a Handle that is not a contact.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return;
}
org::freedesktop::Telepathy::ChannelInfoList Connection::ListChannels()
{
+
+ QString strMessage = "VICaR Connection: ListChannels.";
+ d->logUtility->logMessage(strMessage);
+
org::freedesktop::Telepathy::ChannelInfoList result;
if (d->connection_status != Connected)
{
Q_UNUSED(suppress_handler);
//This method is deprecated and no longer used as per latest Telepathy spec
+
+ QString strMessage = "VICaR Connection: RequestChannel.";
+ d->logUtility->logMessage(strMessage);
+
+
if (type != QString("org.freedesktop.Telepathy.Channel.Type.StreamedMedia"))
{
sendErrorReply("org.freedesktop.Telepathy.Error.NotImplemented",
//WARNING: Incomplete implementation, we are not creating any channels here at all.
QDBusObjectPath channel_path;
+ qDebug() << "VICaR Connection: Returning null channel object path";
return channel_path;
}
Q_ASSERT(!request.isEmpty());
QString strMessage;
strMessage = "VICaR Connection: CreateChannel";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
qDebug() << " Request details are: "<< request;
Q_UNUSED(channel_properties);
Q_ASSERT(!request.isEmpty());
QString strMessage = "VICaR Connection: EnsureChannel";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
qDebug() << " Request details are: "<< request;
QDBusObjectPath Connection::processChannel(const QVariantMap &request){
QString strMessage = "VICaR Connection: ProcessChannel";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
QDBusObjectPath channel_path;
strMessage = "VICaR Connection: Call is processed.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return channel_path;
QString strMessage;
strMessage = "VICaR Connection: AddClientInterest";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
}
QString strMessage;
strMessage = "VICaR Connection: RemoveClientInterest";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
}
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
+#include <QDebug>
/*
* Implementation of adaptor class ConnectionInterfaceRequestsAdaptor
QDBusObjectPath ConnectionInterfaceRequestsAdaptor::CreateChannel(const QVariantMap &request, QVariantMap &channel_properties)
{
// handle method call org.freedesktop.Telepathy.Connection.Interface.Requests.CreateChannel
+<<<<<<< HEAD
+ //This method should return a Channel object path
+ return static_cast<Connection *>(parent())->CreateChannel(request, channel_properties);
+=======
//return static_cast<YourObjectType *>(parent())->CreateChannel(request, channel_properties);
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
}
bool ConnectionInterfaceRequestsAdaptor::EnsureChannel(const QVariantMap &request, QDBusObjectPath &channel_object, QVariantMap &channel_properties)
{
// handle method call org.freedesktop.Telepathy.Connection.Interface.Requests.EnsureChannel
+<<<<<<< HEAD
+ //This method should return a Channel object path
+ return static_cast<Connection *>(parent())->EnsureChannel(request, channel_object, channel_properties);
+=======
//return static_cast<YourObjectType *>(parent())->EnsureChannel(request, channel_object, channel_properties);
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
}
public:
ConnectionManagerPrivate(ConnectionManager * parent) :
adaptor(new ConnectionManagerAdaptor(parent)),
+<<<<<<< HEAD
+ logUtility(new LogUtility(parent))
+=======
logUtility(new LogUtility("/var/log/vicar/vicar.log",parent))
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
{
Q_ASSERT(0 != adaptor);
activeConnection = 0;
Q_ASSERT(!proto.isEmpty());
Q_UNUSED(proto);
strMessage = "VICAR: ConnectionManager::GetParameters(const QString &prot)";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
org::freedesktop::Telepathy::ParameterDefinitionList result;
org::freedesktop::Telepathy::ParameterDefinition param;
QStringList ConnectionManager::ListProtocols()
{
QString strMessage = "VICaR ConnectionManager::ListProtocols()";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return QStringList(protocol_name);
}
QDBusObjectPath & object_path)
{
QString strMessage = "VICaR CM: Connection Requested for protocol "+proto;
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
QString connection_service;
//object_path = QDBusObjectPath();
"VICaR - Unable to create Connection. Requested protocol is not implemented.");
*/
strMessage = "VICaR CM::RequestConnection: proto mismatch.";
+<<<<<<< HEAD
+ d->logUtility->logMessage(strMessage);
+ return connection_service;
+ }
+ if (d->activeConnection != 0){
+ strMessage = "VICaR CM::RequestConnection: An active connection already exists at "+d->activeConnection->serviceName();
+ d->logUtility->logMessage(strMessage);
+
+ object_path = d->activeConnection->objectPath();
+ connection_service = d->activeConnection->serviceName();
+ //emit NewConnection(connection_service, object_path, "tel"); //Just in case, emit the NewConnection again
+ return connection_service;
+ }
+=======
qDebug() << strMessage;
d->logUtility->logMessage(strMessage);
return connection_service;
//emit NewConnection(connection_service, object_path, "tel"); //Just in case, emit the NewConnection again
return connection_service;
}
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
QString imsi;
QString privacy;
"VICaR - Unable to create Connection. Invalid parameters specified.");
*/
strMessage = "VICaR CM::RequestConnection: invalid parameter" + param + "found.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
return connection_service;
}
}
strMessage = "DEBUG CM: Trying to create new connection with account "+account;
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
Connection * new_connection = new Connection(account, this);
Q_ASSERT(0 != new_connection);
strMessage = "DEBUG CM: Trying to register new connection";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
if (!new_connection->registerObject())
{
strMessage = "VICaR CM: Error while registering Connection object with DBus.";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
new_connection->deleteLater();
return QString();
}
strMessage = "VICaR CM: New Connection Created. Status is " + QString(new_connection->GetStatus());
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
connection_service = new_connection->serviceName();
strMessage = "VICaR CM: Emitting New Connection Signal";
+<<<<<<< HEAD
+=======
qDebug() << strMessage;
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
d->logUtility->logMessage(strMessage);
emit NewConnection(connection_service, object_path, "tel");
* 51 Franklin SQObject::treet, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <iostream>
-#include <fstream>
-
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
using namespace std;
-/*
-ofstream logfile;
-
-void MyOutputHandler(QtMsgType type, const char *msg) {
- switch (type) {
- case QtDebugMsg:
- logfile << QTime::currentTime().toString().toAscii().data() << " Debug: " << msg << "\n";
- break;
- case QtCriticalMsg:
- logfile << QTime::currentTime().toString().toAscii().data() << " Critical: " << msg << "\n";
- break;
- case QtWarningMsg:
- logfile << QTime::currentTime().toString().toAscii().data() << " Warning: " << msg << "\n";
- break;
- case QtFatalMsg:
- logfile << QTime::currentTime().toString().toAscii().data() << " Fatal: " << msg << "\n";
- abort();
- }
-}
-
-*/
-
int main(int argc, char ** argv)
{
-// logfile.open("/var/log/logfile.txt", ios::app);
-// #ifndef QT_NO_DEBUG_OUTPUT
-// qInstallMsgHandler(MyOutputHandler);
-// #endif
-
-
QCoreApplication app(argc, argv);
// register types:
qDBusRegisterMetaType<org::freedesktop::Telepathy::CapabilityPair>();
qDBusRegisterMetaType<org::freedesktop::Telepathy::CapabilityPairList>();
qDBusRegisterMetaType<org::freedesktop::Telepathy::CapabilityChange>();
- qDBusRegisterMetaType<org::freedesktop::Telepathy::CapabilityChangeList>();
+ qDBusRegisterMetaType<org::freedesktop::Telepathy::CapabilityChangeList>();
qDBusRegisterMetaType<org::freedesktop::Telepathy::RequestableChannelClass>();
qDBusRegisterMetaType<org::freedesktop::Telepathy::RequestableChannelClassList>();
#INCLUDEPATH += /usr/include/telepathy-1.0
#LIBS += /usr/lib/libtelepathy-qt4.so
+<<<<<<< HEAD
+contains(MEEGO_EDITION,harmattan){
+=======
exists($$QMAKE_INCDIR_QT"/../qmsystem2/qmkeys.h"){
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
DEFINES += Q_WS_MAEMO_6
}
#include "connectioninterfacerequeststypes.h"
#include "harmattanaccountutility.h"
#include <QDebug>
+<<<<<<< HEAD
+#include <QCoreApplication>
+#include "dbusutility.h"
+#include <QDBusMetaType>
+#include <QDBusConnection>
+#include <QCryptographicHash> //DEBUG
+
+
+#include <QDBusInterface>
+#include <QDBusObjectPath>
+#include <QDBusArgument>
+
+#define AM_SERVICE "org.freedesktop.Telepathy.AccountManager"
+#define AM_OBJ_PATH "/org/freedesktop/Telepathy/AccountManager"
+#define AM_INTERFACE "org.freedesktop.Telepathy.AccountManager"
+#define RING_CONN_SERVICE "org.freedesktop.Telepathy.Connection.ring.tel.ring"
+#define RING_CONN_PATH "/org/freedesktop/Telepathy/Connection/ring/tel/ring"
+#define DBUS_SERVICE "org.freedesktop.DBus.Properties"
+#define DBUS_OBJ_PATH "/org/freedesktop/DBus/Properties"
+#define DBUS_PROPS_IFACE "org.freedesktop.DBus.Properties"
+=======
#include <QCoreApplication> //DEBUG - Delete this
#include "dbusutility.h"
#include <QDBusMetaType>
#include <QDBusConnection>
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
int main(int argc, char *argv[])
{
if (argc > 1 && argv[1]){
QString instruction = QString(argv[1]);
if (instruction == "INSTALL"){
- //Check if Account already exists
+ //Check if Account already exists
if (!tpUtility->accountExists()){
qDebug() << "VICaR account not found. Creating ..";
bool result = tpUtility->createAccount();
bool result = tpUtility->deleteAccount();
if (!result) exit(2);
}
-
+ else if (instruction == "TESTING"){
+ tpUtility->callNumberWithRing(argv[2]);
+ }
+ else if (instruction == "TPACCOUNTSTATUS"){
+ QString status = tpUtility->getAccountStatus();
+ qDebug() << "Account Status is "<< status;
+ }
+#if defined(Q_WS_MAEMO_5)
else if (instruction == "CREATEDB"){
bool result = databaseUtility->openDatabase();
if (!result){
- qDebug() <<"Error creating profiles database. "
+ qDebug() <<"Error creating vicar database. "
<<databaseUtility->lastError();
exit(3);
}
- qDebug() << "VICaR profiles database opened.";
-
- if (!databaseUtility->tableExists("profiles")){
- qDebug() << "Creating VICaR profiles table..";
- result = databaseUtility->createProfilesTable();
- if (!result){
- qDebug() <<"Error creating profiles table. "
- <<databaseUtility->lastError();
- exit(4);
- }
- }
- else{
- qDebug()<<"Profiles table exists";
+
+ qDebug() << "VICaR database opened.";
+ qDebug() << "Preparing VICaR tables..";
+ result = databaseUtility->prepareTables();
+ if (!result){
+ qDebug() <<"Error creating tables. "
+ <<databaseUtility->lastError();
+ exit(4);
}
+
databaseUtility->closeDatabase();
}
else if (instruction == "DROPDB"){
bool result = databaseUtility->deleteDatabase();
if (!result){
- qDebug() <<"Error deleting profiles database. "
+ qDebug() <<"Error deleting vicar database. "
<<databaseUtility->lastError();
exit(5);
}
- qDebug() << "VICaR profiles database deleted.";
+ qDebug() << "VICaR database deleted.";
+ }
+#elif defined(Q_WS_MAEMO_6)
+ else if (instruction == "--create-account"){
+ qDebug() << "Creating account";
+ accountUtility->addAccount();
}
+<<<<<<< HEAD
+ else if (instruction == "--delete-account"){
+ qDebug() << "Deleting account";
+ accountUtility->removeAccount();
+ }
+#endif
+ else {
+ qDebug() << "This command is not recognized";
+ }
+ }
+ else{
+=======
else if (instruction == "TPACCOUNTSTATUS"){
QString status = tpUtility->getAccountStatus();
qDebug() << "Account Status is "<< status;
}
app.exec();
}
+>>>>>>> 74800375ecf7f41e290cf7cc7fa9ee8b230be68e
+
+ qDebug() << QCryptographicHash::hash("VICaR",QCryptographicHash::Md5).toHex();
+ }
delete (tpUtility);
delete (databaseUtility);
delete (accountUtility);