Here’s where I’ve got up to:
#include <app/Messenger.h>
#include <private/tracker/tracker_private.h>
void LShowFileProperties(OsView Parent, const char *Filename)
{
// Send kGetInfo ?
LAssert(!"Impl me.");
}
bool LBrowseToFile(const char *Filename)
{
BMessenger tracker(kTrackerSignature);
if (!tracker.IsValid())
{
LgiTrace("%s:%i - No tracker app '%s'\n", _FL, kTrackerSignature);
return false;
}
BMessage msg(BPrivate::kSelect);
BEntry entry(Filename);
entry_ref ref;
if (entry.GetRef(&ref) != B_OK)
{
LgiTrace("%s:%i - No entry for '%s'\n", _FL, Filename);
return false;
}
msg.AddRef("refs", &ref);
auto result = tracker.SendMessage(&msg);
// if (result != B_OK)
{
LgiTrace("%s:%i - SendMessage result: %x\n", _FL, result);
}
return result == B_OK;
}
And while SendMessage returns B_OK, Tracker doesn’t seem to do anything… what did I miss?