[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GSCUPS and GNUstep Printing
From: |
Chad Hardin |
Subject: |
GSCUPS and GNUstep Printing |
Date: |
Thu, 10 Jun 2004 00:16:36 -1000 |
Now that GSCUPS is coming along fine I'm starting to think more of how
it can be put into GNUstep. I'm not sure that a printing backend is
the way to go, it seems overly complicated. Correct me if I'm wrong
but basically the only things we have to worry about are:
Doing things the UNIX way: Parsing PPDs, using lp(r) or cups.
And doing things the Windows way: However the heck that is, I doubt it
has anything to do with reading PPDs, I may be wrong though, wouldn't
be the first time.
So maybe this is more of an #ifdef #elif type thing.... Comments? How
do people feel about making CUPS the sole supported printing system on
UNIX machines? If people really object to that, then there could be
three setups: UNIX like it is now, UNIX with CUPS, and Windows.
More on GSCUPS. While it is true that GNUstep could work fine using
CUPS without actually being aware of CUPS (because it provides the
usual lpr type executables, etc), using the CUPS libraries has two big
advantages. One is that CUPS can maintain and handle the PPDs, it can
actually send the PPDs of the printers it serves to the client via
HTTP. That's one big headache gone. You have to use libcups to get
that.
The other thing is that CUPS has its own PPD parser and it turns the
PPD file into a very fine-grained collection of c language structs. Of
course GSCUPS represents these as objective-c Objects. So, we have a
very good way to handle PPDs, for free. Alternatively, the current PPD
Parser could be used with the PPD file received from CUPS. Obviously
you need libcups for that too.
Right now GSCUPS is actually two things rolled into one. It is a set
of classes for doing simple querying of printers and the actual
printing and a much more complicated set of classes for interacting
with CUPS servers for the administration of the printers (which can
also include printing, it's lower level stuff). I think that if GSCUPS
does get put into GNUstep, it should get split into two frameworks; the
more complicated server administration part should be a separate
framework. If that is the case, then I'm talking about a very small
patch for GNUstep itself.
By writing GSCUPS I've become pretty up to speed with CUPS, so I could
probably add CUPS support for GNUSTEP using libcups directly, no need
for an objective-c wrapper (If that would bother you all)
Comments?
Chad
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- GSCUPS and GNUstep Printing,
Chad Hardin <=