Privatizing 'linc' ...
Michael Meeks <[email protected]> 23 May 2003 09:48:14 +0100
| Newsgroups | gmane.comp.gnome.components,gmane.comp.gnome.orbit.general,gmane.comp.gnome.desktop |
|---|---|
| Organization | Ximian. |
| Message-ID | <[email protected]> |
Hi there, So - as I'm working on completing ORBit2's threading support; I keep wondering why linc was made a public API when it was so half cocked. I'd really rather like to privatise linc inside ORBit2; it seems linc is mentioned (outside of ORBit2 / libbonobo ) in these at-spi and gnopernicus. It seems the single at-spi use in my test can be trivially replaced with a CORBA_ORB_perform_work - which is what it should have been to start with. The gnopernicus code uses the linc_protocol stuff; although it could use the (strangely exposed) LINCProtocolInfo method pointers to do this, it instead hooks internal symbols out of 'linc' to achieve it's nefarious ends ;-) I _believe_ that the new getaddrinfo support in linc should relegate the problems that this was introduced to solve only to the really truly broken Solaris versions whereby setting a global variable is/was the only way to achieve sane gethostbyname behavior. So ... What do people think ? is this doable ? - it would bring really major benefits for linc / ORBit2 - and failing moving it inside - it'd _perhaps_ be best to cast 'linc' adrift as a library, do a sed on linc and import it into ORBit2 anyway ... so ? Thoughts, tears, flamage ? - also privatisation wrests control from vast, inefficient government stymied, centrally run ... Regards, Michael. [ a grep for linc on my machine ]: ./gconf/gconf/gconfd.c:471:/* FIXME this is just paranoia now since we use linc_get_tmpdir() */ ./at-spi/test/test-simple.c:793: linc_main_iteration (FALSE); ./gnopernicus/braille/test/remote.c:61:linc_protocol_get_sockaddr (const LINCProtocolInfo *proto, ./gnopernicus/braille/test/remote.c:501: proto = linc_protocol_find (IP_TYPE); ./gnopernicus/braille/test/remote.c:508: restricted_host = (struct sockaddrin *) linc_protocol_get_sockaddr ( ./gnopernicus/brlmon/tester.c:37:linc_protocol_get_sockaddr (const LINCProtocolInfo *proto, ./gnopernicus/brlmon/tester.c:157: proto = linc_protocol_find (IP_TYPE); ./gnopernicus/brlmon/tester.c:162: remoteServAddr = (struct sockaddrin *) linc_protocol_get_sockaddr ( ./gnopernicus/srcore/srbrl.c:66:linc_protocol_get_sockaddr (const LINCProtocolInfo *proto, ./gnopernicus/srcore/srbrl.c:72:linc_protocol_destroy_addr (const LINCProtocolInfo *proto, ./gnopernicus/srcore/srbrl.c:300: remote_proto = linc_protocol_find (IP_TYPE); ./gnopernicus/srcore/srbrl.c:309: remote_braille_addr = (struct sockaddrin *) linc_protocol_get_sockaddr ( ./gnopernicus/srcore/srbrl.c:399: brlmon_proto = linc_protocol_find (IP_TYPE); ./gnopernicus/srcore/srbrl.c:408: remote_brlmon_addr = (struct sockaddrin *) linc_protocol_get_sockaddr ( ./gnopernicus/srcore/srbrl.c:471: linc_protocol_destroy_addr (brlmon_proto, ./gnopernicus/srcore/srbrl.c:475: linc_protocol_destroy_addr (brlmon_proto, ./gnopernicus/srcore/srbrl.c:489: linc_protocol_destroy_addr (remote_proto, ./gnopernicus/srcore/srbrl.c:493: linc_protocol_destroy_addr (remote_proto, -- [email protected] <><, Pseudo Engineer, itinerant idiot