Hal and Mono

Nil Gradisnik ghaefbgtk at gmail.com
Mon Jun 19 07:46:28 PDT 2006


Hm, so the first hal-sharp is more than 2year old, you wrote a "new"
one last year... And yeah I saw you talking with David about this on
mailing list, but I guess there's not much going on in this direction.

I see your point on libhal vs dbus there. But who's going to do
something about that ? And it may take some time before it gets usable
and stable.

I was messing with Banshees hal-sharp the other day, I guess I could
use it. I'll try to make sense and write some code using your
hal-sharp then.

Thanks for the quick info.



On 6/19/06, Aaron Bockover <abockover at novell.com> wrote:
> I wrote a "new" hal-sharp last year and am using it in Banshee. It's
> currently in Mono subversion [1], and is fully usable. I had talked with
> David about moving it to HAL/FDO CVS in March, but ended up getting
> swamped with work. I'd like to bring this back up soon.
>
> >From a Mono/binding perspective, I vote for P/Invoke into libhal vs.
> DBus for two main reasons:
>
> a) dbus-sharp is unmaintained and desperately needs a rewrite/redesign,
> and at the very least, a dedicated maintainer
>
> b) libhal is going to be faster; the overhead of DBus and dbus-sharp
> (System.Runtime.Emit/dynamic IL and reflection) is also fairly large for
> something like HAL
>
> Cheers,
> Aaron
>
> [1] http://svn.myrealbox.com/viewcvs/trunk/hal-sharp/
>
>
> On Mon, 2006-06-19 at 15:46 +0200, Nil Gradisnik wrote:
> > I'm interested in using Hal with my Mono code i.e. C#
> >
> > My main interest is to extract information about computer hardware, I
> > can see a lot of information in hal-device-manager, so I want to
> > access this info from my C# code.
> >
> > I belive I can "comunicate" with Hal using DBus(dbus-sharp). I found
> > some info in mono/REDME and mono/example/ files found in DBus souce
> > package. I don't quite understand how to use it with Hal.
> >
> > This is what I have so far:
> >
> > [CODE]
> > using DBus;
> > ...
> > Connection connection = Bus.GetSessionBus();
> > Service service = new Service(connection, "org.feedesktop.Hal");
> >
> > service.GetObject(???, "/org/freedesktop/Hal/Manager");
> > ...
> > [/CODE]
> >
> > It's not much as you can see. I don't know what to use as System.Type
> > there. I was looking at the python example found on redhat site:
> > http://www.redhat.com/magazine/003jan05/features/hal/#notifdesktop
> > But I didn't managed to translate it to my C# project.
> >
> > I searched Google a lot about this, I just want to see some example
> > code or something. Searching through Banshee,Beagle,... code is really
> > hard.
> >
> > So how would I get a simple information like harddisk model name or
> > capacity from Hal using C# code ? I just need some pointers on this
> > please.
> >
> > Thanks
> > _______________________________________________
> > hal mailing list
> > hal at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/hal
>
>


More information about the hal mailing list