diff options
author | Paul Nettle <nettle.paul@gmail.com> | 2017-08-25 09:30:39 -0500 |
---|---|---|
committer | Paul Nettle <nettle.paul@gmail.com> | 2017-08-25 09:30:39 -0500 |
commit | 06f646aec4dbce64d28bae1be6111bd833f8e79e (patch) | |
tree | e98859f400af75fb43150c3d03bde83de9b77f79 /src/ServerUtils.h | |
download | gobbledegook-06f646aec4dbce64d28bae1be6111bd833f8e79e.tar.gz gobbledegook-06f646aec4dbce64d28bae1be6111bd833f8e79e.tar.bz2 gobbledegook-06f646aec4dbce64d28bae1be6111bd833f8e79e.zip |
Initial version 1.0
Diffstat (limited to 'src/ServerUtils.h')
-rw-r--r-- | src/ServerUtils.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/ServerUtils.h b/src/ServerUtils.h new file mode 100644 index 0000000..3ab9511 --- /dev/null +++ b/src/ServerUtils.h @@ -0,0 +1,62 @@ +// Copyright 2017 Paul Nettle. +// +// This file is part of Gobbledegook. +// +// Gobbledegook 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 3 of the License, or +// (at your option) any later version. +// +// Gobbledegook 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Gobbledegook. If not, see <http://www.gnu.org/licenses/>. + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// >> +// >>> INSIDE THIS FILE +// >> +// +// This file contains helper function declarations for our server's implementation. That is, methods that are used by the server +// itself (when responding to D-Bus or BlueZ requests.) +// +// >> +// >>> DISCUSSION +// >> +// +// See ServerUtils.cpp for implementations +// +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#pragma once + +#include <gio/gio.h> +#include <string> + +struct ServerUtils +{ + // Builds the response to the method call `GetManagedObjects` from the D-Bus interface `org.freedesktop.DBus.ObjectManager` + static void getManagedObjects(GDBusMethodInvocation *pInvocation); + + // WARNING: Hacky code - don't count on this working properly on all systems + // + // This routine will attempt to parse /proc/cpuinfo to return the CPU count/model. Results are cached on the first call, with + // cached results returned on successive calls. + // + // If this routine fails, it will respond with something reasonable, if not _entirely_ accurate. + static std::string getCpuInfo(int16_t &cpuCount); + + // Build a variant that meets the standard for the Current Time (0x2A2B) Bluetooth Characteristic standard + // + // See: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.current_time.xml + static GVariant *gvariantCurrentTime(); + + // Build a variant that meets the standard for the Local Time Information (0x2A0F) Bluetooth Characteristic standard + // + // See: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.local_time_information.xml + static GVariant *gvariantLocalTime(); +}; |