Qual é o sentido dos objetos DBus?

3

Apesar de ler muitos tutoriais do DBus, eu ainda luto para entender todo o conceito. Na minha opinião, esta foi uma das melhores explicações até agora:

link

O motivo para usar o DBus é porque eu quero trocar dados entre diferentes programas. Na minha opinião, seria suficiente fornecer um servidor ou, como indicado na Figura 2-2, um serviço. Esse serviço fornece vários métodos em uma interface que compartilho com o cliente.

O cliente invoca um método e obtém uma resposta.

Então, o que estou perdendo? Por que há necessidade de objetos adicionais?

Eu acho que é apenas para manter as convenções Java de objetos respectivamente classes. Cada objeto representa uma instância. Gostaria muito que alguém confirmasse isso.

Qual é o benefício do primeiro sistema ao longo do segundo?

    
por Hoppo 24.06.2014 / 15:12

1 resposta

3

Não por convenção, mas para facilitar ligações de alto nível.

Native Objects and Object Paths

Your programming framework probably defines what an "object" is like; usually with a base class. For example: java.lang.Object, GObject, QObject, python's base Object, or whatever. Let's call this a native object.

The low-level D-Bus protocol, ..., does not care about native objects. However, it provides a concept called an object path. The idea of an object path is that higher-level bindings can name native object instances, and allow remote applications to refer to them.

Editar:

Provavelmente você pode usar a API e o daemon de barramento de mensagens construídos em libdbus para evitar o uso de objetos, assim você terminará com sua abordagem de comunicação de um cliente que invoca um método e obtém um responda . No entanto, esteja ciente de que a libdbus se destina a ser um backend de baixo nível para as ligações de nível mais alto, portanto, muito da API libdbus é útil apenas para a implementação de ligação.

    
por 26.03.2015 / 16:58

Tags