aboutsummaryrefslogtreecommitdiff
path: root/src/Init.cpp
diff options
context:
space:
mode:
authorPaul Nettle <nettlep@users.noreply.github.com>2019-01-07 12:08:31 -0600
committerGitHub <noreply@github.com>2019-01-07 12:08:31 -0600
commitcec6f34ed1119ec33c423d55264c1a968ec5e0cb (patch)
tree04bd1432e546cf14ab398042bf5cd63d08737f3c /src/Init.cpp
parentMerge pull request #14 from br101/endian-fix (diff)
parentAdd setting of discoverable mode (diff)
downloadgobbledegook-cec6f34ed1119ec33c423d55264c1a968ec5e0cb.tar.gz
gobbledegook-cec6f34ed1119ec33c423d55264c1a968ec5e0cb.tar.bz2
gobbledegook-cec6f34ed1119ec33c423d55264c1a968ec5e0cb.zip
Merge pull request #13 from br101/disc-fix
Add setting of discoverable mode
Diffstat (limited to 'src/Init.cpp')
-rw-r--r--src/Init.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Init.cpp b/src/Init.cpp
index 915209f..c3784df 100644
--- a/src/Init.cpp
+++ b/src/Init.cpp
@@ -695,11 +695,12 @@ void configureAdapter()
bool scFlag = info.currentSettings.isSet(HciAdapter::EHciSecureConnections) == TheServer->getEnableSecureConnection();
bool bnFlag = info.currentSettings.isSet(HciAdapter::EHciBondable) == TheServer->getEnableBondable();
bool cnFlag = info.currentSettings.isSet(HciAdapter::EHciConnectable) == TheServer->getEnableConnectable();
+ bool diFlag = info.currentSettings.isSet(HciAdapter::EHciDiscoverable) == TheServer->getEnableDiscoverable();
bool adFlag = info.currentSettings.isSet(HciAdapter::EHciAdvertising) == TheServer->getEnableAdvertising();
bool anFlag = (advertisingName.length() == 0 || advertisingName == info.name) && (advertisingShortName.length() == 0 || advertisingShortName == info.shortName);
// If everything is setup already, we're done
- if (!pwFlag || !leFlag || !brFlag || !scFlag || !bnFlag || !cnFlag || !adFlag || !anFlag)
+ if (!pwFlag || !leFlag || !brFlag || !scFlag || !bnFlag || !cnFlag || !diFlag || !adFlag || !anFlag)
{
// We need it off to start with
if (pwFlag)
@@ -745,6 +746,13 @@ void configureAdapter()
if (!mgmt.setConnectable(TheServer->getEnableConnectable())) { setRetry(); return; }
}
+ // Change the Discoverable state?
+ if (!diFlag)
+ {
+ Logger::debug(SSTR << (TheServer->getEnableDiscoverable() ? "Enabling":"Disabling") << " Discoverable");
+ if (!mgmt.setDiscoverable(TheServer->getEnableDiscoverable() ? 1 : 0, 0)) { setRetry(); return; }
+ }
+
// Change the Advertising state?
if (!adFlag)
{
@@ -1196,4 +1204,4 @@ void runServerThread()
uninit();
}
-}; // namespace ggk \ No newline at end of file
+}; // namespace ggk