Updated

Fork of BLE_API by Bluetooth Low Energy

Revision:
966:9451b90bbb66
Parent:
965:212c16f6247f
Child:
969:61f13bc8edbf
--- a/ble/CallChainOfFunctionPointersWithContext.h	Thu Nov 26 12:52:34 2015 +0000
+++ b/ble/CallChainOfFunctionPointersWithContext.h	Thu Nov 26 12:52:34 2015 +0000
@@ -97,47 +97,6 @@
         return common_add(new FunctionPointerWithContext<ContextType>(tptr, mptr));
     }
 
-    /** Add a function at the front of the chain.
-     *
-     *  @param func The FunctionPointerWithContext to add.
-     */
-    void add(const FunctionPointerWithContext<ContextType>& func) {
-        common_add(new FunctionPointerWithContext<ContextType>(func));
-    }
-
-    /** 
-     * Detach a function pointer from a callchain
-     * 
-     * @oaram toDetach FunctionPointerWithContext to detach from this callchain
-     * 
-     * @return true if a function pointer has been detached and false otherwise
-     */ 
-    void detach(const FunctionPointerWithContext<ContextType>& toDetach) { 
-        pFunctionPointerWithContext_t current = chainHead;
-        pFunctionPointerWithContext_t previous = NULL;
-
-        while (current) {
-            if(*current == toDetach) { 
-                if(previous == NULL) {
-                    if(currentCalled == current) { 
-                        currentCalled = NULL;
-                    }
-                    chainHead = current->getNext();
-                } else {
-                    if(currentCalled == current) { 
-                        currentCalled = previous;
-                    }
-                    previous->chainAsNext(current->getNext());
-                }
-                delete current;
-                return;
-            }
-
-            previous = current;
-            current = current->getNext();
-        }
-    }
-
     /** Clear the call chain (remove all functions in the chain).
      */
     void clear(void) {
@@ -161,40 +120,11 @@
      *        chained FunctionPointers.
      */
     void call(ContextType context) {
-        ((const CallChainOfFunctionPointersWithContext*) this)->call(context);
-    }
-
-    /**
-     * @brief same as above but const 
-     */
-    void call(ContextType context) const {
-        currentCalled = chainHead;
-
-        while(currentCalled) { 
-            currentCalled->call(context);
-            // if this was the head and the call removed the head
-            if(currentCalled == NULL) { 
-                currentCalled = chainHead;
-            } else {
-                currentCalled = currentCalled->getNext();
-            }
+        if (chainHead) {
+            chainHead->call(context);
         }
     }
 
-    /**
-     * @brief same as above but with function call operator
-     */
-    void operator()(ContextType context) const {
-        call(context);
-    }
-
-    typedef void (CallChainOfFunctionPointersWithContext::*bool_type)() const;
-    void True() const {}
-
-    operator bool_type() const {
-        return chainHead == NULL ? 0 : &CallChainOfFunctionPointersWithContext::True;
-    }
-
 private:
     pFunctionPointerWithContext_t common_add(pFunctionPointerWithContext_t pf) {
         if (chainHead == NULL) {
@@ -209,8 +139,6 @@
 
 private:
     pFunctionPointerWithContext_t chainHead;
-    mutable pFunctionPointerWithContext_t currentCalled;
-
 
     /* Disallow copy constructor and assignment operators. */
 private: