You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
(5) |
Apr
(7) |
May
(11) |
Jun
(19) |
Jul
(9) |
Aug
(5) |
Sep
(6) |
Oct
(18) |
Nov
(9) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(8) |
Feb
(1) |
Mar
(5) |
Apr
(1) |
May
(1) |
Jun
(73) |
Jul
(128) |
Aug
(39) |
Sep
(91) |
Oct
(24) |
Nov
(42) |
Dec
(37) |
2006 |
Jan
(8) |
Feb
(22) |
Mar
(15) |
Apr
(44) |
May
(13) |
Jun
(9) |
Jul
(19) |
Aug
(35) |
Sep
(28) |
Oct
(53) |
Nov
(19) |
Dec
(29) |
2007 |
Jan
(28) |
Feb
(37) |
Mar
(86) |
Apr
(14) |
May
(48) |
Jun
(2) |
Jul
(20) |
Aug
(19) |
Sep
(19) |
Oct
(8) |
Nov
(11) |
Dec
(11) |
2008 |
Jan
(3) |
Feb
(1) |
Mar
(22) |
Apr
(7) |
May
(3) |
Jun
|
Jul
(16) |
Aug
(10) |
Sep
(5) |
Oct
(3) |
Nov
(24) |
Dec
(9) |
2009 |
Jan
(14) |
Feb
(4) |
Mar
(16) |
Apr
(13) |
May
(22) |
Jun
(3) |
Jul
(3) |
Aug
(8) |
Sep
(20) |
Oct
(18) |
Nov
(5) |
Dec
(11) |
2010 |
Jan
(4) |
Feb
(4) |
Mar
(7) |
Apr
(5) |
May
(41) |
Jun
(15) |
Jul
(3) |
Aug
(2) |
Sep
(9) |
Oct
(7) |
Nov
(8) |
Dec
(3) |
2011 |
Jan
(28) |
Feb
(29) |
Mar
(3) |
Apr
(7) |
May
(3) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
(4) |
Nov
(7) |
Dec
|
2012 |
Jan
(3) |
Feb
(4) |
Mar
(3) |
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
(3) |
Aug
(3) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
(4) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(7) |
Dec
(5) |
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
|
2015 |
Jan
(7) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Juan J. N. <nat...@gm...> - 2006-12-21 22:58:10
|
Hi everyone, I am trying to build wxPlotCtrl and I have found some problems, basicly it's looking for gdk/gdk.h and failing, those files are in /usr/include/gtk-2.0 though. src/plotdraw.cpp:60:25: warning: gdk/gdk.h: No such file or directory It then dies after it sees some undeclared gdk_* functions. My system is Debian Sarge with the wxgtk backports: libwxgtk2.6-0c102 libwxgtk2.6-dbg libwxgtk2.6-dev Thanks in advance, Juan Natera |
From: Ishan A. <ish...@us...> - 2006-12-21 00:45:27
|
William, I cant access wxCode/build and wxCode/template from wxCode CVS as I don't have a Maintainer's Account. Can you mail them to me or put them up on your component SVN On 12/21/06, Ishan Arora <ish...@us...> wrote: > > William > Let me work on bakefile and autoconf. Infact I had already started working > on bakefile when i was trying to compile wxDNSSD with Visual Studio. > > On 12/21/06, William H. Schultz <whs...@ce...> wrote: > > > > The project is visible on the main page, but the code itself is not. > > It's available from the subversion repository, but the provided link > > points to the CVS repo, which does not contain any of the code. > > > > > > With respect to bakefile... I looked at it yesterday, but I stopped > > when I realized I was still going to have to learn autoconf. I > > didn't realize at the time that wxCode provides templates to make > > this easier. I'll see what I can do. > > > > > > ------------------------------- > > Hank Schultz > > Cedrus Corporation > > http://www.cedrus.com/ > > > > > > On Dec 20, 2006, at 4:12 AM, Francesco Montorsi wrote: > > > > > Hi William, > > > > > > William H. Schultz ha scritto: > > >> It isn't visible straight from wxCode because I'm using wxCode's > > >> subversion repository instead of the CVS repository. > > > sorry - why isn't it visible? I see it listed in component list > > > page... > > > > > >> This allowed me to > > >> point to it as an external source within our own internal > > >> project's svn > > >> repo. I also haven't packaged up a release, as I have no > > >> documentation > > >> or anything to help people build a project. > > > if you need help with bakefile build system please let me know. > > > The Maintainer's Guide should help you with the basics... > > > > > > Francesco > > > > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > > --- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to > > > share your > > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php? > > > page=join.php&p=sourceforge&CID=DEVDEV > > > _______________________________________________ > > > wxCode-users mailing list > > > wxC...@li... > > > https://lists.sourceforge.net/lists/listinfo/wxcode-users > > > > > > > > ------------------------------------------------------------------------- > > > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > > your > > opinions on IT & business topics through brief surveys - and earn cash > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > wxCode-users mailing list > > wxC...@li... > > https://lists.sourceforge.net/lists/listinfo/wxcode-users > > > > > > > > > |
From: Ishan A. <ish...@us...> - 2006-12-20 23:57:52
|
William Let me work on bakefile and autoconf. Infact I had already started working on bakefile when i was trying to compile wxDNSSD with Visual Studio. On 12/21/06, William H. Schultz <whs...@ce...> wrote: > > The project is visible on the main page, but the code itself is not. > It's available from the subversion repository, but the provided link > points to the CVS repo, which does not contain any of the code. > > > With respect to bakefile... I looked at it yesterday, but I stopped > when I realized I was still going to have to learn autoconf. I > didn't realize at the time that wxCode provides templates to make > this easier. I'll see what I can do. > > > ------------------------------- > Hank Schultz > Cedrus Corporation > http://www.cedrus.com/ > > > On Dec 20, 2006, at 4:12 AM, Francesco Montorsi wrote: > > > Hi William, > > > > William H. Schultz ha scritto: > >> It isn't visible straight from wxCode because I'm using wxCode's > >> subversion repository instead of the CVS repository. > > sorry - why isn't it visible? I see it listed in component list > > page... > > > >> This allowed me to > >> point to it as an external source within our own internal > >> project's svn > >> repo. I also haven't packaged up a release, as I have no > >> documentation > >> or anything to help people build a project. > > if you need help with bakefile build system please let me know. > > The Maintainer's Guide should help you with the basics... > > > > Francesco > > > > > > > > > > > > ---------------------------------------------------------------------- > > --- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to > > share your > > opinions on IT & business topics through brief surveys - and earn cash > > http://www.techsay.com/default.php? > > page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > wxCode-users mailing list > > wxC...@li... > > https://lists.sourceforge.net/lists/listinfo/wxcode-users > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > wxCode-users mailing list > wxC...@li... > https://lists.sourceforge.net/lists/listinfo/wxcode-users > > > > |
From: William H. S. <whs...@ce...> - 2006-12-20 18:59:12
|
The project is visible on the main page, but the code itself is not. It's available from the subversion repository, but the provided link points to the CVS repo, which does not contain any of the code. With respect to bakefile... I looked at it yesterday, but I stopped when I realized I was still going to have to learn autoconf. I didn't realize at the time that wxCode provides templates to make this easier. I'll see what I can do. ------------------------------- Hank Schultz Cedrus Corporation http://www.cedrus.com/ On Dec 20, 2006, at 4:12 AM, Francesco Montorsi wrote: > Hi William, > > William H. Schultz ha scritto: >> It isn't visible straight from wxCode because I'm using wxCode's >> subversion repository instead of the CVS repository. > sorry - why isn't it visible? I see it listed in component list > page... > >> This allowed me to >> point to it as an external source within our own internal >> project's svn >> repo. I also haven't packaged up a release, as I have no >> documentation >> or anything to help people build a project. > if you need help with bakefile build system please let me know. > The Maintainer's Guide should help you with the basics... > > Francesco > > > > > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > wxCode-users mailing list > wxC...@li... > https://lists.sourceforge.net/lists/listinfo/wxcode-users |
From: William H. S. <whs...@ce...> - 2006-12-20 18:32:47
|
HWND_MESSAGE requires Windows 2000 or later. I don't recall where the documentation is that specifies this requirement. On my system, it's defined in winuser.h. ------------------------------- Hank Schultz Cedrus Corporation http://www.cedrus.com/ On Dec 19, 2006, at 10:58 PM, Ishan Arora wrote: > i am having trouble compiling servicediscoverytaskbase.cpp in > visual studio > servicediscoverytaskbase.cpp(164) : error C2065: 'HWND_MESSAGE' : > undeclared identifier > > On 12/20/06, Ishan Arora <ish...@us...> wrote: > Thanks. The sample is of great help > > > On 12/20/06, William H. Schultz < whs...@ce...> wrote: > I see. That makes more sense--that it would be source-code > compatible, similar to WINE. That would relieve the effort of > implementation quite a bit. > > While it may be a while before I get around to writing serious > documentation, I can at least go ahead and put some effort into > squeezing this into the existing socket sample. That should help > get you up and running. > > > ------------------------------- > Hank Schultz > Cedrus Corporation > http://www.cedrus.com / > > > On Dec 18, 2006, at 7:01 PM, Ishan Arora wrote: > >> William, >> What I insisted in last post was " Avahi also implements binary >> compatibility libraries that emulate Bonjour and Howl". I guess I >> should have used a different font :) >> Since Avahi sounds more native and also emulates Bonjour in >> different binaries, you wont have to modify your code (much). >> Moreover it comes installed with most linux; we don't have much >> reason to give a Linux user the trouble of installing Bonjour >> >> >> On 12/19/06, William H. Schultz < whs...@ce... > wrote: >> It isn't visible straight from wxCode because I'm using wxCode's >> subversion repository instead of the CVS repository. This allowed >> me to point to it as an external source within our own internal >> project's svn repo. I also haven't packaged up a release, as I >> have no documentation or anything to help people build a project. >> >> About Avahi, if that's what is commonly shipping on Linux systems, >> then that would probably be the better route to take on those >> platforms. As currently implemented, wxDNSSD relies on Apple's >> implementation. I imagine Avahi wouldn't be particularly >> difficult to implement into my existing framework. I suspect the >> structure will likely be very similar (if not identical), but a >> lot of the code I've written probably won't apply. I have a >> suspicion it would wind up being a parallel implementation, like >> much of wxWidgets' cross-platform support. >> >> It may not be a bad idea to see if my implementation works with >> Apple's Bonjour on Linux. If it does, you could still do an Avahi >> implementation, but this would make it much easier to ensure that >> software written against wxDNSSD will work the same regardless of >> the backend. (just an idea) >> >> >> Anyway, I committed a change to servicediscoverytaskbase.h a few >> minutes ago, so there should be a little more information there on >> what you need to know to get going. It's getting late, so I'm >> headed home for the evening. >> >> >> We should probably continue this discussion on the wxCode mailing >> list. https://lists.sourceforge.net/lists/listinfo/wxcode-users >> I figured I would mention this before starting to CC the list (in >> case you have privacy concerns about anything you've already >> mentioned). >> >> >> ------------------------------- >> Hank Schultz >> Cedrus Corporation >> http://www.cedrus.com / >> >> >> On Dec 18, 2006, at 5:54 PM, Ishan Arora wrote: >> >>> William, >>> Why is this project not accessible straight from wxCode? It would >>> be more visible to the interested that way. My purpose is to >>> create an open source network messenger. I am thinking of using >>> Bonjour for the messenger to know the presence of other instances >>> of the messenger on the network. Is there a better way you wish >>> to recommend? >>> >>> I just came across this on wikipedia.org >>> Avahi is a Zeroconf implementation for Linux and BSDs. It >>> implements IPv4LL, mDNS and DNS-SD. It is part of every major and >>> many minor Linux distributions, and is installed by default on >>> e.g. Ubuntu version 6.10. If run in conjunction with nss-mdns it >>> also offers host name resolution. >>> >>> Avahi also implements binary compatibility libraries that emulate >>> Bonjour and Howl, so software made to use those implementations >>> can also utilize Avahi through the emulation interfaces. >>> >>> >>> >>> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >>> Thanks! It was also just the thing I needed. Of course, since >>> no one had published a good implementation, I did the best I >>> could and put it out there for everyone else. The key things >>> missing are documentation and support for text records. I'm >>> working right now on adding a short blurb to the >>> servicediscoverytaskbase.h header file to give a quick overview >>> of how stuff works. I hope to have this committed within the >>> next half hour. >>> >>> >>> Hank Schultz >>> >>> <cedrus_logo_w140.gif> >>> >>> http://www.cedrus.com/ >>> >>> >>> On Dec 18, 2006, at 5:34 PM, Ishan Arora wrote: >>> >>>> William, >>>> I guess I am the first one to be interested because the project >>>> is relatively new and alpha version :) >>>> Anyways I am finding Bonjour just the right thing for my >>>> project, so I owe you a big "Thank You!!!" for helping me use it >>>> in wxWidgets. I'll try to contribute to your side project ;) >>>> Thank you >>>> >>>> >>>> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >>>> It has not been tested. There is a mechanism implemented to >>>> work based on the select() type of receiving events, which >>>> should theoretically be compatible with Linux. I tried to use >>>> this but had issues. I don't recall if I tried it on both OS X >>>> and Windows, but I think I may have. This would rely on idle >>>> events. I also tried a threaded implementation, allowing the >>>> bonjour calls to block. I don't recall precisely why I'm not >>>> using this method myself. >>>> >>>> There are two methods implemented that could potentially work on >>>> Linux. Unfortunately, I know I had some kind of issues with >>>> both of these methods on either Windows or Mac OS X, so you may >>>> have your work cut out for you to get it running on Linux. >>>> There is the slim possibility that it will work pretty easily >>>> for you--that is, the methods are implemented--but I wouldn't >>>> count on it. >>>> >>>> In the end, I had a hard time getting everything to work right >>>> on Windows, so it could just be that I didn't devote enough >>>> effort into tweaking things for the more globally available >>>> methods. >>>> >>>> Everything you need to make this work should be in >>>> servicediscoverytaskbase.h and .cpp. This is where the bonjour >>>> tasks get set up. Since they all work mostly the same way, all >>>> of the code is in here. One other place that may need >>>> modification is wxServiceDiscoveryResult::SetNetworkInterface(), >>>> which takes an integer index for the network interface and >>>> retrieves the name. On Mac OS X, this is en0, en1, fw0, etc... >>>> If the Mac OS X code for this doesn't work under Linux, it's >>>> just a matter of finding the line or two of code that takes this >>>> index and turns it into a name. >>>> >>>> If you're willing to look over Apple's DNS SD documentation, >>>> then the functionality of the code should be relatively clear. >>>> >>>> I have a vague recollection that the threaded implementation was >>>> a lot more reliable than the idle-event-initiated-select() >>>> implementation (though I think I had some issues with starting >>>> and stopping tasks). You are probably better off starting down >>>> this route. >>>> >>>> >>>> I'm planning on rewriting the socket sample to use this, but it >>>> may be a bit before I get around to it. >>>> >>>> >>>> Oh, and in case you didn't already know, Bonjour doesn't do much >>>> of anything for actual network communication. You're on your >>>> own to set up a server and or client. Bonjour just tells you >>>> what claims to be available (dns name and port... you have to >>>> get the IP yourself, but that should be implemented in my code >>>> in wxServiceDiscoveryResult::SetTarget). >>>> >>>> There are a lot of calls to wxLogDebug() to keep you informed as >>>> to what is going on. >>>> >>>> You're the first person to contact me to say, "hey, I'm >>>> interested!" Sorry about the disarray. Our potential use for >>>> this is way out in the future, so it's a low priority side >>>> project, relative to tech support and fixing bugs in shipping >>>> products. ;) >>>> >>>> >>>> Hank Schultz >>>> >>>> <cedrus_logo_w140.gif> >>>> >>>> http://www.cedrus.com/ >>>> >>>> >>>> On Dec 18, 2006, at 4:50 PM, Ishan Arora wrote: >>>> >>>>> William, >>>>> Thank you for your response. I am really thankful. Does wxDNSSD >>>>> also work on linux, even if not tested? >>>>> >>>>> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >>>>> Ishan, >>>>> >>>>> Yes, I have. So far, it seems to be working pretty well for me >>>>> internally. I haven't yet inflicted it on anyone else in my >>>>> company, and especially not any users yet. You can get the >>>>> source code here: >>>>> >>>>> https://svn.sourceforge.net/svnroot/wxcode/trunk/wxCode/ >>>>> components/servicediscovery/ (works in a web browser or >>>>> subversion client) >>>>> >>>>> I don't have anything to help build it yet. I'm currently >>>>> including the source files as if they were part of my own >>>>> project. In include/wx/servicediscoverydef.h, this code is >>>>> configured to only build in debug mode, so you will likely want >>>>> to modify this file. >>>>> >>>>> There is one Bonjour feature that is missing, and that's the >>>>> text records. At the moment, I have no use for it, so I >>>>> haven't implemented it. Everything else is working fine for me >>>>> on Windows and Mac OS X. >>>>> >>>>> I'm sorry that I haven't yet put together a sample to show off >>>>> how to use this functionality, but it's relatively simple. >>>>> There are four primary data types: browser, resolver, service, >>>>> and result. If you have something to announce, you create a >>>>> service and then start it. If you want to find something, you >>>>> create a service but *don't* start it. You provide this >>>>> service to the browser. The browser returns results via >>>>> events. These results don't have full IP information, so you >>>>> need to resolve your results. The same result objects are used >>>>> for both, and an object array has been defined in >>>>> servicediscoveryresult.h to make it easier to keep up with the >>>>> results. >>>>> >>>>> An important detail to remember is that all bonjour tasks must >>>>> be started and stopped for anything to happen (browser, >>>>> resolver, and service are all tasks). If you don't start your >>>>> service, it won't be visible (this is what you want if you are >>>>> looking for results but not if you have a service to offer). >>>>> If you don't start the browser, you will never get any >>>>> results. The browser should stay active until you no longer >>>>> need results. The resolver can probably be deactivated after >>>>> you get your IP information. >>>>> >>>>> While bonjour supports IPv6, wxWidgets doesn't, so everything >>>>> is done with IPv4. >>>>> >>>>> >>>>> I hope this is enough to get you started! >>>>> >>>>> >>>>> Hank Schultz >>>>> >>>>> <cedrus_logo_w140.gif> >>>>> >>>>> http://www.cedrus.com/ >>>>> >>>>> >>>>> On Dec 18, 2006, at 3:37 PM, Ishan Arora wrote: >>>>> >>>>>> hi >>>>>> you seem to have created a wrapper class for Apple's Bonjour. >>>>>> it seems to be very helpful from the description, but i am >>>>>> unable to access it. can you please check it. if it takes time >>>>>> to put them for download then please email me the files. >>>>>> thank you >>>>> >>>>> >>>> >>>> >>> >>> >> >> >> > > > > |
From: Francesco M. <f18...@ya...> - 2006-12-20 12:13:13
|
Hi William, William H. Schultz ha scritto: > It isn't visible straight from wxCode because I'm using wxCode's > subversion repository instead of the CVS repository. sorry - why isn't it visible? I see it listed in component list page... > This allowed me to > point to it as an external source within our own internal project's svn > repo. I also haven't packaged up a release, as I have no documentation > or anything to help people build a project. if you need help with bakefile build system please let me know. The Maintainer's Guide should help you with the basics... Francesco |
From: Ishan A. <ish...@us...> - 2006-12-20 06:21:11
|
Thanks. The sample is of great help On 12/20/06, William H. Schultz <whs...@ce...> wrote: > > I see. That makes more sense--that it would be source-code compatible, > similar to WINE. That would relieve the effort of implementation quite a > bit. > While it may be a while before I get around to writing serious > documentation, I can at least go ahead and put some effort into squeezing > this into the existing socket sample. That should help get you up and > running. > > ------------------------------- > Hank Schultz > Cedrus Corporation > http://www.cedrus.com / > > > On Dec 18, 2006, at 7:01 PM, Ishan Arora wrote: > > William, > What I insisted in last post was " Avahi also implements binary > compatibility libraries that emulate Bonjour and Howl". I guess I should have > used a different font :) > Since Avahi sounds more native and also emulates Bonjour in different > binaries, you wont have to modify your code (much). Moreover it comes > installed with most linux; we don't have much reason to give a Linux user > the trouble of installing Bonjour > > > On 12/19/06, William H. Schultz <whs...@ce... > wrote: > > > > It isn't visible straight from wxCode because I'm using wxCode's > > subversion repository instead of the CVS repository. This allowed me to > > point to it as an external source within our own internal project's svn > > repo. I also haven't packaged up a release, as I have no documentation or > > anything to help people build a project. > > About Avahi, if that's what is commonly shipping on Linux systems, then > > that would probably be the better route to take on those platforms. As > > currently implemented, wxDNSSD relies on Apple's implementation. I imagine > > Avahi wouldn't be particularly difficult to implement into my existing > > framework. I suspect the structure will likely be very similar (if not > > identical), but a lot of the code I've written probably won't apply. I have > > a suspicion it would wind up being a parallel implementation, like much of > > wxWidgets' cross-platform support. > > > > It may not be a bad idea to see if my implementation works with Apple's > > Bonjour on Linux. If it does, you could still do an Avahi implementation, > > but this would make it much easier to ensure that software written against > > wxDNSSD will work the same regardless of the backend. (just an idea) > > > > > > Anyway, I committed a change to servicediscoverytaskbase.h a few minutes > > ago, so there should be a little more information there on what you need to > > know to get going. It's getting late, so I'm headed home for the evening. > > > > > > We should probably continue this discussion on the wxCode mailing > > list. https://lists.sourceforge.net/lists/listinfo/wxcode-users I > > figured I would mention this before starting to CC the list (in case you > > have privacy concerns about anything you've already mentioned). > > > > > > ------------------------------- > > Hank Schultz > > Cedrus Corporation > > http://www.cedrus.com / > > > > > > On Dec 18, 2006, at 5:54 PM, Ishan Arora wrote: > > > > William, > > Why is this project not accessible straight from wxCode? It would be > > more visible to the interested that way. My purpose is to create an open > > source network messenger. I am thinking of using Bonjour for the messenger > > to know the presence of other instances of the messenger on the network. Is > > there a better way you wish to recommend? > > > > > > I just came across this on wikipedia.org > > > > Avahi <http://en.wikipedia.org/wiki/Avahi_%28software%29> is a Zeroconf > > implementation for Linux <http://en.wikipedia.org/wiki/Linux> and BSDs<http://en.wikipedia.org/wiki/Berkeley_Software_Distribution>. > > It implements IPv4LL, mDNS and DNS-SD. It is part of every major and many > > minor Linux distributions, and is installed by default on e.g. Ubuntu<http://en.wikipedia.org/wiki/Ubuntu_%28Linux_distribution%29>version > > 6.10. If run in conjunction with nss-mdns<http://0pointer.de/lennart/projects/nss-mdns/>it also offers host name resolution. > > > > Avahi also implements binary compatibility libraries that emulate > > Bonjour and Howl, so software made to use those implementations can also > > utilize Avahi through the emulation interfaces. > > > > > > On 12/19/06, William H. Schultz < whs...@ce...> wrote: > > > > > > Thanks! It was also just the thing I needed. Of course, since no one > > > had published a good implementation, I did the best I could and put it out > > > there for everyone else. The key things missing are documentation and > > > support for text records. I'm working right now on adding a short blurb to > > > the servicediscoverytaskbase.h header file to give a quick overview of > > > how stuff works. I hope to have this committed within the next half hour. > > > > > > Hank Schultz > > > > > > <cedrus_logo_w140.gif> > > > > > > http://www.cedrus.com/ > > > > > > > > > On Dec 18, 2006, at 5:34 PM, Ishan Arora wrote: > > > > > > William, > > > I guess I am the first one to be interested because the project is > > > relatively new and alpha version :) > > > Anyways I am finding Bonjour just the right thing for my project, so I > > > owe you a big "Thank You!!!" for helping me use it in wxWidgets. I'll try to > > > contribute to your side project ;) > > > Thank you > > > > > > > > > On 12/19/06, William H. Schultz < whs...@ce...> wrote: > > > > > > > > It has not been tested. There is a mechanism implemented to work > > > > based on the select() type of receiving events, which should theoretically > > > > be compatible with Linux. I tried to use this but had issues. I don't > > > > recall if I tried it on both OS X and Windows, but I think I may have. This > > > > would rely on idle events. I also tried a threaded implementation, allowing > > > > the bonjour calls to block. I don't recall precisely why I'm not using this > > > > method myself. > > > > There are two methods implemented that could potentially work on > > > > Linux. Unfortunately, I know I had some kind of issues with both of these > > > > methods on either Windows or Mac OS X, so you may have your work cut out for > > > > you to get it running on Linux. There is the slim possibility that it will > > > > work pretty easily for you--that is, the methods are implemented--but I > > > > wouldn't count on it. > > > > > > > > In the end, I had a hard time getting everything to work right on > > > > Windows, so it could just be that I didn't devote enough effort into > > > > tweaking things for the more globally available methods. > > > > > > > > Everything you need to make this work should be in > > > > servicediscoverytaskbase.h and .cpp. This is where the bonjour > > > > tasks get set up. Since they all work mostly the same way, all of the code > > > > is in here. One other place that may need modification is > > > > wxServiceDiscoveryResult::SetNetworkInterface(), which takes an integer > > > > index for the network interface and retrieves the name. On Mac OS X, this > > > > is en0, en1, fw0, etc... If the Mac OS X code for this doesn't work under > > > > Linux, it's just a matter of finding the line or two of code that takes this > > > > index and turns it into a name. > > > > > > > > If you're willing to look over Apple's DNS SD documentation, then > > > > the functionality of the code should be relatively clear. > > > > > > > > I have a vague recollection that the threaded implementation was a > > > > lot more reliable than the idle-event-initiated-select() implementation > > > > (though I think I had some issues with starting and stopping tasks). You > > > > are probably better off starting down this route. > > > > > > > > > > > > I'm planning on rewriting the socket sample to use this, but it may > > > > be a bit before I get around to it. > > > > > > > > > > > > Oh, and in case you didn't already know, Bonjour doesn't do much of > > > > anything for actual network communication. You're on your own to set up a > > > > server and or client. Bonjour just tells you what claims to be available > > > > (dns name and port... you have to get the IP yourself, but that should be > > > > implemented in my code in wxServiceDiscoveryResult::SetTarget). > > > > > > > > There are a lot of calls to wxLogDebug() to keep you informed as to > > > > what is going on. > > > > > > > > You're the first person to contact me to say, "hey, I'm > > > > interested!" Sorry about the disarray. Our potential use for this is way > > > > out in the future, so it's a low priority side project, relative to tech > > > > support and fixing bugs in shipping products. ;) > > > > > > > > Hank Schultz > > > > > > > > <cedrus_logo_w140.gif> > > > > > > > > http://www.cedrus.com/ > > > > > > > > > > > > On Dec 18, 2006, at 4:50 PM, Ishan Arora wrote: > > > > > > > > William, > > > > Thank you for your response. I am really thankful. Does wxDNSSD also > > > > work on linux, even if not tested? > > > > > > > > On 12/19/06, William H. Schultz < whs...@ce...> wrote: > > > > > > > > > > Ishan, > > > > > Yes, I have. So far, it seems to be working pretty well for me > > > > > internally. I haven't yet inflicted it on anyone else in my company, and > > > > > especially not any users yet. You can get the source code here: > > > > > > > > > > https://svn.sourceforge.net/svnroot/wxcode/trunk/wxCode/components/servicediscovery/ > > > > > (works in a web browser or subversion client) > > > > > > > > > > I don't have anything to help build it yet. I'm currently > > > > > including the source files as if they were part of my own project. In > > > > > include/wx/servicediscoverydef.h, this code is configured to only build in > > > > > debug mode, so you will likely want to modify this file. > > > > > > > > > > There is one Bonjour feature that is missing, and that's the text > > > > > records. At the moment, I have no use for it, so I haven't implemented it. > > > > > Everything else is working fine for me on Windows and Mac OS X. > > > > > > > > > > I'm sorry that I haven't yet put together a sample to show off how > > > > > to use this functionality, but it's relatively simple. There are four > > > > > primary data types: browser, resolver, service, and result. If you have > > > > > something to announce, you create a service and then start it. If you want > > > > > to find something, you create a service but *don't* start it. You provide > > > > > this service to the browser. The browser returns results via events. These > > > > > results don't have full IP information, so you need to resolve your > > > > > results. The same result objects are used for both, and an object array has > > > > > been defined in servicediscoveryresult.h to make it easier to keep > > > > > up with the results. > > > > > > > > > > An important detail to remember is that all bonjour tasks must be > > > > > started and stopped for anything to happen (browser, resolver, and service > > > > > are all tasks). If you don't start your service, it won't be visible (this > > > > > is what you want if you are looking for results but not if you have a > > > > > service to offer). If you don't start the browser, you will never get any > > > > > results. The browser should stay active until you no longer need results. > > > > > The resolver can probably be deactivated after you get your IP information. > > > > > > > > > > While bonjour supports IPv6, wxWidgets doesn't, so everything is > > > > > done with IPv4. > > > > > > > > > > > > > > > I hope this is enough to get you started! > > > > > > > > > > > > > > > Hank Schultz > > > > > > > > > > <cedrus_logo_w140.gif> > > > > > > > > > > http://www.cedrus.com/ > > > > > > > > > > > > > > > On Dec 18, 2006, at 3:37 PM, Ishan Arora wrote: > > > > > > > > > > hi > > > > > you seem to have created a wrapper class for Apple's Bonjour. it > > > > > seems to be very helpful from the description, but i am unable to access it. > > > > > can you please check it. if it takes time to put them for download then > > > > > please email me the files. > > > > > thank you > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
From: William H. S. <whs...@ce...> - 2006-12-19 19:35:08
|
I see. That makes more sense--that it would be source-code compatible, similar to WINE. That would relieve the effort of implementation quite a bit. While it may be a while before I get around to writing serious documentation, I can at least go ahead and put some effort into squeezing this into the existing socket sample. That should help get you up and running. ------------------------------- Hank Schultz Cedrus Corporation http://www.cedrus.com/ On Dec 18, 2006, at 7:01 PM, Ishan Arora wrote: > William, > What I insisted in last post was "Avahi also implements binary > compatibility libraries that emulate Bonjour and Howl". I guess I > should have used a different font :) > Since Avahi sounds more native and also emulates Bonjour in > different binaries, you wont have to modify your code (much). > Moreover it comes installed with most linux; we don't have much > reason to give a Linux user the trouble of installing Bonjour > > > On 12/19/06, William H. Schultz <whs...@ce...> wrote: > It isn't visible straight from wxCode because I'm using wxCode's > subversion repository instead of the CVS repository. This allowed > me to point to it as an external source within our own internal > project's svn repo. I also haven't packaged up a release, as I > have no documentation or anything to help people build a project. > > About Avahi, if that's what is commonly shipping on Linux systems, > then that would probably be the better route to take on those > platforms. As currently implemented, wxDNSSD relies on Apple's > implementation. I imagine Avahi wouldn't be particularly difficult > to implement into my existing framework. I suspect the structure > will likely be very similar (if not identical), but a lot of the > code I've written probably won't apply. I have a suspicion it > would wind up being a parallel implementation, like much of > wxWidgets' cross-platform support. > > It may not be a bad idea to see if my implementation works with > Apple's Bonjour on Linux. If it does, you could still do an Avahi > implementation, but this would make it much easier to ensure that > software written against wxDNSSD will work the same regardless of > the backend. (just an idea) > > > Anyway, I committed a change to servicediscoverytaskbase.h a few > minutes ago, so there should be a little more information there on > what you need to know to get going. It's getting late, so I'm > headed home for the evening. > > > We should probably continue this discussion on the wxCode mailing > list. https://lists.sourceforge.net/lists/listinfo/wxcode-users > I figured I would mention this before starting to CC the list (in > case you have privacy concerns about anything you've already > mentioned). > > > ------------------------------- > Hank Schultz > Cedrus Corporation > http://www.cedrus.com / > > > On Dec 18, 2006, at 5:54 PM, Ishan Arora wrote: > >> William, >> Why is this project not accessible straight from wxCode? It would >> be more visible to the interested that way. My purpose is to >> create an open source network messenger. I am thinking of using >> Bonjour for the messenger to know the presence of other instances >> of the messenger on the network. Is there a better way you wish to >> recommend? >> >> I just came across this on wikipedia.org >> Avahi is a Zeroconf implementation for Linux and BSDs. It >> implements IPv4LL, mDNS and DNS-SD. It is part of every major and >> many minor Linux distributions, and is installed by default on >> e.g. Ubuntu version 6.10. If run in conjunction with nss-mdns it >> also offers host name resolution. >> >> Avahi also implements binary compatibility libraries that emulate >> Bonjour and Howl, so software made to use those implementations >> can also utilize Avahi through the emulation interfaces. >> >> >> >> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >> Thanks! It was also just the thing I needed. Of course, since no >> one had published a good implementation, I did the best I could >> and put it out there for everyone else. The key things missing >> are documentation and support for text records. I'm working right >> now on adding a short blurb to the servicediscoverytaskbase.h >> header file to give a quick overview of how stuff works. I hope >> to have this committed within the next half hour. >> >> >> Hank Schultz >> >> <cedrus_logo_w140.gif> >> >> http://www.cedrus.com/ >> >> >> On Dec 18, 2006, at 5:34 PM, Ishan Arora wrote: >> >>> William, >>> I guess I am the first one to be interested because the project >>> is relatively new and alpha version :) >>> Anyways I am finding Bonjour just the right thing for my project, >>> so I owe you a big "Thank You!!!" for helping me use it in >>> wxWidgets. I'll try to contribute to your side project ;) >>> Thank you >>> >>> >>> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >>> It has not been tested. There is a mechanism implemented to work >>> based on the select() type of receiving events, which should >>> theoretically be compatible with Linux. I tried to use this but >>> had issues. I don't recall if I tried it on both OS X and >>> Windows, but I think I may have. This would rely on idle >>> events. I also tried a threaded implementation, allowing the >>> bonjour calls to block. I don't recall precisely why I'm not >>> using this method myself. >>> >>> There are two methods implemented that could potentially work on >>> Linux. Unfortunately, I know I had some kind of issues with both >>> of these methods on either Windows or Mac OS X, so you may have >>> your work cut out for you to get it running on Linux. There is >>> the slim possibility that it will work pretty easily for you-- >>> that is, the methods are implemented--but I wouldn't count on it. >>> >>> In the end, I had a hard time getting everything to work right on >>> Windows, so it could just be that I didn't devote enough effort >>> into tweaking things for the more globally available methods. >>> >>> Everything you need to make this work should be in >>> servicediscoverytaskbase.h and .cpp. This is where the bonjour >>> tasks get set up. Since they all work mostly the same way, all >>> of the code is in here. One other place that may need >>> modification is wxServiceDiscoveryResult::SetNetworkInterface(), >>> which takes an integer index for the network interface and >>> retrieves the name. On Mac OS X, this is en0, en1, fw0, etc... >>> If the Mac OS X code for this doesn't work under Linux, it's just >>> a matter of finding the line or two of code that takes this index >>> and turns it into a name. >>> >>> If you're willing to look over Apple's DNS SD documentation, then >>> the functionality of the code should be relatively clear. >>> >>> I have a vague recollection that the threaded implementation was >>> a lot more reliable than the idle-event-initiated-select() >>> implementation (though I think I had some issues with starting >>> and stopping tasks). You are probably better off starting down >>> this route. >>> >>> >>> I'm planning on rewriting the socket sample to use this, but it >>> may be a bit before I get around to it. >>> >>> >>> Oh, and in case you didn't already know, Bonjour doesn't do much >>> of anything for actual network communication. You're on your own >>> to set up a server and or client. Bonjour just tells you what >>> claims to be available (dns name and port... you have to get the >>> IP yourself, but that should be implemented in my code in >>> wxServiceDiscoveryResult::SetTarget). >>> >>> There are a lot of calls to wxLogDebug() to keep you informed as >>> to what is going on. >>> >>> You're the first person to contact me to say, "hey, I'm >>> interested!" Sorry about the disarray. Our potential use for >>> this is way out in the future, so it's a low priority side >>> project, relative to tech support and fixing bugs in shipping >>> products. ;) >>> >>> >>> Hank Schultz >>> >>> <cedrus_logo_w140.gif> >>> >>> http://www.cedrus.com/ >>> >>> >>> On Dec 18, 2006, at 4:50 PM, Ishan Arora wrote: >>> >>>> William, >>>> Thank you for your response. I am really thankful. Does wxDNSSD >>>> also work on linux, even if not tested? >>>> >>>> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >>>> Ishan, >>>> >>>> Yes, I have. So far, it seems to be working pretty well for me >>>> internally. I haven't yet inflicted it on anyone else in my >>>> company, and especially not any users yet. You can get the >>>> source code here: >>>> >>>> https://svn.sourceforge.net/svnroot/wxcode/trunk/wxCode/ >>>> components/servicediscovery/ (works in a web browser or >>>> subversion client) >>>> >>>> I don't have anything to help build it yet. I'm currently >>>> including the source files as if they were part of my own >>>> project. In include/wx/servicediscoverydef.h, this code is >>>> configured to only build in debug mode, so you will likely want >>>> to modify this file. >>>> >>>> There is one Bonjour feature that is missing, and that's the >>>> text records. At the moment, I have no use for it, so I haven't >>>> implemented it. Everything else is working fine for me on >>>> Windows and Mac OS X. >>>> >>>> I'm sorry that I haven't yet put together a sample to show off >>>> how to use this functionality, but it's relatively simple. >>>> There are four primary data types: browser, resolver, service, >>>> and result. If you have something to announce, you create a >>>> service and then start it. If you want to find something, you >>>> create a service but *don't* start it. You provide this service >>>> to the browser. The browser returns results via events. These >>>> results don't have full IP information, so you need to resolve >>>> your results. The same result objects are used for both, and an >>>> object array has been defined in servicediscoveryresult.h to >>>> make it easier to keep up with the results. >>>> >>>> An important detail to remember is that all bonjour tasks must >>>> be started and stopped for anything to happen (browser, >>>> resolver, and service are all tasks). If you don't start your >>>> service, it won't be visible (this is what you want if you are >>>> looking for results but not if you have a service to offer). If >>>> you don't start the browser, you will never get any results. >>>> The browser should stay active until you no longer need >>>> results. The resolver can probably be deactivated after you get >>>> your IP information. >>>> >>>> While bonjour supports IPv6, wxWidgets doesn't, so everything is >>>> done with IPv4. >>>> >>>> >>>> I hope this is enough to get you started! >>>> >>>> >>>> Hank Schultz >>>> >>>> <cedrus_logo_w140.gif> >>>> >>>> http://www.cedrus.com/ >>>> >>>> >>>> On Dec 18, 2006, at 3:37 PM, Ishan Arora wrote: >>>> >>>>> hi >>>>> you seem to have created a wrapper class for Apple's Bonjour. >>>>> it seems to be very helpful from the description, but i am >>>>> unable to access it. can you please check it. if it takes time >>>>> to put them for download then please email me the files. >>>>> thank you >>>> >>>> >>> >>> >> >> > > > |
From: William H. S. <whs...@ce...> - 2006-12-19 17:04:19
|
It isn't visible straight from wxCode because I'm using wxCode's subversion repository instead of the CVS repository. This allowed me to point to it as an external source within our own internal project's svn repo. I also haven't packaged up a release, as I have no documentation or anything to help people build a project. About Avahi, if that's what is commonly shipping on Linux systems, then that would probably be the better route to take on those platforms. As currently implemented, wxDNSSD relies on Apple's implementation. I imagine Avahi wouldn't be particularly difficult to implement into my existing framework. I suspect the structure will likely be very similar (if not identical), but a lot of the code I've written probably won't apply. I have a suspicion it would wind up being a parallel implementation, like much of wxWidgets' cross- platform support. It may not be a bad idea to see if my implementation works with Apple's Bonjour on Linux. If it does, you could still do an Avahi implementation, but this would make it much easier to ensure that software written against wxDNSSD will work the same regardless of the backend. (just an idea) Anyway, I committed a change to servicediscoverytaskbase.h a few minutes ago, so there should be a little more information there on what you need to know to get going. It's getting late, so I'm headed home for the evening. We should probably continue this discussion on the wxCode mailing list. https://lists.sourceforge.net/lists/listinfo/wxcode-users I figured I would mention this before starting to CC the list (in case you have privacy concerns about anything you've already mentioned). ------------------------------- Hank Schultz Cedrus Corporation http://www.cedrus.com/ On Dec 18, 2006, at 5:54 PM, Ishan Arora wrote: > William, > Why is this project not accessible straight from wxCode? It would > be more visible to the interested that way. My purpose is to create > an open source network messenger. I am thinking of using Bonjour > for the messenger to know the presence of other instances of the > messenger on the network. Is there a better way you wish to recommend? > > I just came across this on wikipedia.org > Avahi is a Zeroconf implementation for Linux and BSDs. It > implements IPv4LL, mDNS and DNS-SD. It is part of every major and > many minor Linux distributions, and is installed by default on e.g. > Ubuntu version 6.10. If run in conjunction with nss-mdns it also > offers host name resolution. > > Avahi also implements binary compatibility libraries that emulate > Bonjour and Howl, so software made to use those implementations can > also utilize Avahi through the emulation interfaces. > > > > On 12/19/06, William H. Schultz <whs...@ce...> wrote: > Thanks! It was also just the thing I needed. Of course, since no > one had published a good implementation, I did the best I could and > put it out there for everyone else. The key things missing are > documentation and support for text records. I'm working right now > on adding a short blurb to the servicediscoverytaskbase.h header > file to give a quick overview of how stuff works. I hope to have > this committed within the next half hour. > > > Hank Schultz > > <cedrus_logo_w140.gif> > > http://www.cedrus.com/ > > > On Dec 18, 2006, at 5:34 PM, Ishan Arora wrote: > >> William, >> I guess I am the first one to be interested because the project is >> relatively new and alpha version :) >> Anyways I am finding Bonjour just the right thing for my project, >> so I owe you a big "Thank You!!!" for helping me use it in >> wxWidgets. I'll try to contribute to your side project ;) >> Thank you >> >> >> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >> It has not been tested. There is a mechanism implemented to work >> based on the select() type of receiving events, which should >> theoretically be compatible with Linux. I tried to use this but >> had issues. I don't recall if I tried it on both OS X and >> Windows, but I think I may have. This would rely on idle events. >> I also tried a threaded implementation, allowing the bonjour calls >> to block. I don't recall precisely why I'm not using this method >> myself. >> >> There are two methods implemented that could potentially work on >> Linux. Unfortunately, I know I had some kind of issues with both >> of these methods on either Windows or Mac OS X, so you may have >> your work cut out for you to get it running on Linux. There is >> the slim possibility that it will work pretty easily for you--that >> is, the methods are implemented--but I wouldn't count on it. >> >> In the end, I had a hard time getting everything to work right on >> Windows, so it could just be that I didn't devote enough effort >> into tweaking things for the more globally available methods. >> >> Everything you need to make this work should be in >> servicediscoverytaskbase.h and .cpp. This is where the bonjour >> tasks get set up. Since they all work mostly the same way, all of >> the code is in here. One other place that may need modification >> is wxServiceDiscoveryResult::SetNetworkInterface(), which takes an >> integer index for the network interface and retrieves the name. >> On Mac OS X, this is en0, en1, fw0, etc... If the Mac OS X code >> for this doesn't work under Linux, it's just a matter of finding >> the line or two of code that takes this index and turns it into a >> name. >> >> If you're willing to look over Apple's DNS SD documentation, then >> the functionality of the code should be relatively clear. >> >> I have a vague recollection that the threaded implementation was a >> lot more reliable than the idle-event-initiated-select() >> implementation (though I think I had some issues with starting and >> stopping tasks). You are probably better off starting down this >> route. >> >> >> I'm planning on rewriting the socket sample to use this, but it >> may be a bit before I get around to it. >> >> >> Oh, and in case you didn't already know, Bonjour doesn't do much >> of anything for actual network communication. You're on your own >> to set up a server and or client. Bonjour just tells you what >> claims to be available (dns name and port... you have to get the >> IP yourself, but that should be implemented in my code in >> wxServiceDiscoveryResult::SetTarget). >> >> There are a lot of calls to wxLogDebug() to keep you informed as >> to what is going on. >> >> You're the first person to contact me to say, "hey, I'm >> interested!" Sorry about the disarray. Our potential use for >> this is way out in the future, so it's a low priority side >> project, relative to tech support and fixing bugs in shipping >> products. ;) >> >> >> Hank Schultz >> >> <cedrus_logo_w140.gif> >> >> http://www.cedrus.com/ >> >> >> On Dec 18, 2006, at 4:50 PM, Ishan Arora wrote: >> >>> William, >>> Thank you for your response. I am really thankful. Does wxDNSSD >>> also work on linux, even if not tested? >>> >>> On 12/19/06, William H. Schultz < whs...@ce...> wrote: >>> Ishan, >>> >>> Yes, I have. So far, it seems to be working pretty well for me >>> internally. I haven't yet inflicted it on anyone else in my >>> company, and especially not any users yet. You can get the >>> source code here: >>> >>> https://svn.sourceforge.net/svnroot/wxcode/trunk/wxCode/ >>> components/servicediscovery/ (works in a web browser or >>> subversion client) >>> >>> I don't have anything to help build it yet. I'm currently >>> including the source files as if they were part of my own >>> project. In include/wx/servicediscoverydef.h, this code is >>> configured to only build in debug mode, so you will likely want >>> to modify this file. >>> >>> There is one Bonjour feature that is missing, and that's the text >>> records. At the moment, I have no use for it, so I haven't >>> implemented it. Everything else is working fine for me on >>> Windows and Mac OS X. >>> >>> I'm sorry that I haven't yet put together a sample to show off >>> how to use this functionality, but it's relatively simple. There >>> are four primary data types: browser, resolver, service, and >>> result. If you have something to announce, you create a service >>> and then start it. If you want to find something, you create a >>> service but *don't* start it. You provide this service to the >>> browser. The browser returns results via events. These results >>> don't have full IP information, so you need to resolve your >>> results. The same result objects are used for both, and an >>> object array has been defined in servicediscoveryresult.h to make >>> it easier to keep up with the results. >>> >>> An important detail to remember is that all bonjour tasks must be >>> started and stopped for anything to happen (browser, resolver, >>> and service are all tasks). If you don't start your service, it >>> won't be visible (this is what you want if you are looking for >>> results but not if you have a service to offer). If you don't >>> start the browser, you will never get any results. The browser >>> should stay active until you no longer need results. The >>> resolver can probably be deactivated after you get your IP >>> information. >>> >>> While bonjour supports IPv6, wxWidgets doesn't, so everything is >>> done with IPv4. >>> >>> >>> I hope this is enough to get you started! >>> >>> >>> Hank Schultz >>> >>> <cedrus_logo_w140.gif> >>> >>> http://www.cedrus.com/ >>> >>> >>> On Dec 18, 2006, at 3:37 PM, Ishan Arora wrote: >>> >>>> hi >>>> you seem to have created a wrapper class for Apple's Bonjour. it >>>> seems to be very helpful from the description, but i am unable >>>> to access it. can you please check it. if it takes time to put >>>> them for download then please email me the files. >>>> thank you >>> >>> >> >> > > |
From: Francesco M. <f18...@ya...> - 2006-12-13 11:14:01
|
Hi Cecilio, sorry again for the delay... cecilio ha scritto: > This is just to confirm you that replacing external entities on the > fly works. very good! > The following code is the modification to add to your > sample code: > > else if (node.GetType() == wxXML_ENTITY_DECL) > { > wxXml2EntityDecl* pNode = (wxXml2EntityDecl*)&node; > toadd += wxString::Format(_T(", NodeType=%d, Name='%s', > SystemID='%s'\n"), > node.GetType(), pNode->GetSystemID() ); > > // insert here the referenced xml tree > > // load the referebced XML file as tree of nodes > wxXml2Document oDoc; > wxString sError; > wxFileName oFN(m_sMainFilename); > oFN.SetFullName(pNode->GetSystemID()); > wxString sFilename = oFN.GetFullPath(); > if (!oDoc.Load(sFilename, &sError)) { > wxLogMessage(_T("Error parsing file %s\nError:%s"), > sFilename, sError); > return; // or continue? > } > //Process it recursively > wxXml2Node oRoot = oDoc.GetRoot(); > wxString sChildTree; > ParseNodeAndSiblings(oRoot, sChildTree, n); > toadd += sChildTree; > } great - nice addition to the sample; could you submit it as a patch? It's much easier to apply in that form (just do a "cvs diff -bu2 >sample.patch" in wxXml2\sample). > > Two important issues: > > 1. You will see global variable m_sMainFilename. This is needed > because the external entity URL could be relative to main file. So we > need to know the main file URL. A second issue is that in this sample > code I am assuming that the external entity URL is just > "filename.ext", so that it will be located at the same folder than > main XML file. > This is a non-valid assuption and so, more code must be > inserted to compose the rigth URL. aren't these two issues the same ? I'd simply write: wxFileName oFN(pNode->GetSystemID()); if (oFN.IsRelative()) oFN.MakeAbsolute(wxPathOnly(m_sMainFilename)); > - I did not tested this code in the sample, but in my app, so maybe > there is some bug in last line (toadd += sChildTree). I'll look at it.... Thanks, Francesco |
From: cecilio <s.c...@gm...> - 2006-12-09 11:23:38
|
Hi Francesco, This is just to confirm you that replacing external entities on the fly works. The following code is the modification to add to your sample code: else if (node.GetType() == wxXML_ENTITY_DECL) { wxXml2EntityDecl* pNode = (wxXml2EntityDecl*)&node; toadd += wxString::Format(_T(", NodeType=%d, Name='%s', SystemID='%s'\n"), node.GetType(), pNode->GetSystemID() ); // insert here the referenced xml tree // load the referebced XML file as tree of nodes wxXml2Document oDoc; wxString sError; wxFileName oFN(m_sMainFilename); oFN.SetFullName(pNode->GetSystemID()); wxString sFilename = oFN.GetFullPath(); if (!oDoc.Load(sFilename, &sError)) { wxLogMessage(_T("Error parsing file %s\nError:%s"), sFilename, sError); return; // or continue? } //Process it recursively wxXml2Node oRoot = oDoc.GetRoot(); wxString sChildTree; ParseNodeAndSiblings(oRoot, sChildTree, n); toadd += sChildTree; } Two important issues: 1. You will see global variable m_sMainFilename. This is needed because the external entity URL could be relative to main file. So we need to know the main file URL. A second issue is that in this sample code I am assuming that the external entity URL is just "filename.ext", so that it will be located at the same folder than main XML file. This is a non-valid assuption and so, more code must be inserted to compose the rigth URL. - I did not tested this code in the sample, but in my app, so maybe there is some bug in last line (toadd += sChildTree). Thank you again for your help, Regards, Cecilio. |
From: cecilio <s.c...@gm...> - 2006-12-08 17:59:42
|
Hi Francesco, I briefly inform you about situation: >> 1) after loading your doc, you need wxXml2Document::GetDTD >> 2) inside your wxXml2DTD you'll find the wxXml2EntityDecl nodes >> 3) for each of those node you need to use the GetContent() function and if a >> valid filename is returned load it using wxXml2Document >> 4) parse your original tree and replace the wxXML2_ENTITY_REF_NODE with the root >> of the wxXml2Document loaded at step #3 After some trial and error trying to implement your "manual" proposed solution, I have found that steps 1,2 and 3 are not necessary. I modified the sample code to dump all the nodes. Then I discovered that when you include an external entity ( &name; ) the XML doc tree contains in its place an wxXML_ENTITY_REF_NODE, having an wxXML_ENTITY_DECL child. And this last one contains all needed information (GetSystemID contains the URL to load). So I think that only step 4, done on the fly, as you process the main document, is necessary. This is the code I added to your sample, in ParseNode(), before the else: else if (node.GetType() == wxXML_ENTITY_REF_NODE) { toadd += wxString::Format(_T(", NodeType=%d, Name='%s'"), node.GetType(), node.GetName()); } else if (node.GetType() == wxXML_ENTITY_DECL) { wxXml2EntityDecl* pNode = (wxXml2EntityDecl*)&node; toadd += wxString::Format(_T(", NodeType=%d, Name='%s', SystemID='%s'\n"), node.GetType(), pNode->GetSystemID() ); } To be continued ... Regards, Cecilio |
From: cecilio <s.c...@gm...> - 2006-12-05 21:13:36
|
Many thanks. I will try and tell you about. Thanks again. Cecilio 2006/12/5, Francesco Montorsi <f18...@ya...>: > cecilio ha scritto: > > Thanks, Francesco, > > > >>> Any clue about where should I start looking in wxXml2? > >> the problem is probably to understand how to do it in libxml2 (which api > >> call in which order, etc) - then the wrapping should be easy (maybe just > >> a matter of adding some functions to wxXml2Document)... > > > > Sorry, I wrote wxXml2 but I a was thinking on libxml2. As you know > > libxml is a huge package and the documentation is not for starters. So > > it is very difficult for me to know how to start. Any idea? > ok, looked a bit deeper in this subject. Thanks to the comments I did put in > wxXml2 sources (go me! ;)) you may be lucky: everything you need to do it > "manually" is probably in wxXml2 already. > Most probably there's a smarter way in libxml2 (see e.g. xmlLoadExternalEntity > at http://xmlsoft.org/html/libxml-parser.html). > > If you want to do it "by hand" I think the following _may_ work: > 1) after loading your doc, you need wxXml2Document::GetDTD > 2) inside your wxXml2DTD you'll find the wxXml2EntityDecl nodes > 3) for each of those node you need to use the GetContent() function and if a > valid filename is returned load it using wxXml2Document > 4) parse your original tree and replace the wxXML2_ENTITY_REF_NODE with the root > of the wxXml2Document loaded at step #3 > > ok, after all it may reveal that libxml2 API is much more optimized and faster > to use ;) > > Francesco > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > wxCode-users mailing list > wxC...@li... > https://lists.sourceforge.net/lists/listinfo/wxcode-users > |
From: Francesco M. <f18...@ya...> - 2006-12-05 19:16:34
|
cecilio ha scritto: > Thanks, Francesco, > >>> Any clue about where should I start looking in wxXml2? >> the problem is probably to understand how to do it in libxml2 (which api >> call in which order, etc) - then the wrapping should be easy (maybe just >> a matter of adding some functions to wxXml2Document)... > > Sorry, I wrote wxXml2 but I a was thinking on libxml2. As you know > libxml is a huge package and the documentation is not for starters. So > it is very difficult for me to know how to start. Any idea? ok, looked a bit deeper in this subject. Thanks to the comments I did put in wxXml2 sources (go me! ;)) you may be lucky: everything you need to do it "manually" is probably in wxXml2 already. Most probably there's a smarter way in libxml2 (see e.g. xmlLoadExternalEntity at http://xmlsoft.org/html/libxml-parser.html). If you want to do it "by hand" I think the following _may_ work: 1) after loading your doc, you need wxXml2Document::GetDTD 2) inside your wxXml2DTD you'll find the wxXml2EntityDecl nodes 3) for each of those node you need to use the GetContent() function and if a valid filename is returned load it using wxXml2Document 4) parse your original tree and replace the wxXML2_ENTITY_REF_NODE with the root of the wxXml2Document loaded at step #3 ok, after all it may reveal that libxml2 API is much more optimized and faster to use ;) Francesco |
From: cecilio <s.c...@gm...> - 2006-12-05 16:57:40
|
Thanks, Francesco, > > Any clue about where should I start looking in wxXml2? > the problem is probably to understand how to do it in libxml2 (which api > call in which order, etc) - then the wrapping should be easy (maybe just > a matter of adding some functions to wxXml2Document)... Sorry, I wrote wxXml2 but I a was thinking on libxml2. As you know libxml is a huge package and the documentation is not for starters. So it is very difficult for me to know how to start. Any idea? |
From: Francesco M. <f18...@ya...> - 2006-12-05 13:07:15
|
cecilio ha scritto: > HI Francesco, > >> Very strange - I'm rebuilding wx now in Unicode mode so that I can test it. > OK. Thank you. sorry - I have been very busy and didn't manage to take a look at this yet... > >> sincerely I don't remember if I ever added support for external entities >> in wxXml2... I'll have a look at it when I have time (which means not so >> soon unfortunately): if you need this feature in brief time you may want >> to look at libxml2 documentation and see how you can enable that in >> libxml2 and then wrap required function calls in wxXml2... > > Any clue about where should I start looking in wxXml2? the problem is probably to understand how to do it in libxml2 (which api call in which order, etc) - then the wrapping should be easy (maybe just a matter of adding some functions to wxXml2Document)... Thanks, Francesco |
From: Sven B. <fam...@gm...> - 2006-12-01 09:50:34
|
Hi Ullrich, because I develop with KDevelop, I set environment variable LD_LIBRARY_PATH to the path where I installed wxPDF before execution. That works and it's easier to copy the lib libwxpdfdoc* to each of my projects. That works fine. Thanks for your help. We need more people like you :-) Best regards, Sven -- "Ein Herz für Kinder" - Ihre Spende hilft! Aktion: www.deutschlandsegelt.de Unser Dankeschön: Ihr Name auf dem Segel der 1. deutschen America's Cup-Yacht! |
From: Ulrich T. <Ulr...@gm...> - 2006-12-01 09:40:30
|
Hi Sven, > > Have you checked to which directory "make install" copies the files? > > It copies the files to the /usr/bin and /usr/lib like all packages. That should be ok. > The compiler gives no error, it's only the linker, which does. > I tested your tutorials: > > cd '/home/sv/WX/wxPDF/Tut1' && make -k -j1 > g++ -g -c `wx-config --cxxflags` -o tutorial1.o tutorial1.cpp > g++ -Wall -DS4UNIX -g -o tutorial1 tutorial1.o -lhy `wx-config --libs` Well, where is "-lwxpdfdoc"? You have to add this option explicitly since wx-config does not include the wxpdfdoc library. > tutorial1.o: In function `tutorial1()': > /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:62: undefined reference to > `wxPdfDocument::wxPdfDocument(int, wxString const&, wxPaperSize)' > [...] > /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:66: undefined reference to > `wxPdfDocument::~wxPdfDocument()' > collect2: ld returned 1 exit status > make: *** [tutorial1] Error 1 > make: Target `all' not remade because of errors. > *** Beendet mit Status: 2 *** Regards, Ulrich |
From: Sven B. <fam...@gm...> - 2006-12-01 09:04:37
|
Hi Ullrich > Have you checked to which directory "make install" copies the files? Maybe > you have to specify directroy paths when running configure. It copies the files to the /usr/bin and /usr/lib like all packages. > Unfortunately I'm no Linux/Unix expert, so I have no idea what's going wrong on your system. Well, I'm no expert, too. It would be more adorable to develop on Windows platform, but I have to develop on Linux... :-) > Please quote the complete compiler and linker messages. Maybe this gives a > hint. The compiler gives no error, it's only the linker, which does. I tested your tutorials: cd '/home/sv/WX/wxPDF/Tut1' && make -k -j1 g++ -g -c `wx-config --cxxflags` -o tutorial1.o tutorial1.cpp g++ -Wall -DS4UNIX -g -o tutorial1 tutorial1.o -lhy `wx-config --libs` tutorial1.o: In function `tutorial1()': /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:62: undefined reference to `wxPdfDocument::wxPdfDocument(int, wxString const&, wxPaperSize)' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:63: undefined reference to `wxPdfDocument::AddPage(int)' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:64: undefined reference to `wxPdfDocument::SetFont(wxString const&, wxString const&, double)' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:65: undefined reference to `wxPdfLink::wxPdfLink(int)' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:65: undefined reference to `wxPdfDocument::Cell(double, double, wxString const&, int, int, int, int, wxPdfLink const&)' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:65: undefined reference to `wxPdfLink::~wxPdfLink()' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:65: undefined reference to `wxPdfLink::~wxPdfLink()' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:66: undefined reference to `wxPdfDocument::SaveAsFile(wxString const&)' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:66: undefined reference to `wxPdfDocument::~wxPdfDocument()' /home/sv/WX/wxPDF/Tut1/tutorial1.cpp:66: undefined reference to `wxPdfDocument::~wxPdfDocument()' collect2: ld returned 1 exit status make: *** [tutorial1] Error 1 make: Target `all' not remade because of errors. *** Beendet mit Status: 2 *** Best regards, Sven -- "Ein Herz für Kinder" - Ihre Spende hilft! Aktion: www.deutschlandsegelt.de Unser Dankeschön: Ihr Name auf dem Segel der 1. deutschen America's Cup-Yacht! |
From: Ulrich T. <Ulr...@gm...> - 2006-12-01 08:54:18
|
Hi Sven, > > > I ran the make install script, too, but it doesn't seem to work. > > > > Do you get any error or warning messages? > > No, there were no error or warning messages, everything worked fine. Have you checked to which directory "make install" copies the files? Maybe you have to specify directroy paths when running configure. > > Add the following options when invoking the compiler > > > > -I dir-wxpdfdoc-include > > -lwxpdfdoc > > -L dir-wxpdfdoc-lib > > I already did, but it took no effect. That is really strange. Unfortunately I'm no Linux/Unix expert, so I have no idea what's going wrong on your system. > There are still error messages like "undefined reference to > [class constructor and functions]". Please quote the complete compiler and linker messages. Maybe this gives a hint. > Well, wxPDF works, but only when I copy the libs libwxpdfdoc.so* > to the working dir of my project. > Also environment variable LD_LIBRARY_PATH = [path to wxPDF lib] took no > effect. I set it, because I think these are the standard library paths. Weird. Setting LD_LIBRARY_PATH should definitely work. Although I'm developing most of the time on Windows platforms, I checked wxPdfDocument on SuSE Linux 10 without any problems. Regards, Ulrich |
From: Sven B. <fam...@gm...> - 2006-12-01 08:36:17
|
I forgot to mention, that I also have to modify the makefile in this case: $(PROGRAM): $(OBJECTS) $(CXX) -Wall -DS4UNIX -g -o $(PROGRAM) $(OBJECTS) -lhy `wx-config --libs` libwxpdfdoc.so.0.0.0 -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer |
From: Sven B. <fam...@gm...> - 2006-12-01 08:31:26
|
Hi Ullrich, > > > I ran the make install script, too, but it doesn't seem to work. > > Do you get any error or warning messages? No, there were no error or warning messages, everything worked fine. > Add the following options when invoking the compiler > > -I dir-wxpdfdoc-include > -lwxpdfdoc > -L dir-wxpdfdoc-lib I already did, but it took no effect. There are still error messages like "undefined reference to [class constructor and functions]". Well, wxPDF works, but only when I copy the libs libwxpdfdoc.so* to the working dir of my project. Also environment variable LD_LIBRARY_PATH = [path to wxPDF lib] took no effect. I set it, because I think these are the standard library paths. -- "Ein Herz für Kinder" - Ihre Spende hilft! Aktion: www.deutschlandsegelt.de Unser Dankeschön: Ihr Name auf dem Segel der 1. deutschen America's Cup-Yacht! |
From: Ulrich T. <Ulr...@gm...> - 2006-12-01 08:00:29
|
Hi Sven, > I ran the make install script, too, but it doesn't seem to work. Do you get any error or warning messages? > How can I tell the compiler, where it has to search for advanced path > for header and libs (of wxPDF)? Just as you do for any library you need in your projects: Add the following options when invoking the compiler -I dir-wxpdfdoc-include -lwxpdfdoc -L dir-wxpdfdoc-lib Replace the placeholders dir-... by the directories where you installed wxPdfDocument on your system. Regards, Ulrich |
From: Sven B. <fam...@gm...> - 2006-12-01 07:05:44
|
Hi. I ran the make install script, too, but it doesn't seem to work. How can I tell the compiler, where it has to search for advanced path for header and libs (of wxPDF)? It seems, that the linker doesn't find the libs, where the classes are implemented in... Best regards, BigFreeze -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer |
From: Ulrich T. <Ulr...@gm...> - 2006-11-30 17:29:19
|
Hi Sven, > I just got wxPDF from sourceforge.net. I assume you mean wxPdfDocument. > I ran the configure and make skript and now I surely want to use the > classes. Do I have to copy all files from wxPDF-include/libs etc. to > these directories, where I installed wxWidgets? Or what do I have to > do? Have you tried "make install"? That should make the include files and library files available system wide. But "make install" is not absolutely necessary. You may also specify the wxPdfDocument include directory as an additional include directory to your compiler and the wxPdfDocument lib directory as an additional link directory to your linker. If you built wxPdfDocument as a shared library, then it must be accessible at runtime. Additionally the files in the font directory in the wxPdfDocument lib directory are needed at runtime. See the documentation of method SetFontPath, where wxPdfDocument searches for the font files. Regards, Ulrich -- E-Mail privat: Ulr...@gm... E-Mail Studium: Ulr...@Fe... World Wide Web: http://www.stud.fernuni-hagen.de/q1471341 |