DBusConnection.Register (gb.dbus)

Sub Register ( Object As DBusObject, Path As String [ , Interface As String[] ] )

Exportar um objeto DBusObject para o bus.

  • Object é o DBusObject a exportar.

  • Path é o caminho no D-Bus, onde o objeto será anexado.

O que é exportado?

  • Métodos públicos cujo nome não tem sublinhado dentro, e cujos argumentos e tipo de retorno pode ser convertido para um tipo de dados D-Bus.

  • As propriedades públicas cujo nome não tem sublinhado dentro, e cujo tipo pode ser convertido para um tipo de dados DBus.

Assim que você registrar pelo menos um objeto, o aplicativo aparece no bus com o nome org.gambas.<application name>.

Todos estes métodos e propriedades são exportadas através de uma interface denominada org.gambas.<application name>.<class name>.

Você ainda não pode levantar sinais no D-Bus!

Exemplo

Vamos supor que você tem um projeto chamado MyProject que quer exportar uma classe chamada MyDBusClass como um objeto único.

Aqui está o código-fonte do MyDBusClass:

' MyDBusClass class

Inherits DBusObject

Create Static

Public Sub Compute(Value1 As Float, Value2 As Float) As Float

  Return Value1 + Value2

End

Aqui está o método de inicialização do projeto que irá registrar o objeto no DBus:

' Main module

Public Sub Main

  DBus.Session.Register(MyDBusClass, "/MyDBusClass")

End

Então, desse modo, você vai ser capaz de executar a classe exportado de outro aplicativo:
Print DBus["org.gambas.MyProject"]["/MyDBusClass"].Compute(3, 4)

7
}