summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opietooth/manager/hciconfwrapper.cpp45
-rw-r--r--noncore/net/opietooth/manager/hciconfwrapper.h10
2 files changed, 43 insertions, 12 deletions
diff --git a/noncore/net/opietooth/manager/hciconfwrapper.cpp b/noncore/net/opietooth/manager/hciconfwrapper.cpp
index 47e170e..2413f2b 100644
--- a/noncore/net/opietooth/manager/hciconfwrapper.cpp
+++ b/noncore/net/opietooth/manager/hciconfwrapper.cpp
@@ -1,3 +1,13 @@
+/* $Id$ */
+/* hcid.conf parser */
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
#include "hciconfwrapper.h"
#include <qfile.h>
@@ -50,8 +60,10 @@ namespace OpieTooth {
if ( enable ) {
setValue( "auth" , "enable" );
+ setValue( "security" , "auto" );
} else {
setValue( "auth" , "disable" );
+ setValue( "security" , "none" );
}
}
@@ -74,26 +86,35 @@ namespace OpieTooth {
QStringList::Iterator it;
QString str;
+ QString tmpLine;
+ bool wasCommented = false; //If the optin string was commented out
+ QRegExp rx1("^" + key + "[ ]+"); //Regexp fo key searching
+ QRegExp rx2(";[ ]*" + key + "[ ]+"); //Regexp fo key searching
for (it = m_file.begin(); it != m_file.end(); ++it ) {
+ wasCommented = false;
str = (*it);
- if( (str.contains(key)) > 0 ) {
- odebug << "Found" << oendl;
- // still need to look if its commented out!!!
- str.simplifyWhiteSpace();
- odebug << key << oendl;
- if (str.startsWith("#")) {
- str = (key + " " + value + ";");
- } else {
- str = str.replace( QRegExp( "\\s*"+key+"\\s+[^\\s][^;]*;" ), key + " " + value + ";");
- }
+ tmpLine = str.simplifyWhiteSpace();
+ //If it's commented out, remove the comment and check again
+ //Now, let's check if this is a real keyword (not word_keyword)
+ if (tmpLine.startsWith("#")) {
+ tmpLine.remove(0, 1);
+ tmpLine = tmpLine.simplifyWhiteSpace();
+ wasCommented = true;
+ }
+ if( (tmpLine.contains(rx1)) > 0 || (tmpLine.contains(rx2)) > 0) {
+ odebug << "Found " + key << oendl;
+
+ if (wasCommented)
+ str = ("\t" + key + " " + value + ";");
+ else
+ str = str.replace(QRegExp("\\s*" + key + "\\s+[^\\s][^;]*;"),
+ "\t" + key + " " + value + ";");
odebug << str << oendl;
it = m_file.remove( it );
it = m_file.insert( it, str );
//return; the regexp is too wide -zecke // all set
}
}
-
-
}
/**
diff --git a/noncore/net/opietooth/manager/hciconfwrapper.h b/noncore/net/opietooth/manager/hciconfwrapper.h
index 0c4b290..5bf483c 100644
--- a/noncore/net/opietooth/manager/hciconfwrapper.h
+++ b/noncore/net/opietooth/manager/hciconfwrapper.h
@@ -1,3 +1,13 @@
+/* $Id$ */
+/* hcid.conf parser */
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
#ifndef HCICONFWRAPPER_H
#define HCICONFWRAPPER_H