async def cancel_event_callback(self, name, handle):
    'Cancels an event callback.\n\n        Args:\n            name (str): Name of the app or module.\n            handle: Previously supplied callback handle for the callback.\n\n        Returns:\n            None.\n\n        '
    executed = False
    async with self.AD.callbacks.callbacks_lock:
        if ((name in self.AD.callbacks.callbacks) and (handle in self.AD.callbacks.callbacks[name])):
            del self.AD.callbacks.callbacks[name][handle]
            (await self.AD.state.remove_entity('admin', 'event_callback.{}'.format(handle)))
            executed = True
        if ((name in self.AD.callbacks.callbacks) and (self.AD.callbacks.callbacks[name] == {})):
            del self.AD.callbacks.callbacks[name]
    if (not executed):
        self.logger.warning("Invalid callback handle '{}' in cancel_event_callback() from app {}".format(handle, name))
    return executed
Cancels an event callback.

Args:
    name (str): Name of the app or module.
    handle: Previously supplied callback handle for the callback.

Returns:
    None.
async def cancel_event_callback(self, name, handle):
    'Cancels an event callback.\n\n        Args:\n            name (str): Name of the app or module.\n            handle: Previously supplied callback handle for the callback.\n\n        Returns:\n            None.\n\n        '
    executed = False
    async with self.AD.callbacks.callbacks_lock:
        if ((name in self.AD.callbacks.callbacks) and (handle in self.AD.callbacks.callbacks[name])):
            del self.AD.callbacks.callbacks[name][handle]
            (await self.AD.state.remove_entity('admin', 'event_callback.{}'.format(handle)))
            executed = True
        if ((name in self.AD.callbacks.callbacks) and (self.AD.callbacks.callbacks[name] == {})):
            del self.AD.callbacks.callbacks[name]
    if (not executed):
        self.logger.warning("Invalid callback handle '{}' in cancel_event_callback() from app {}".format(handle, name))
    return executed