You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(22) |
Sep
(33) |
Oct
(1) |
Nov
(7) |
Dec
(19) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(12) |
Feb
(9) |
Mar
(11) |
Apr
(6) |
May
(3) |
Jun
(8) |
Jul
(9) |
Aug
(4) |
Sep
(12) |
Oct
(8) |
Nov
(9) |
Dec
(3) |
2010 |
Jan
(6) |
Feb
|
Mar
|
Apr
(4) |
May
(19) |
Jun
(5) |
Jul
(3) |
Aug
(6) |
Sep
(3) |
Oct
(4) |
Nov
|
Dec
(13) |
2011 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(18) |
Dec
(1) |
2012 |
Jan
(6) |
Feb
|
Mar
|
Apr
(1) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
From: Andreas V. <li...@br...> - 2009-01-06 12:15:11
|
Am Mon, 5 Jan 2009 13:51:14 -0800 schrieb Bastian, Waldo: Hello Waldo, this fork is still active. Meanwhile I got a fdo account, but hadn't yet the time to merge any changes. The biggest change in gitorious branch is that it's able to create asynchronous function calls and create wrappers to push C++ objects easy through dbus with the XML introspection file. Most work I've done is on the introspection XML format and API documentation. So what do you like to do with libdbus-c++? BTW: we've a development list on sourceforge for dbus-c++. dbu...@li... Simply join if you like. regards Andreas > Hi Andreas, > > You wrote that you (temporarily) forked libdbus-c++ on gitorious.org, > is that fork still in effect or have your changes been merged in the > freedesktop.org repo since? > > > Cheers, > > Waldo > > -- > > Intel Corporation - Hillsboro, Oregon > > Ultra Mobility Group - Platform Software Architecture > > Tel: +1 503 264 6237 - Mobile: +1 503 703-7327 > |
From: Andreas V. <li...@br...> - 2008-12-11 20:15:13
|
Am Wed, 10 Dec 2008 00:25:08 +1000 schrieb Ben Martin: > I'm assuming that the "please report bugs and submit patches to > bugzilla" [1] is not to use the "dbus" product [2]. > > Should we create a dbusc++ product in bugzilla? > > [1] http://www.freedesktop.org/wiki/Software/dbus-c%2B%2B > [2] https://bugs.freedesktop.org/enter_bug.cgi I suggest we file bugs here: http://sourceforge.net/tracker/?group_id=236997&atid=1101682 In sourceforge we have full control. I just created two group: - freedesktop -> for bugs in the main branch - gitorious -> for bugs in the gitorious branch And two categories: - Introspection Generator - Library So in my eyes you could start to add bugs. But be gentle with with assigning a developer. Better is that developers self-assign for bugs. regards Andreas |
From: Schmottlach, G. <gle...@ha...> - 2008-12-11 15:33:54
|
I have a few questions regarding the recommend pattern to create a client application that makes several calls to a DBus service while subscribed to signals from that service (or others). In particular I'm interested in being aware of any threading caveats which might cause dead-lock conditions or abnormal/strange behavior. Let me describe what I think a typical client application might look like: static DBus::BusDispatcher dispatcher; static volatile bool gExit(false); void sigHandler(int sig) { dispatcher.leave(); gExit = true; } void* workerThread(void* arg) { DBus::Connection* conn = reinterpret_cast<DBus::Connection*>(arg); try { MediaServiceClient client(*conn, MEDIA_SERVICE_OBJ_PATH, MEDIA_SERVICE_BUS_NAME); while ( !gExit ) { client.PlayAction(NMediaService::PLAY_ACTION_PLAY); sleep(1); client.PlayAction(NMediaService::PLAY_ACTION_PAUSE); } } int main(int argc, char* argv[]) { pthread_attr_t attr; pthread_t worker; bool threadStarted(false); signal(SIGTERM, sigHandler); signal(SIGINT, sigHandler); DBus::_init_threading(); DBus::default_dispatcher = &dispatcher; DBus::Connection conn = DBus::Connection::SessionBus(); pthread_attr_init(&attr); if ( EOK != pthread_create(&worker, &attr, workerThread, &conn) ) { cerr << "Failed to create thread" << endl; } else { threadStarted = true; dispatcher.enter(); } cout << "Terminating client . . ." << endl; if ( threadStarted ) { pthread_join(worker, NULL); } return EXIT_SUCCESS; } The service for which the client (MediaServiceClient) is generated also emits signals which the client receives. The handling of these signals is implemented by providing an implementation for the purely virtual callback methods in the generated client proxy. These implementations are found in the MediaServiceClient (which inherits from the generated client proxy). Here's where the questions related to concurrency and thread-safety enter the picture. The worker thread loops (until the gQuit flag is set) and continuously makes synchronous (blocking) calls to toggle the play state of the media player. Based on my (limited) understanding of the logic, a synchronous method call causes the thread to poll/select on a socket descriptor waiting for a specific reply. If any signals (or unrecognized replies) arrive during this process they're placed on a queue to be process later. So this seems to imply that when the synchronous call is made from the worker thread, the "main" thread that called dispatcher.enter() is also polling/selecting on the same socket descriptor at the same time. This means that when a message does arrive both threads (the "main" and worker thread) are each vying to dispatch the message. Is this the correct interpretation of what is going on internally? How is the message handling arbitrated? What happens if the "main" thread retrieves the expected reply message that the worker thread is waiting on? Things are also a little murky when considering signal handling. In my example above, it appears that that the signal callback methods should be executed on the "main" thread (from inside the dispatcher.enter() function). This means the signals arrive on a thread different than the worker thread that is making requests to the service. In general, is it safe to call methods on the service from these signal handler callbacks? My suspicion is that it's not a wise thing to do. If service methods need to be called as a result of receiving a signal, should the signal handling callbacks do nothing more than bundle the information into a context that is somehow delivered to the worker thread for processing? Can someone offer any suggestions on the "correct" way to implement a client like this? The C++ binding examples don't appear to address any of these issues and the non-existent documentation doesn't help ;-) Thanks . . . |
From: Ben M. <mon...@us...> - 2008-12-09 14:25:19
|
I'm assuming that the "please report bugs and submit patches to bugzilla" [1] is not to use the "dbus" product [2]. Should we create a dbusc++ product in bugzilla? [1] http://www.freedesktop.org/wiki/Software/dbus-c%2B%2B [2] https://bugs.freedesktop.org/enter_bug.cgi |
From: Mark <ma...@gm...> - 2008-12-05 22:10:00
|
On Fri, Dec 5, 2008 at 9:27 PM, Andreas Volz <li...@br...> wrote: > Am Fri, 5 Dec 2008 01:45:16 +0100 schrieb Mark: > >> On Thu, Dec 4, 2008 at 9:23 PM, Andreas Volz <li...@br...> >> wrote: >> > Am Tue, 2 Dec 2008 22:37:29 +0100 schrieb Mark: >> > >> >> Hey, >> >> >> >> First: i posted this message on the normal dbus list as well >> >> before i knew that this list was around. Sorry for that. >> >> >> >> I'm currently trying to figure out how i can make a simple DBus >> >> program with the c++ wrapper. >> >> I have no previous dbus experience or anythiong dbus related. >> >> >> >> using the c api from dbus is not an option for me. >> >> >> >> What i try to do (just as a begin) is reading out just some message >> >> from dbus (lets say the currently played song in Rhythmbox or just >> >> any app that sends something to dbus). >> >> i just can't find any examples of how to use the c++ wrapper and >> >> read a dbus message... >> >> >> >> I hope anyone can help me with this. >> > >> > Hello Mark, >> > >> > there're several examples beside the dbus-c++ source: >> > >> > examples> ls >> > echo glib Makefile Makefile.in properties_get_set >> > ecore hal Makefile.am properties >> > >> > The "ecore" example isn't in the main repo. But you should start >> > with the "echo" example to understand its basic usage. If you got >> > this running and understood the basic usage maybe you could ask more >> > detailed questions. Feel free to ask if there're still questions... >> > >> > regards >> > Andreas >> >> Hi, >> >> Those examples are exactly the issue. it's nowhere being made clear >> how i can add my own function in there like Hello(bla bla) which is in >> there. if i add a function i have to ad it to various other files but >> i don't know which ones.. that's not being said in those files or >> anything close to it. the documentation of the examples is just.. >> missing.. > > There's a XML file beside e.g. the hello example. Maybe you should > start to learn more about the introspection format: > > http://dbus-cplusplus.wiki.sourceforge.net/Introspection+Format > > Try the simple case with one method/signal, play with parameters and > see what the generator creates as output. If you understood the > introspection format half of the work is done. You've to use the > generated header files in your application. > > I really have to write a beginners guide in the wiki. If you've success > be welcome to write something. > >> So i can't get anywhere with those examples. >> I still prefer using that dbus-c++ lib but i'm thinking of just using >> the c api since that does have decent documentation and more users >> where i can ask for help. > > Please help to change the situation! :) > > regards > Andreas > Well.. i would like to help but since i have just a little more then 5 weeks to get this done i really have to use what is the fastest way for me. in the case of the dbus-c++ api and the dbus c api it's leaning towards c because i can just follow examples there. If i had 4 months or something to work this all out i would probably invest a lot more time in the c++ api for now it seems unlikely that i'm gonna use it. Also about this school project that i do now. If this project is a success for my school it might (i said might!) be possible that it's gonna be a part of the Computer Science lessons which means that about 40 students a year will try this dbus stuff and also might end up in deciding to use dbus-c++.. and if that is so "beginner friendly" as it is now then it might scare them off and (like me) also use the dbus c api... So for the sake of this project please make it beginner friendly ^_^ Also something that i find strange is that a newly made function is not automatically assigned to dbus.. surely there must be a way to get around this and make the dbus-c++ api more user friendly. |
From: Andreas V. <li...@br...> - 2008-12-05 20:30:11
|
Am Fri, 5 Dec 2008 01:45:16 +0100 schrieb Mark: > On Thu, Dec 4, 2008 at 9:23 PM, Andreas Volz <li...@br...> > wrote: > > Am Tue, 2 Dec 2008 22:37:29 +0100 schrieb Mark: > > > >> Hey, > >> > >> First: i posted this message on the normal dbus list as well > >> before i knew that this list was around. Sorry for that. > >> > >> I'm currently trying to figure out how i can make a simple DBus > >> program with the c++ wrapper. > >> I have no previous dbus experience or anythiong dbus related. > >> > >> using the c api from dbus is not an option for me. > >> > >> What i try to do (just as a begin) is reading out just some message > >> from dbus (lets say the currently played song in Rhythmbox or just > >> any app that sends something to dbus). > >> i just can't find any examples of how to use the c++ wrapper and > >> read a dbus message... > >> > >> I hope anyone can help me with this. > > > > Hello Mark, > > > > there're several examples beside the dbus-c++ source: > > > > examples> ls > > echo glib Makefile Makefile.in properties_get_set > > ecore hal Makefile.am properties > > > > The "ecore" example isn't in the main repo. But you should start > > with the "echo" example to understand its basic usage. If you got > > this running and understood the basic usage maybe you could ask more > > detailed questions. Feel free to ask if there're still questions... > > > > regards > > Andreas > > Hi, > > Those examples are exactly the issue. it's nowhere being made clear > how i can add my own function in there like Hello(bla bla) which is in > there. if i add a function i have to ad it to various other files but > i don't know which ones.. that's not being said in those files or > anything close to it. the documentation of the examples is just.. > missing.. There's a XML file beside e.g. the hello example. Maybe you should start to learn more about the introspection format: http://dbus-cplusplus.wiki.sourceforge.net/Introspection+Format Try the simple case with one method/signal, play with parameters and see what the generator creates as output. If you understood the introspection format half of the work is done. You've to use the generated header files in your application. I really have to write a beginners guide in the wiki. If you've success be welcome to write something. > So i can't get anywhere with those examples. > I still prefer using that dbus-c++ lib but i'm thinking of just using > the c api since that does have decent documentation and more users > where i can ask for help. Please help to change the situation! :) regards Andreas |
From: Andreas V. <li...@br...> - 2008-12-05 20:20:11
|
Am Thu, 4 Dec 2008 16:16:53 -0500 schrieb Schmottlach, Glenn: > > > > > > 5) Is there a way to make asynchronous calls from the client-side > > > (it appears the code generator only produces synchronous proxies). > > > > > 'not there yet' > > > I've some support for async calls in the gitorious repo: > > > http://gitorious.org/projects/dbus-cplusplus > > > See here: > > > http://dbus-cplusplus.wiki.sourceforge.net/Introspection+Format > > > It's 'org.freedesktop.DBus.Method.NoReply'. > > > Look in the history of this list for an example how to use it. But > > currently you've to define the up and down call yourself. > > This isn't what I quite had in mind for asynchronous client support. > Ideally, the service should be able supply return (out) parameters. I > don't want to block waiting for the results but instead have some sort > of callback invoked at a later time (e.g. like handling a signal). The > tricky part is probably registering the callback with the correct > signature for the response. Perhaps there would need to be some kind > of template trickery or use the facilities provided by libsigc++. > Regardless, your approach seems to only provide a "one-way" function > call. I truly want the results . . . I just don't want to block > waiting for them nor do I want to implement a service on the > client-side that exports a one-way "callback" method on which the > service can return the response. Is this possible? It appears that > it's supported in the Glib binding. For my interface it's perfect. The up and down call is asynchronous. I simply have to define two separate calls. Currently I do it this way: --> void calculateRoute (in_param); <-- void calculateRouteResult (out_param) I don't like a function with mixed in/out parameters for my interface. I have a Module.h and a ModuleListener.h generated from two XML files. Before I tried to implement async methods with in/out parameters. It was raw working, but not finished. I stopped the work n this feature, because I currently don't need it. But I think it's not that hard to implement if you go deeper into dbus-c++. regards Andreas |
From: Ben M. <mon...@us...> - 2008-12-05 14:40:23
|
Hi, Is this an ongoing development of the C++ DBus bindings from? http://dev.openwengo.org/svn/openwengo/wengophone-ng/branches/wengophone-dbus-api/libs/dbus/ Looking over the code, it seems very similar. I have a new example to complement the existing hal one. My new version using the Client stubs instead of using the DBus::CallMessage and invoke_method() etc. I have put my example up here for now: http://kvo.cs.uow.edu.au/~martin/halwithstubs-2008nov25.tar.gz See the README file included for some issues and build information. Comments are welcome. |
From: Mark <ma...@gm...> - 2008-12-05 00:45:20
|
On Thu, Dec 4, 2008 at 9:23 PM, Andreas Volz <li...@br...> wrote: > Am Tue, 2 Dec 2008 22:37:29 +0100 schrieb Mark: > >> Hey, >> >> First: i posted this message on the normal dbus list as well before i >> knew that this list was around. Sorry for that. >> >> I'm currently trying to figure out how i can make a simple DBus >> program with the c++ wrapper. >> I have no previous dbus experience or anythiong dbus related. >> >> using the c api from dbus is not an option for me. >> >> What i try to do (just as a begin) is reading out just some message >> from dbus (lets say the currently played song in Rhythmbox or just any >> app that sends something to dbus). >> i just can't find any examples of how to use the c++ wrapper and read >> a dbus message... >> >> I hope anyone can help me with this. > > Hello Mark, > > there're several examples beside the dbus-c++ source: > > examples> ls > echo glib Makefile Makefile.in properties_get_set > ecore hal Makefile.am properties > > The "ecore" example isn't in the main repo. But you should start with > the "echo" example to understand its basic usage. If you got this > running and understood the basic usage maybe you could ask more > detailed questions. Feel free to ask if there're still questions... > > regards > Andreas Hi, Those examples are exactly the issue. it's nowhere being made clear how i can add my own function in there like Hello(bla bla) which is in there. if i add a function i have to ad it to various other files but i don't know which ones.. that's not being said in those files or anything close to it. the documentation of the examples is just.. missing.. So i can't get anywhere with those examples. I still prefer using that dbus-c++ lib but i'm thinking of just using the c api since that does have decent documentation and more users where i can ask for help. |
From: Schmottlach, G. <gle...@ha...> - 2008-12-04 21:17:51
|
> > > > 5) Is there a way to make asynchronous calls from the client-side > > (it appears the code generator only produces synchronous proxies). > > > 'not there yet' > I've some support for async calls in the gitorious repo: > http://gitorious.org/projects/dbus-cplusplus > See here: > http://dbus-cplusplus.wiki.sourceforge.net/Introspection+Format > It's 'org.freedesktop.DBus.Method.NoReply'. > Look in the history of this list for an example how to use it. But > currently you've to define the up and down call yourself. This isn't what I quite had in mind for asynchronous client support. Ideally, the service should be able supply return (out) parameters. I don't want to block waiting for the results but instead have some sort of callback invoked at a later time (e.g. like handling a signal). The tricky part is probably registering the callback with the correct signature for the response. Perhaps there would need to be some kind of template trickery or use the facilities provided by libsigc++. Regardless, your approach seems to only provide a "one-way" function call. I truly want the results . . . I just don't want to block waiting for them nor do I want to implement a service on the client-side that exports a one-way "callback" method on which the service can return the response. Is this possible? It appears that it's supported in the Glib binding. |
From: Andreas V. <li...@br...> - 2008-12-04 20:30:12
|
Am Mon, 1 Dec 2008 13:37:46 -0600 schrieb Jeffrey L. Franks: > Just started to work with dbus-c++ with default main loop. > > > > I'm plugging and unplugging a usb memory stick. > > > > How can I determine programmatically if the volume is mounted when I > get "volume.mount_point" in HalDeviceProxy::PropertyModifiedCb() ? Hello Jeffey, last time I tried the hal example I got some segfaults. I assume it's not that mature in dbus-c++. Maybe Paolo could say more about it's development status. I like to use it in future, so I've to put some work into it. But now sure when... regards Andreas |
From: Andreas V. <li...@br...> - 2008-12-04 20:25:08
|
Am Tue, 2 Dec 2008 22:37:29 +0100 schrieb Mark: > Hey, > > First: i posted this message on the normal dbus list as well before i > knew that this list was around. Sorry for that. > > I'm currently trying to figure out how i can make a simple DBus > program with the c++ wrapper. > I have no previous dbus experience or anythiong dbus related. > > using the c api from dbus is not an option for me. > > What i try to do (just as a begin) is reading out just some message > from dbus (lets say the currently played song in Rhythmbox or just any > app that sends something to dbus). > i just can't find any examples of how to use the c++ wrapper and read > a dbus message... > > I hope anyone can help me with this. Hello Mark, there're several examples beside the dbus-c++ source: examples> ls echo glib Makefile Makefile.in properties_get_set ecore hal Makefile.am properties The "ecore" example isn't in the main repo. But you should start with the "echo" example to understand its basic usage. If you got this running and understood the basic usage maybe you could ask more detailed questions. Feel free to ask if there're still questions... regards Andreas |
From: Andreas V. <li...@br...> - 2008-12-04 20:10:10
|
Am Tue, 2 Dec 2008 23:46:37 +0100 schrieb P. Durante: > libdbus (the reference implementation used by most bindings) doesn't > enforce any threading pattern, so neither should the bindings. if you > experienced problems they should be treated as bugs. > making the internal counter thread safe should just be a matter of > picking one of the many libraries implementing atomic primitives and > integrating it. > > > > > > 5) Is there a way to make asynchronous calls from the client-side > > (it appears the code generator only produces synchronous proxies). > > > 'not there yet' I've some support for async calls in the gitorious repo: http://gitorious.org/projects/dbus-cplusplus See here: http://dbus-cplusplus.wiki.sourceforge.net/Introspection+Format It's 'org.freedesktop.DBus.Method.NoReply'. Look in the history of this list for an example how to use it. But currently you've to define the up and down call yourself. > > 7) Since dbus-c++ is LGPL, how should changes to the source be fed > > back into the project? > > > I've always gladly accepted patches from anyone, some projects require > explicit copyright transfer to the owner for any modification to be > accepted, but that's really not the case here. The reason why it's not yet in the main branch is that Paolo hasn't that much time and me also. But now as I've a freedesktop account I plan to commit some of the non-conflicting changes to the main branch. Be welcome to test the async code and report problems. regards Andreas |
From: Mark <ma...@gm...> - 2008-12-03 17:52:56
|
On Tue, Dec 2, 2008 at 10:37 PM, Mark <ma...@gm...> wrote: > Hey, > > First: i posted this message on the normal dbus list as well before i > knew that this list was around. Sorry for that. > > I'm currently trying to figure out how i can make a simple DBus > program with the c++ wrapper. > I have no previous dbus experience or anythiong dbus related. > > using the c api from dbus is not an option for me. > > What i try to do (just as a begin) is reading out just some message > from dbus (lets say the currently played song in Rhythmbox or just any > app that sends something to dbus). > i just can't find any examples of how to use the c++ wrapper and read > a dbus message... > > I hope anyone can help me with this. > > Thanx, > Mark > ping... if there is anyone that can help me with this he/she should be on this list.. anyone? |
From: P. D. <sh...@gm...> - 2008-12-02 22:46:40
|
Hi, On Tue, Dec 2, 2008 at 9:34 PM, Schmottlach, Glenn <gle...@ha...> wrote: > I am considering using the dbus-c++ library in a commercially available > embedded product but I was hoping the project maintainer could answer a > couple of questions. > > > > 1) Is this project actively being maintained? > I'm still around keeping an eye on it, but have been busy with my job and with the demise of openwengo I'm not personally using it for anything anymore > > > 2) Where is the latest source-tree hosted? It used to be available from the > Freedesktop "git" repository but it appears to no longer exist there. > it sure does, doesn't appear in gitweb for reasons unknown to me. > > > 3) What is the latest/greatest release of the library? > I haven't made a release because I'm honestly not confident it would be a good idea, documentation needs to be written and missing features need to be implemented or documented as 'not there yet' (see below) > > > 4) Is the library thread-safe? I have seen postings indicating the > reference counting base class is NOT thread-safe. What is the common pattern > for using the library (safely) in a multi-threaded program? > libdbus (the reference implementation used by most bindings) doesn't enforce any threading pattern, so neither should the bindings. if you experienced problems they should be treated as bugs. making the internal counter thread safe should just be a matter of picking one of the many libraries implementing atomic primitives and integrating it. > > > 5) Is there a way to make asynchronous calls from the client-side (it > appears the code generator only produces synchronous proxies). > 'not there yet' > > > 6) Is there a way to instruct the code generator to generate asynchronous > server-side adaptor methods? This would be similar to adding the DBus-Glib > annotation "org.freedesktop.DBus.GLib.Async" to methods in the DBus > introspection XML file. > same as above, Glib includes a powerful even dispatching mechanism (among many other things), dbus-c++ is self contained and therefore much simpler. With some work it's definitely possible. > > > 7) Since dbus-c++ is LGPL, how should changes to the source be fed back into > the project? > I've always gladly accepted patches from anyone, some projects require explicit copyright transfer to the owner for any modification to be accepted, but that's really not the case here. > > > 8) Are there any other caveats or limitations to be aware of with respect to > the binding? > not off the top of my head, by I don't know your requirements. > > > 9) Does a roadmap for future development exist? > not until someone steps up and writes the code :-) > > > I've dabbled with the dbus-c++ library and it appears to be much simpler and > more straight-forward for C++ programs than the more heavy-weight GLIB > binding. I'd really like to use it but its (apparent) lack of thread-safety > and asynchronous support (on both the client and server sides) seems to > prevent it from completely fulfilling its promise as a mature alternative to > the GLIB binding. Do the maintainers have any intentions of continuing to > support and enhance this library, and if not, are there ways to contribute > to its continued development as required by the LGPL? > My impression is that several people on this mailing list are interested, of course the code is free and anyone is welcome to add their enhancements and distribute them. I'm sure harman has a legal departement which is more qualified than me to answer about licensing issues, generally speaking you're only required to make your modifications to the library publicly available in source code form, either as your own fork or by sending us your patches (git makes it easy to work both ways). best regards, Paolo |
From: Mark <ma...@gm...> - 2008-12-02 21:47:32
|
Hey, First: i posted this message on the normal dbus list as well before i knew that this list was around. Sorry for that. I'm currently trying to figure out how i can make a simple DBus program with the c++ wrapper. I have no previous dbus experience or anythiong dbus related. using the c api from dbus is not an option for me. What i try to do (just as a begin) is reading out just some message from dbus (lets say the currently played song in Rhythmbox or just any app that sends something to dbus). i just can't find any examples of how to use the c++ wrapper and read a dbus message... I hope anyone can help me with this. Thanx, Mark |
From: Mark <ma...@gm...> - 2008-12-02 21:44:12
|
On Tue, Dec 2, 2008 at 9:55 PM, Andreas Volz <li...@br...> wrote: > Am Tue, 2 Dec 2008 21:47:23 +0100 schrieb Mark: > >> On Tue, Dec 2, 2008 at 9:21 PM, Mark <ma...@gm...> wrote: >> > Hey, >> > >> > I'm currently trying to figure out how i can make a simple DBus >> > program with the c++ wrapper. >> > I have no previous dbus experience or anythiong dbus related. >> > >> > using the c api from dbus is not an option for me. >> > >> > What i try to do (just as a begin) is reading out just some message >> > from dbus (lets say the currently played song in Rhythmbox or just >> > any app that sends something to dbus). >> > i just can't find any examples of how to use the c++ wrapper and >> > read a dbus message... >> > >> > I hope anyone can help me with this. >> > >> > Thanx, >> > Mark >> >> Just to adjust the part about "i just can't find any examples".. >> http://gitorious.org/projects/dbus-cplusplus/repos/mainline/trees/master/examples >> >> There are a few examples there but they don't tell me much without >> proper documentation. >> I hope there is a sample online somewhere (in c++!) that explains >> every step so that the code makes sense to me. > > Hello Marc, > > only for your information. This is a unofficial GIT branch maintained > by me. The official branch is on freedesktop. And we've a list for > dbus-c++. You could find it at soureforge. You've welcome to ask your > questions there. > > regards > Andreas > _______________________________________________ > dbus mailing list > db...@li... > http://lists.freedesktop.org/mailman/listinfo/dbus > Yea, i knew there was something on freedesktop but i must have missed the link there to the dbus-c++-devel list. Thanx for pointing me in the right direction. |
From: Andreas V. <li...@br...> - 2008-12-02 21:00:08
|
Am Tue, 2 Dec 2008 21:47:23 +0100 schrieb Mark: > On Tue, Dec 2, 2008 at 9:21 PM, Mark <ma...@gm...> wrote: > > Hey, > > > > I'm currently trying to figure out how i can make a simple DBus > > program with the c++ wrapper. > > I have no previous dbus experience or anythiong dbus related. > > > > using the c api from dbus is not an option for me. > > > > What i try to do (just as a begin) is reading out just some message > > from dbus (lets say the currently played song in Rhythmbox or just > > any app that sends something to dbus). > > i just can't find any examples of how to use the c++ wrapper and > > read a dbus message... > > > > I hope anyone can help me with this. > > > > Thanx, > > Mark > > Just to adjust the part about "i just can't find any examples".. > http://gitorious.org/projects/dbus-cplusplus/repos/mainline/trees/master/examples > > There are a few examples there but they don't tell me much without > proper documentation. > I hope there is a sample online somewhere (in c++!) that explains > every step so that the code makes sense to me. Hello Marc, only for your information. This is a unofficial GIT branch maintained by me. The official branch is on freedesktop. And we've a list for dbus-c++. You could find it at soureforge. You've welcome to ask your questions there. regards Andreas |
From: Schmottlach, G. <gle...@ha...> - 2008-12-02 20:36:48
|
I am considering using the dbus-c++ library in a commercially available embedded product but I was hoping the project maintainer could answer a couple of questions. 1) Is this project actively being maintained? 2) Where is the latest source-tree hosted? It used to be available from the Freedesktop "git" repository but it appears to no longer exist there. 3) What is the latest/greatest release of the library? 4) Is the library thread-safe? I have seen postings indicating the reference counting base class is NOT thread-safe. What is the common pattern for using the library (safely) in a multi-threaded program? 5) Is there a way to make asynchronous calls from the client-side (it appears the code generator only produces synchronous proxies). 6) Is there a way to instruct the code generator to generate asynchronous server-side adaptor methods? This would be similar to adding the DBus-Glib annotation "org.freedesktop.DBus.GLib.Async" to methods in the DBus introspection XML file. 7) Since dbus-c++ is LGPL, how should changes to the source be fed back into the project? 8) Are there any other caveats or limitations to be aware of with respect to the binding? 9) Does a roadmap for future development exist? I've dabbled with the dbus-c++ library and it appears to be much simpler and more straight-forward for C++ programs than the more heavy-weight GLIB binding. I'd really like to use it but its (apparent) lack of thread-safety and asynchronous support (on both the client and server sides) seems to prevent it from completely fulfilling its promise as a mature alternative to the GLIB binding. Do the maintainers have any intentions of continuing to support and enhance this library, and if not, are there ways to contribute to its continued development as required by the LGPL? |
From: Jeffrey L. F. <Jef...@us...> - 2008-12-01 19:39:36
|
Just started to work with dbus-c++ with default main loop. I'm plugging and unplugging a usb memory stick. How can I determine programmatically if the volume is mounted when I get "volume.mount_point" in HalDeviceProxy::PropertyModifiedCb() ? --jlf |
From: Nicolas P. <npa...@wy...> - 2008-11-20 14:47:55
|
On Thursday 20 November 2008 12:43:16 P. Durante wrote: > Hi Nicolas, > > On Thu, Nov 20, 2008 at 10:22 AM, Nicolas Parcollet > > <npa...@wy...> wrote: > > I everybody. I m occasionnaly working with DBus C++ and pushing it to its > > highest limits. > > that's very much needed and very appreciated, thanks > > > The following traces show a failure condition that happens sometime when > > I ran a very long test making heavy use of DBus C++. The program contains > > one adaptor and several proxies. It is a threaded environment. > > > > Program received signal SIGBUS, Bus error. > > [Switching to thread 1546] > > 0x004178c8 in DBus::RefCnt::noref (this=0x45c4a8) > > at > > /usr/targets/081119-1.1.13-debug/root/usr/include/dbus-c++-1/dbus-c++/uti > >l.h:72 72 return (*__ref) == 0; > > (gdb) > > Continuing. > > Program terminated with signal SIGBUS, Bus error. > > The program no longer exists. > > (gdb) > > > > It seems the the ref counter is broken. This is probably due to a race > > condition between unref/noref but it is still quite blur for me. From > > what i saw the ref counting sytem is not thread safe. Any idea how this > > could be solved? > > off the top of my head, the reference counting variable should be > declared 'volatile', after that the compiler should be smart enough to > use atomic intrinsics when incrementing/decrementing the counter, i'll > change that now > I will try the volatile solution since i need a quick fix. Beside this, I got some more infos. I don't see where the operator!= comes from. (gdb) info threads * 1 thread 2022 0x004177c0 in DBus::RefCnt::noref (this=0x45c4a8) at /usr/targets/081119-1.1.13-debug/root/usr/include/dbus-c++-1/dbus-c++/util.h:72 (gdb) bt #0 0x004177c0 in DBus::RefCnt::noref (this=0x45c4a8) at /usr/targets/081119-1.1.13-debug/root/usr/include/dbus-c++-1/dbus-c++/util.h:72 #1 0x29678026 in __gnu_cxx::operator!=<std::string*, std::vector<std::string, std::allocator<std::string> > > () from /usr/targets/current/root/usr/lib/libdbus-c++-1.so.0 #2 0x2967807c in __gnu_cxx::operator!=<std::string*, std::vector<std::string, std::allocator<std::string> > > () from /usr/targets/current/root/usr/lib/libdbus-c++-1.so.0 #3 0x7bc87cd8 in ?? () #4 0x7bc87cd8 in ?? () (gdb) print this->__ref $8 = (int *) 0x6433f379 (gdb) print *(this->__ref) Cannot access memory at address 0x6433f379 > > I am working with version 0.5 (AC_INIT([libdbus-c++], 0.5.0, > > [sh...@gm...])). Since the ChangeLog is not up to date i can't > > figure out if something like that was fixed or not, so I need your help. > > due to lack of active maintainership (blame me), there has never been > an official release, 0.5.0 could refer to any git snapshot taken in > the past months, I recommend using the latest source from freedesktop > git clone git://anongit.freedesktop.org/git/dbus/dbus-c++/ > It is actually a version of november 2007. Not sure it was on freedesktop already. Unfortunately i can't change the version like that. > > Thanks a lot. > > > > Nico P. > > thank you, > Paolo Anyway thanks for your fast reply. Nico P. ---- This message contains confidential information and may contain information that is legally privileged. If you have received this message by mistake, please immediately notify us and delete the original message. Thank you. Ce message contient des informations confidentielles. S'il vous est parvenu par erreur, merci de bien vouloir nous en aviser par retour, de n'en faire aucun usage et de n'en garder aucune copie. ---- |
From: P. D. <sh...@gm...> - 2008-11-20 12:28:53
|
>> From what i saw the ref counting sytem is not thread safe. Any idea how this could be >> solved? >> > off the top of my head, the reference counting variable should be > declared 'volatile', after that the compiler should be smart enough to > use atomic intrinsics when incrementing/decrementing the counter, i'll > change that now > on a second thought, one should never make this kind of assumptions, atomicity has to be explicit, unfortunately this sacrifices some portability. I'll see what I can do, possibly without adding dependencies on third-party libraries like APR or Boost. |
From: P. D. <sh...@gm...> - 2008-11-20 11:44:36
|
Hi Nicolas, On Thu, Nov 20, 2008 at 10:22 AM, Nicolas Parcollet <npa...@wy...> wrote: > I everybody. I m occasionnaly working with DBus C++ and pushing it to its > highest limits. > that's very much needed and very appreciated, thanks > The following traces show a failure condition that happens sometime when I ran > a very long test making heavy use of DBus C++. The program contains one > adaptor and several proxies. It is a threaded environment. > > Program received signal SIGBUS, Bus error. > [Switching to thread 1546] > 0x004178c8 in DBus::RefCnt::noref (this=0x45c4a8) > at /usr/targets/081119-1.1.13-debug/root/usr/include/dbus-c++-1/dbus-c++/util.h:72 > 72 return (*__ref) == 0; > (gdb) > Continuing. > Program terminated with signal SIGBUS, Bus error. > The program no longer exists. > (gdb) > > It seems the the ref counter is broken. This is probably due to a race > condition between unref/noref but it is still quite blur for me. From what i > saw the ref counting sytem is not thread safe. Any idea how this could be > solved? > off the top of my head, the reference counting variable should be declared 'volatile', after that the compiler should be smart enough to use atomic intrinsics when incrementing/decrementing the counter, i'll change that now > I am working with version 0.5 (AC_INIT([libdbus-c++], 0.5.0, > [sh...@gm...])). Since the ChangeLog is not up to date i can't figure > out if something like that was fixed or not, so I need your help. > due to lack of active maintainership (blame me), there has never been an official release, 0.5.0 could refer to any git snapshot taken in the past months, I recommend using the latest source from freedesktop git clone git://anongit.freedesktop.org/git/dbus/dbus-c++/ > Thanks a lot. > > Nico P. thank you, Paolo |
From: Nicolas P. <npa...@wy...> - 2008-11-20 09:45:17
|
I everybody. I m occasionnaly working with DBus C++ and pushing it to its highest limits. The following traces show a failure condition that happens sometime when I ran a very long test making heavy use of DBus C++. The program contains one adaptor and several proxies. It is a threaded environment. Program received signal SIGBUS, Bus error. [Switching to thread 1546] 0x004178c8 in DBus::RefCnt::noref (this=0x45c4a8) at /usr/targets/081119-1.1.13-debug/root/usr/include/dbus-c++-1/dbus-c++/util.h:72 72 return (*__ref) == 0; (gdb) Continuing. Program terminated with signal SIGBUS, Bus error. The program no longer exists. (gdb) It seems the the ref counter is broken. This is probably due to a race condition between unref/noref but it is still quite blur for me. From what i saw the ref counting sytem is not thread safe. Any idea how this could be solved? I am working with version 0.5 (AC_INIT([libdbus-c++], 0.5.0, [sh...@gm...])). Since the ChangeLog is not up to date i can't figure out if something like that was fixed or not, so I need your help. Thanks a lot. Nico P. ---- This message contains confidential information and may contain information that is legally privileged. If you have received this message by mistake, please immediately notify us and delete the original message. Thank you. Ce message contient des informations confidentielles. S'il vous est parvenu par erreur, merci de bien vouloir nous en aviser par retour, de n'en faire aucun usage et de n'en garder aucune copie. ---- |
From: Milosz D. <int...@gm...> - 2008-11-08 15:05:44
|
Hey Andreas, I will definitely look into the example, and into reimplementing libhal++ instead of wrapping it in the next coming time. I've subscribed to dbus-cplusplus-devel now also. Thanks for the information! Cheers, M. On Sat, Nov 8, 2008 at 10:52 AM, Andreas Volz <and...@tu...>wrote: > Am Sat, 8 Nov 2008 01:21:03 +0100 schrieb Milosz Derezynski: > > Hello Milosz, > > maybe you should correct the link on freshmeat.net. I didn't find that > site with google. > > In the past I did some changes in dbus-c++. Not sure if talk about the > same wrapper. But this on is the most mature C++ wrapper in my eyes. > > http://www.freedesktop.org/wiki/Software/dbus-c++ > http://sourceforge.net/projects/dbus-cplusplus/ > > There're currently two different repos that I try to sync from time to > time. > > There's the "hal-listen" example beside the source. I tried it and it > works nice, but no idea how complete the hal support is. Maybe you take > a look into it and tell us what's missing for the current libhal++ > features. The example shows me a list of devices and when I add or > remove devices it prints that on the terminal. Sounds good for me. > > regards > Andreas > > BTW: dbus-c++ has a mailing list. I send this mail to the list too. > Maybe you join the list if you're interested. > > > Hey! > > > > Our website has moved, so the repositories and minisite moved too. > > All infos are available at: > > http://projects.backtrace.info/pmwiki.php?n=Main.Hal > > > > You probably know that this is a wrapping of the C API, and it's not > > done with gmmproc. (saying it just in case) > > > > There is a plan to reimplement libhal in C++ using dbusmm, but it has > > only recently become possible to > > do so because of the maturity of dbusmm; when i get the time i will > > attempt this as it's better than > > simply wrapping the C API. > > > > If you have any questions please let me know! > > > > Regards, > > M. > > > > On Sat, Nov 8, 2008 at 12:06 AM, Andreas Volz > > <and...@tu...>wrote: > > > > > Hello Milosz, > > > > > > any idea what's about libhal++? All links seems to be broken. > > > > > > Could you tell me about the current status? Do you still have the > > > source code and could send it to me? > > > > > > regards > > > Andreas > > > > > > -- > > > Technical Blog <http://andreasvolz.wordpress.com/> > > > > > > > > > > > -- > > Please note that according to the German law on data retention, > > information on every electronic information exchange with me is > > retained for a period of six months. > > [Bitte beachten Sie, dass dem Gesetz zur Vorratsdatenspeicherung > > zufolge jeder elektronische Kontakt mit mir sechs Monate lang > > gespeichert wird.] > > > -- > Technical Blog <http://andreasvolz.wordpress.com/> > -- Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months. [Bitte beachten Sie, dass dem Gesetz zur Vorratsdatenspeicherung zufolge jeder elektronische Kontakt mit mir sechs Monate lang gespeichert wird.] |