IM Kit da qualche mese a questa parte ha un nuovo programma fatto da
slaad che si chiama ProtocolLoader.
Tale programma viene cercato tramite una query da im_server.
Questa query cerca tutti i file con il BEOS:APP_SIG di ProtocolLoader e
il mime type degli eseguibili, ovvero in questo modo:
BQuery* query = new BQuery();
query->SetPredicate("((BEOS:APP_SIG==\""IM_PROTOCOL_LOADER_SIG"\")&&(BEOS:TYPE==\"application/x-vnd.Be-elfexecutable\"))");
query->SetVolume(&volume);
query->Fetch();
if (query->GetNextRef(&ref) == B_OK) {
break;
}
IM_PROTOCOL_LOADER_SIG è definito come
application/x-vnd.im_kit.protocol_loader
Con un sistema Haiku "vergine", im_server non riesce a trovare
ProtocolLoader.
Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.
A quanto pare ProtocolLoader viene trovato solo in un caso: è necessario
lanciarlo con gli argomenti giusti (dandogli quindi in pasto un
protocollo e il relativo file di configurazione dell'account) poichè se
il parsing degli argomenti non fallisce il codice arriva alla creazione
del BApplication.
Premetto che i miei script di jam eseguono già mimeset -f sugli
eseguibili che vengono compilati.
C'è forse qualcosa che ho dimenticato di fare?
Ci sono dei suggerimenti che vi sentite di darmi?
Ok.
> Questa query cerca tutti i file con il BEOS:APP_SIG di ProtocolLoader e
> il mime type degli eseguibili, ovvero in questo modo:
>
> BQuery* query = new BQuery();
> query->SetPredicate("((BEOS:APP_SIG==\""IM_PROTOCOL_LOADER_SIG"\")&&(BEOS:TYPE==\"application/x-vnd.Be-elfexecutable\"))");
> query->SetVolume(&volume);
> query->Fetch();
>
> if (query->GetNextRef(&ref) == B_OK) {
> break;
> }
>
>
> IM_PROTOCOL_LOADER_SIG è definito come
> application/x-vnd.im_kit.protocol_loader
>
Qui non ho piu capito. :-)
> Con un sistema Haiku "vergine", im_server non riesce a trovare
> ProtocolLoader.
Quel poco che so e' che se l'attributo non e' tra quello di default
prima indicizzato,
ma se il caso non e' questo si tratta di un bug di Haiku.
> Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.
La query dal programma di Haiku l hai fatta giusta? Un listattr del
ProtocolLoader
ti mostra correttamente gli attributi?
> A quanto pare ProtocolLoader viene trovato solo in un caso: è necessario
> lanciarlo con gli argomenti giusti (dandogli quindi in pasto un
> protocollo e il relativo file di configurazione dell'account) poichè se
> il parsing degli argomenti non fallisce il codice arriva alla creazione
> del BApplication.
>
Ma quindi cerchi l'applicazione mentre e' runtime ?
> Premetto che i miei script di jam eseguono già mimeset -f sugli
> eseguibili che vengono compilati.
>
Ove mimeset -f significa ?
> C'è forse qualcosa che ho dimenticato di fare?
> Ci sono dei suggerimenti che vi sentite di darmi?
>
Mi dispiace che nessun altro ti abbia ancora risposto, e che io abbia piu
domande che risposte. :-)
Saluti,
--
Salvatore Benedetto (a.k.a. emitrax)
Student of Computer Engineer
University of Pisa
www.haiku-os.it
Non ti preoccupare, ti ringrazio lo stesso :)
E' una bella domanda a cui non so rispondere adesso.
lsindex pero dovrebbe farti vedere quali sono gli attributi per cui
sono esistono degli indici in BFS. Vedi se ti puo aiutare.
>>
>>
>>> Ho tentato di fare una query dalla GUI di Haiku e non trovo il programma.
>>>
>>
Sei sicuro di aver fatto la query correttamente? Dovrebbe essere case sensitive.
Sicuro elf non sia Elf ? La butto li.