def zbar_config=(config_value)
      case config_value
      when String
        symbology = FFI::MemoryPointer.new :int
        config_t = FFI::MemoryPointer.new :int
        value = FFI::MemoryPointer.new :int
      
        if ZBar.zbar_parse_config(config_value, symbology, config_t, value) == 0
          # parsed successfully
          if ZBar.zbar_processor_set_config(@processor, symbology.read_int, config_t.read_int, value.read_int) == 0
            true
          else
            raise ArgumentError, "config string #{config_value.inspect} parsed but could not be set"
          end
        else
          raise ArgumentError, "config string #{config_value.inspect} was not recognized"
        end
        
      when Enumerable
        config_value.each { |value|
          self.zbar_config = value
        }
        
      else
        raise ArgumentError, "unsupported config value"
      end
    end
def zbar_config=(config_value)
      case config_value
      when String
        symbology = FFI::MemoryPointer.new :int
        config_t = FFI::MemoryPointer.new :int
        value = FFI::MemoryPointer.new :int
      
        if ZBar.zbar_parse_config(config_value, symbology, config_t, value) == 0
          # parsed successfully
          if ZBar.zbar_processor_set_config(@processor, symbology.read_int, config_t.read_int, value.read_int) == 0
            true
          else
            raise ArgumentError, "config string #{config_value.inspect} parsed but could not be set"
          end
        else
          raise ArgumentError, "config string #{config_value.inspect} was not recognized"
        end
        
      when Enumerable
        config_value.each { |value|
          self.zbar_config = value
        }
        
      else
        raise ArgumentError, "unsupported config value"
      end
    end
Configures this processor using the specified configuration string. See
 zbar_parse_config (zbar/config.c) for supported values.