<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def wait_for_binary_interface(self, **kwargs):
 """ Waits for the Binary CQL interface to be listening. If > 1.2 will check log for 'Starting listening for CQL clients' before checking for the interface to be listening. Emits a warning if not listening after 30 seconds. """

        if self.cluster.version() >= '1.2':
            self.watch_log_for("Starting listening for CQL clients", **kwargs)

        binary_itf = self.network_interfaces['binary']
        if not common.check_socket_listening(binary_itf, timeout=30):
            warnings.warn("Binary interface %s:%s is not listening after 30 seconds, node may have failed to start."
                          % (binary_itf[0], binary_itf[1]))