DBusConnection.Register (gb.dbus)
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
}