Skip to content
  • Christian Hergert's avatar
    code-index: add asynchronous next_entries_async API · c46b603d
    Christian Hergert authored
    Previously, the IdeCodeIndexEntries API required generating content on the main
    thread (or rather, accessing it synchronously with a generator-like API).
    
    This instead creates an async API to get the next chunk of items with a default
    implementation to call that sync API on the main thread.
    
    The Vala and Clang indexers have been ported to the Async API to batch all the
    results in a single call.
    
    This allows less work to be done on the main thread (other than building the
    index GVariant content files).
    
    A new IdeCodeIndexerEntryBuilder API has been created to create entry
    instances. This also allowed us to make IdeCodeIndexerEntry not an object
    anymore, but a boxed type.  This should be a little bit faster by avoiding all
    those property creations.
    c46b603d