From: David M. <rop...@il...> - 2003-11-03 22:37:17
|
In message <106...@th...> Dave Lambley <pri...@dl...> wrote: > I'd like to add IPP (Internet Printing Protocol) support to Printers+. Sounds like a great idea :) > I have been looking through the source files, but I'm not sure where > to start. Can anyone point me at the right bits of code to do this? > > I need to have the full size of the print job, so I need to force > "background" support? How should I do this? > > After that, I'd modify the spooler to send the output over the network, > rather than to a device. The way the other network printing types implement this is as a filing system, and the connection window effectively just provides a neater interface to print-to-file. These are (unless anyone knows any different): Net: Econet NFS, LanManFS: Omniclient LanMan98: WSS's LanMan98 JetDirect, LPR: RComp's network printer drivers Hopefully this will remind me to update the web page with some of this information. So for a LanManFS printer for example, the print-to-file is basically set to something like OmniPrint#LanMan;<options>: I think this is probably the best way to implement a new remote printer type because of the flexibility it gives you (access from other versions of Printers, and even other applications), but unfortunately none of those are open source to give you ideas on how to implement a new filing system module. There are some details in the PRM sections 4 and 5, in particular the "Introduction to filing systems", "NetPrint", and "System devices" sections that might help. There's also LPRSpool from http://www.jaffasoft.co.uk/download/files/lprspool.zip which you use by setting Printers to print to a file in Pipe: which LPRSpool can then read from and send on to the remote printer. This does have source, but it's WimpWorks source which I don't know much about. You could implement IPP support inside Printers+ but I would think you probably wouldn't want to do large amounts of network coding in BASIC anyway (at least I don't think I would). > I would also need to extend the "Connection" window, and have somewhere > to store the IPP configuration. This shouldn't be a problem, and I can certainly point you towards the right bits of the source code if you do implement IPP as a filing system module. The code to handle the other network printing types can be replicated fairly easily, and stores the configurations. > Could I also modify the "queue" window to make it query the IPP server > to give information on jobs after they have been uploading? That sounds a bit more complicated but I guess it's possible. Again I'd suggest at least initially this might work better as a separate application. That's just my opinion of how I'd implement it anyway, but I'm certainly open to discussion on it. D -- David Marston rop...@il... Printers+ for RISC OS: http://roprinters.sourceforge.net/ |