From: Christopher L. <chr...@ac...> - 2008-08-17 09:21:18
|
Paolo, a question on your code: what is that "private" stuff all about? For example in class "Connection" you are using this: class DXXAPI Connection ... 59 struct Private; 60 61 typedef std::list<Private*> PrivatePList; 62 63 Connection( Private* ); Could you provide a little bit of rationale about this? It somehow confuses me. Is this simply a "private" dbus connection for example "app to app" connection? Or is this some (to me unknown) technique to produce c++ quasi private members in the "public" section? many thanks Chris Am Samstag 16 August 2008 20:59:11 schrieb Andreas Volz: > Am Sat, 16 Aug 2008 15:35:59 +0200 schrieb Christopher Lang: > > Hello, > > > Hi Andreas, > > > > great! > > > > Here is my sourceforge name: > > > > chrislang144 > > I just added you to the project. Just tell me if you need other > permissions. > > > Just to make sure: which one is the current git repo? The one on > > gitorious? > > No. The official repo is (currently) on freedesktop. Yesterday I > merged the latest changes from fd.org to gitorious. But there're several > patches not applied to fd.org. Some aren't yet stable. Others need more > discussion. > > I think that's a major task to organize the work on dbus-c++ to > progress faster. The first big step is done by creating a project on > sf.net and now having a mailing list. > > regards > Andreas > > > thanks > > cheers > > Chris > > > > Am Samstag 16 August 2008 13:50:56 schrieb Andreas Volz: > > > Hello, > > > > > > I've created a new project for dbus-c++ on sourceforge: > > > > > > https://sourceforge.net/projects/dbus-cplusplus/ > > > > > > Join here the new mailing list: > > > > > > https://sourceforge.net/mail/?group_id=236997 > > > > > > I'm yet subscribed. Simply send a hello message to the list to see > > > if it works. If the list works I'll post a message to the dbus list > > > on freedesktop.org. > > > > > > Until now the homepage points to the freedesktop wiki. I deactivaed > > > the CVS repo. For now we could stay with the GIT repo. Since my GIT > > > access on freedesktop seems to be activated. We'll see if addition > > > of new members is practical on freedesktop. If now we may move to > > > another GIT hoster... (e.g. gitorius). > > > > > > Please send me your sf.net user account name. I'll add you to the > > > project. > > > > > > regards > > > Andreas > > |
From: Christopher L. <chr...@ac...> - 2008-08-17 09:26:38
|
Hi Andreas, so if I want to submit changes: against which repository should I do this? against the fd repo? or aginst the gitourious repo? Chris Am Samstag 16 August 2008 20:59:11 schrieb Andreas Volz: > Am Sat, 16 Aug 2008 15:35:59 +0200 schrieb Christopher Lang: > > Hello, > > > Hi Andreas, > > > > great! > > > > Here is my sourceforge name: > > > > chrislang144 > > I just added you to the project. Just tell me if you need other > permissions. > > > Just to make sure: which one is the current git repo? The one on > > gitorious? > > No. The official repo is (currently) on freedesktop. Yesterday I > merged the latest changes from fd.org to gitorious. But there're several > patches not applied to fd.org. Some aren't yet stable. Others need more > discussion. > > I think that's a major task to organize the work on dbus-c++ to > progress faster. The first big step is done by creating a project on > sf.net and now having a mailing list. > > regards > Andreas > > > thanks > > cheers > > Chris > > > > Am Samstag 16 August 2008 13:50:56 schrieb Andreas Volz: > > > Hello, > > > > > > I've created a new project for dbus-c++ on sourceforge: > > > > > > https://sourceforge.net/projects/dbus-cplusplus/ > > > > > > Join here the new mailing list: > > > > > > https://sourceforge.net/mail/?group_id=236997 > > > > > > I'm yet subscribed. Simply send a hello message to the list to see > > > if it works. If the list works I'll post a message to the dbus list > > > on freedesktop.org. > > > > > > Until now the homepage points to the freedesktop wiki. I deactivaed > > > the CVS repo. For now we could stay with the GIT repo. Since my GIT > > > access on freedesktop seems to be activated. We'll see if addition > > > of new members is practical on freedesktop. If now we may move to > > > another GIT hoster... (e.g. gitorius). > > > > > > Please send me your sf.net user account name. I'll add you to the > > > project. > > > > > > regards > > > Andreas |
From: Andreas V. <li...@br...> - 2008-08-17 13:40:12
|
Am Sun, 17 Aug 2008 11:26:27 +0200 schrieb Christopher Lang: > > Hi Andreas, > > so if I want to submit changes: against which repository should I do > this? > > against the fd repo? > > or aginst the gitourious repo? > > Chris It's up to you which repo you use. I think the decision about the best way to organize the dbus-c++ development has to arise in near future. The gitourious has some important changes in the autoconf environment. In my eyes the fd repo is not perfect at this point. And I included the Ecore patches that aren't yet stable at the moment. Your proposal in the other mail sounds like you plan to do some fundamental design changes. In my eyes it's sometimes better to do and show something than to talk hours about it. So simply create a branch from my repo on gitourious and change it for your needs. We'll later talk about your ideas if you got something done. This situation isn't perfect, but I hope it'll change in near future. regards Andreas |
From: Christopher L. <chr...@ac...> - 2008-08-18 12:05:14
|
Andreas, > fundamental design changes. In my eyes it's sometimes better to do and No, since Paolo privided some insight into the "private" pimpl technique, the design seems to be ok. If I do changes, they will be small initially and maybe will only be documentation or test routines (if even I find time to do anything...). The reason I am asking for the "relevant "repository is quite simple: I want to make sure that changes get committed, or discussed & rejected; nothing is more frustrating than sending diffs nobody cares about. :-) Ok, so for the time being I will use the gitourious repo, I trust that sooner or later you will be able to make sure our stuff gets merged with the "official" repo. As you say: "has to arise in near future". cheers Chris m Sonntag 17 August 2008 15:36:35 schrieb Andreas Volz: > Am Sun, 17 Aug 2008 11:26:27 +0200 schrieb Christopher Lang: > > Hi Andreas, > > > > so if I want to submit changes: against which repository should I do > > this? > > > > against the fd repo? > > > > or aginst the gitourious repo? > > > > Chris > > It's up to you which repo you use. I think the decision about the best > way to organize the dbus-c++ development has to arise in near future. > > The gitourious has some important changes in the autoconf environment. > In my eyes the fd repo is not perfect at this point. And I included the > Ecore patches that aren't yet stable at the moment. > > Your proposal in the other mail sounds like you plan to do some > fundamental design changes. In my eyes it's sometimes better to do and > show something than to talk hours about it. So simply create a branch > from my repo on gitourious and change it for your needs. We'll later > talk about your ideas if you got something done. This situation isn't > perfect, but I hope it'll change in near future. > > regards > Andreas > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge Build the coolest Linux based applications with Moblin SDK & win > great prizes Grand prize is a trip for two to an Open Source event anywhere > in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > dbus-cplusplus-devel mailing list > dbu...@li... > https://lists.sourceforge.net/lists/listinfo/dbus-cplusplus-devel |
From: Andreas V. <li...@br...> - 2008-08-18 20:25:10
|
Am Mon, 18 Aug 2008 14:05:00 +0200 schrieb Christopher Lang: > > Andreas, > > > fundamental design changes. In my eyes it's sometimes better to do > > and > No, since Paolo privided some insight into the "private" pimpl > technique, the design seems to be ok. > > If I do changes, they will be small initially and maybe will only be > documentation or test routines (if even I find time to do > anything...). > > The reason I am asking for the "relevant "repository is quite simple: > I want to make sure that changes get committed, or discussed & > rejected; nothing is more frustrating than sending diffs nobody > cares about. :-) > > Ok, so for the time being I will use the gitourious repo, I trust > that sooner or later you will be able to make sure our stuff gets > merged with the "official" repo. As you say: "has to arise in near > future". This is ok. I'll simply apply your changes after a short review. Simply send patches to me. Alternative I could add you to the commiter list if you only like to add smaller things. Send me your gitourous user name. I'll later merge it back. regards Andreas |
From: Andreas V. <li...@br...> - 2008-08-18 20:30:21
|
Am Sun, 17 Aug 2008 15:34:49 +0200 schrieb P. Durante: > On Sun, Aug 17, 2008 at 11:21 AM, Christopher Lang > <chr...@ac...> wrote: > > > > Paolo, > > > > a question on your code: > > > > what is that "private" stuff all about? For example in class > > "Connection" you are using this: > > > > class DXXAPI Connection > > ... > > 59 struct Private; > > 60 > > 61 typedef std::list<Private*> PrivatePList; > > 62 > > 63 Connection( Private* ); > > > > Could you provide a little bit of rationale about this? It somehow > > confuses me. Is this simply a "private" dbus connection for example > > "app to app" connection? Or is this some (to me unknown) technique > > to produce c++ quasi private members in the "public" section? > > > > many thanks > > > > Chris > > > > > > it's not a private connection, it's the "private data" of that > particular class, objects and messages have private data too > > it's the typical pimpl pattern > > http://en.wikipedia.org/wiki/Pimpl > > and it serves two purposes: > > -copying semantics- > DBus::Connection objects (and any object implementing the same idiom) > can be copied and all copies will refer to the same, internal, libdbus > connection, reference counting is greatly simplified (look at the copy > constructor in connection.cpp) > > -isolation- > the public interface of the library (that is, the files under > include/) does not depend on libdbus, <dbus/dbus.h> is ONLY EVER > included from implementation files (under src/) Thanks for your explanations. I never used that design pattern. But it sounds interesting. I'll implement some samples the next days to get deeper into this design principle. As I understood it we could maybe solve that pthread runtime problem with the Pimpl design. In eventloop.h is this: class DXXAPI DefaultMutex { public: DefaultMutex(); ~DefaultMutex(); void lock(); void unlock(); private: #if defined HAVE_PTHREAD_H pthread_mutex_t _mutex; #elif defined HAVE_WIN32 //TODO: use a critical section #endif }; This was the reason for the private config header. Because if you compile dbus-c++ with HAVE_PTHREAD_H and then the app without you'll get a silent crash. Wouldn't a Pimpl implementation help here to avoid the private config header? regards Andreas |
From: P. D. <sh...@gm...> - 2008-08-18 21:44:01
|
On Mon, Aug 18, 2008 at 10:25 PM, Andreas Volz <li...@br...> wrote: > Am Sun, 17 Aug 2008 15:34:49 +0200 schrieb P. Durante: > >> On Sun, Aug 17, 2008 at 11:21 AM, Christopher Lang >> <chr...@ac...> wrote: >> > >> > Paolo, >> > >> > a question on your code: >> > >> > what is that "private" stuff all about? For example in class >> > "Connection" you are using this: >> > >> > class DXXAPI Connection >> > ... >> > 59 struct Private; >> > 60 >> > 61 typedef std::list<Private*> PrivatePList; >> > 62 >> > 63 Connection( Private* ); >> > >> > Could you provide a little bit of rationale about this? It somehow >> > confuses me. Is this simply a "private" dbus connection for example >> > "app to app" connection? Or is this some (to me unknown) technique >> > to produce c++ quasi private members in the "public" section? >> > >> > many thanks >> > >> > Chris >> > >> > >> >> it's not a private connection, it's the "private data" of that >> particular class, objects and messages have private data too >> >> it's the typical pimpl pattern >> >> http://en.wikipedia.org/wiki/Pimpl >> >> and it serves two purposes: >> >> -copying semantics- >> DBus::Connection objects (and any object implementing the same idiom) >> can be copied and all copies will refer to the same, internal, libdbus >> connection, reference counting is greatly simplified (look at the copy >> constructor in connection.cpp) >> >> -isolation- >> the public interface of the library (that is, the files under >> include/) does not depend on libdbus, <dbus/dbus.h> is ONLY EVER >> included from implementation files (under src/) > > > Thanks for your explanations. I never used that design pattern. But it > sounds interesting. I'll implement some samples the next days to get > deeper into this design principle. > > As I understood it we could maybe solve that pthread runtime problem > with the Pimpl design. In eventloop.h is this: > > class DXXAPI DefaultMutex > { > public: > > DefaultMutex(); > > ~DefaultMutex(); > > void lock(); > > void unlock(); > > private: > > #if defined HAVE_PTHREAD_H > > pthread_mutex_t _mutex; > > #elif defined HAVE_WIN32 > > //TODO: use a critical section > > #endif > }; > > This was the reason for the private config header. Because if you > compile dbus-c++ with HAVE_PTHREAD_H and then the app without you'll > get a silent crash. Wouldn't a Pimpl implementation help here to avoid > the private config header? > yes but in this case it really isn't worth it, I used to want a native windows but since pthreads already works on windows I just made it a requirement on the last commit of course this removes the shameful bug reported earlier today > regards > Andreas > regards |
From: Andreas V. <li...@br...> - 2008-08-17 13:45:09
|
Am Sun, 17 Aug 2008 11:21:03 +0200 schrieb Christopher Lang: > > Paolo, > > a question on your code: > > what is that "private" stuff all about? For example in class > "Connection" you are using this: > > class DXXAPI Connection > ... > 59 struct Private; > 60 > 61 typedef std::list<Private*> PrivatePList; > 62 > 63 Connection( Private* ); > > Could you provide a little bit of rationale about this? It somehow > confuses me. Is this simply a "private" dbus connection for example > "app to app" connection? Or is this some (to me unknown) technique to > produce c++ quasi private members in the "public" section? > > many thanks > > Chris Yes, this would be really helpful. Maybe it's a design pattern that I don't recognize. Sometimes it's really hard to understand the logic behind that "Private" stuff. Currently I use kscope to dive deeper into dbus-c++. It's really helpful to not get lost big sources. regards Andreas |