Application control with DBus
Posted: Saturday 4th November 2023 5:19pm
I've been working on this idea.
The idea stems from way back in my Amiga1200 days when i used to program GUIs using MUI (Magic User Interface)
One of the cool things about MUI was that Every MUI program had what was called "An ARexx port"
Essentially an interface where you could easily access and control one application from another.
I'm doing the same here with DBus
Currently I have the following commands on each DBus application that might use it...
ObjectGetProperty(ObjectName As String, PropertyNane As String) As Variant
Like running Object.GetProperty()
ObjectSetProperty(ObjectName As String, PropertyName As String, Value As Variant)
Like running Object.SetProperty()
ObjectCall(ObjectName As String, MethodName As String, Value As Variant[]) As String
Like running Object.Call() to run a method.
I attached the current version , still very W.I.P (only started making it yesterday)
It opens a test form with a button and a textarea in it.
then it runs a gambas script file that uses DBus to get/set some stuff.
To enable in your own progs should just be a case of dropping the DBusController folder in yr .src folder.
if you have your own override files then there could be possible conflicts as the folder contains a Controls folder that has various override files , this was to enable a DBusVisible property so only those controls can be used.
I am unsure of security implications so i thought making DBusVisible was a good idea, so for example, no DBus for the password box.
(Old attachment removed, see post below for updated version)
The idea stems from way back in my Amiga1200 days when i used to program GUIs using MUI (Magic User Interface)
One of the cool things about MUI was that Every MUI program had what was called "An ARexx port"
Essentially an interface where you could easily access and control one application from another.
I'm doing the same here with DBus
Currently I have the following commands on each DBus application that might use it...
ObjectGetProperty(ObjectName As String, PropertyNane As String) As Variant
Like running Object.GetProperty()
ObjectSetProperty(ObjectName As String, PropertyName As String, Value As Variant)
Like running Object.SetProperty()
ObjectCall(ObjectName As String, MethodName As String, Value As Variant[]) As String
Like running Object.Call() to run a method.
I attached the current version , still very W.I.P (only started making it yesterday)
It opens a test form with a button and a textarea in it.
then it runs a gambas script file that uses DBus to get/set some stuff.
To enable in your own progs should just be a case of dropping the DBusController folder in yr .src folder.
if you have your own override files then there could be possible conflicts as the folder contains a Controls folder that has various override files , this was to enable a DBusVisible property so only those controls can be used.
I am unsure of security implications so i thought making DBusVisible was a good idea, so for example, no DBus for the password box.
(Old attachment removed, see post below for updated version)