Hi Teo,
My use case is pretty simple. I am using Google Desktop in my program
to allow me to search both the local file system and in-memory data.
I index the in-memory data by creating an indexing event, giving
Google Desktop a unique file name for the specific data because it
needs this, even though the file doesn't actually exist, and then I
call Send to send the indexing event to Google Desktop:
result = googleEvent->Send(EventFlagIndexable);
I provide a search box for my program's users to search for files or
in-memory data (graphical objects my program displays to them), and
they can drop a graphical object onto my "diagram", at which time I
index that item using Google Desktop, passing in indexable content
that my program maps to the graphical object's location on the screen
and object pointer. Right after they drop the object, they can search
for it, and sometimes Google has indexed the object right away and
they find it, or sometimes Google hasn't indexed the data I sent, and
they get empty results, even though they know that there should be at
least one search hit: the object that they just dropped on the diagram
and are looking at.
One solution would be for Google to add a parameter to the Send
function referenced above to tell Google whether it can lazily index
the data or whether it should index it now, at this instant. (You
could create a new interface, call it IGoogleDesktopEvent2, and make a
Send2 function that does it, for example).
Please let me know if this makes sense to you and what you think can
be done.