Como falar com o geoclue através de sua interface dbus?

4

Estou tentando entender melhor o que o geoclue faz e como obter informações dele.

Pelo que entendi, ele pode ser acessado pela interface dbus para encontrar informações geográficas sobre o usuário. O problema é encontrar o comando dbus correto para obter essa informação.

Eu pesquisei por toda a Internet e verifiquei toda a documentação que encontrei, mas ainda não consigo encontrar uma resposta fácil além de informações obscuras sobre suas dbus propriedades, as quais não tenho o conhecimento necessário para compor juntos.

Existe um comando dbus que eu poderia usar para obter essas informações de geoclue e, talvez, um exemplo de como esse comando deve ser? Eu não tenho as informações necessárias para montar a documentação para obter isso.

    
por Joshua Strot 25.03.2014 / 01:22

1 resposta

1

Instale qdbus . A sintaxe é:

qdbus servicename path function parameters

servicename é normalmente o nome de um programa (por exemplo: org.freedesktop.Geoclue.Master), path é algo como /org/freedesktop/Geoclue/Master/client0 , function parece com org.freedesktop.Geoclue.GetStatus.

Se você digitar um comando incompleto (por exemplo: somente servicename e não path e o restante), qdbus responderá com uma lista de opções para o próximo argumento. Você pode usar isso para explorar a funcionalidade disponível.

Por exemplo:

qdbus org.freedesktop.Geoclue.Providers.UbuntuGeoIP /org/freedesktop/Geoclue/Providers/UbuntuGeoIP org.freedesktop.Geoclue.Position.GetPosition

saídas:

3
<timestamp>
<lat>
<lon>
<alt>

Agora você pode usar a documentação para obter mais informações.

    
por 27.03.2014 / 07:37