/* new todo file for BTstack */ 2009-11-08: Release 0.1 NEXT: - implement SDP - test SDP implementation against Mac/Linux Service Discovery == Release Version 0.2 - move RFCOMM code into BTdaemon - add extern "C" to bstack methods - see: http://stackoverflow.com/questions/376966/using-c-c-static-libraries-from-iphone-objectivec-apps - figure out how to receive iPhone System Power IONotifications (in BTdaemon) to detect, when phone gets locked - add timeouts to cocoa run loop - L2CAP - segmentation - extend SpringBoard feedback - show alerts/messages using SpringBoardAcccess, e.g. Bluetooth disconnected by remote device - add code to notify about remote disconnets - configuration: /etc/btstack - single Bluetooth module supported - transport type: H4, H5, USB - h4/h5: UART path - usb: product/vendor ID - logging mode: text, bluez, packetlogger - implement rest of L2CAP state machine - error handling - error notification - flow control - add configure option for uart flowcontrol - create - Bluetooth low-power modes useful == USB Support == - Store array of data sources to be able to remove them on usb_close == Objective-C Interface == - move connection methods to BTdevice (get more object oriented) - initWithAddress:(bd_addr_t *)addr - setters private - implement l2cap code - implement rfcomm code - animate discovery dialog: * use indexPathsForVisibleRows and cellForRowAtIndexPath: when you want to refresh just the cells that are on the screen * use insertRowsAtIndexPaths:withRowAnimation: to add rows * use deleteRowsAtIndexPaths:withRowAnimation: to remove them- == Refactor/Improve Architecture == - use single standard packet handler for acl & events - hci_transport -> hci - hci -> l2cap - l2cap -> daemon - add linked_list_iterator that can remove elements (used by l2cap_close_connection and sdp_unregister_services_for_connection - clean up control flow - l2cap directly sends data over socket: good/bad? - split daemon into stack parts - should there be STACK API/interface? - unify packet generation - btstack events - cmd packets - l2cap commands - auto-generate code for sending commands from structured text input file - devise concept for access to event data - auto-generate event struct getter? STRUCTURE_get_FIELD