BLE_API

Revision:
485:313482e1b568
Parent:
481:7ab4b9ef92cc
Child:
486:bcb77e15d152
--- a/public/DiscoveredCharacteristic.h	Fri Jun 19 15:52:01 2015 +0100
+++ b/public/DiscoveredCharacteristic.h	Fri Jun 19 15:52:01 2015 +0100
@@ -20,42 +20,33 @@
 #include "UUID.h"
 #include "GattAttribute.h"
 
-/**@brief Structure for holding information about the service and the characteristics found during
- *        the discovery process.
+/**
+ * Structure for holding information about the service and the characteristics
+ * found during the discovery process.
  */
 class DiscoveredCharacteristic {
 public:
     struct Properties_t {
-        static const uint8_t BROADCAST_PROPERTY_MASK         = 0x01;
-        static const uint8_t READ_PROPERTY_MASK              = 0x02;
-        static const uint8_t WRITE_WO_RESPONSE_PROPERTY_MASK = 0x04;
-        static const uint8_t WRITE_PROPERTY_MASK             = 0x08;
-        static const uint8_t NOTIFY_PROPERTY_MASK            = 0x10;
-        static const uint8_t INDICATE_PROPERTY_MASK          = 0x20;
-        static const uint8_t AUTH_SIGNED_PROPERTY_MASK       = 0x40;
-
-        Properties_t() : broadcast(0), read(0), write_wo_resp(0), write(0), notify(0), indicate(0), auth_signed_wr(0) {
-            /* empty */
-        }
+        uint8_t _broadcast       :1; /**< Broadcasting of the value permitted. */
+        uint8_t _read            :1; /**< Reading the value permitted. */
+        uint8_t _writeWoResp     :1; /**< Writing the value with Write Command permitted. */
+        uint8_t _write           :1; /**< Writing the value with Write Request permitted. */
+        uint8_t _notify          :1; /**< Notications of the value permitted. */
+        uint8_t _indicate        :1; /**< Indications of the value permitted. */
+        uint8_t _authSignedWrite :1; /**< Writing the value with Signed Write Command permitted. */
 
-        Properties_t(uint8_t props) :
-            broadcast(props & BROADCAST_PROPERTY_MASK),
-            read(props & READ_PROPERTY_MASK),
-            write_wo_resp(props & WRITE_WO_RESPONSE_PROPERTY_MASK),
-            write(props & WRITE_PROPERTY_MASK),
-            notify(props & NOTIFY_PROPERTY_MASK),
-            indicate(props & INDICATE_PROPERTY_MASK),
-            auth_signed_wr(props & AUTH_SIGNED_PROPERTY_MASK) {
-            /* empty*/
-        }
+    public:
+        bool broadcast(void)       const {return _broadcast;      }
+        bool read(void)            const {return _read;           }
+        bool writeWoResp(void)     const {return _writeWoResp;    }
+        bool write(void)           const {return _write;          }
+        bool notify(void)          const {return _notify;         }
+        bool indicate(void)        const {return _indicate;       }
+        bool authSignedWrite(void) const {return _authSignedWrite;}
 
-        uint8_t broadcast      :1; /**< Broadcasting of the value permitted. */
-        uint8_t read           :1; /**< Reading the value permitted. */
-        uint8_t write_wo_resp  :1; /**< Writing the value with Write Command permitted. */
-        uint8_t write          :1; /**< Writing the value with Write Request permitted. */
-        uint8_t notify         :1; /**< Notications of the value permitted. */
-        uint8_t indicate       :1; /**< Indications of the value permitted. */
-        uint8_t auth_signed_wr :1; /**< Writing the value with Signed Write Command permitted. */
+    private:
+        operator uint8_t()  const; /* disallow implicit conversion into an integer */
+        operator unsigned() const; /* disallow implicit conversion into an integer */
     };
 
     struct ReadResponse_t {