From: Ben W. <be...@va...> - 2001-02-21 15:28:18
|
> This is a multi-part message in MIME format. > --------------D29E79490FF1A08062AD237F > Content-Type: text/plain; charset=us-ascii > Content-Transfer-Encoding: 7bit > > Ben, > > > lps stood for Lib Print Sys. If we want to change it that is fine with > > me. You are probably right pr_ is probably just a little bit too > > short. What do you think about "lps_" do you think we should expand > > that out? > I have no preferences, 4 chars is probably better as a namespace (but 3 > is kinder on the fingers); whatever it is generally becomes meaningless > to future readers. So lps_ is okay by me (but lps, to me, does mean > "line printer ?????" though). > If its lps_, shouldn't the header file be called lps.h? Actually "lps" stands for "library for the print system" or "libprintsys" for short. I'm open to suggestions. -ben > > Paul > > -------------------- > > Ben Woodard wrote: > > > > > This is a multi-part message in MIME format. > > > --------------CFB5D91E74316178006BD081 > > > Content-Type: text/plain; charset=us-ascii > > > Content-Transfer-Encoding: 7bit > > > > > > Hi, > > > > > > Shouldn't > > > > > > > enum LPS_ErrorType { LPS_ACCESS }; > > > > > > be defined as ;- > > > > > > typedef enum LPS_ErrorType { LPS_ACCESS } LPS_ErrorType; > > > > > > otherwise you need "enum" infront of > > > > fixed. Found this when I tried to compile. > > > > > > > > > LPS_ErrorType lps_pair_set(const LPS_PairType *pairs, > > > > const wchar_t *key, const wchar_t *value); > > > > > > etc. > > > > > > Shouldn't there be a LPS_OKAY ( = 0 (or whatever)) value in the > > > LPS_ErrorType:- > > > > > > > enum LPS_ErrorType { LPS_OKAY = 0, LPS_ACCESS }; > > > > > > > fixed. I needed it during the implementation. > > > > > > > > RE Danek's comments; for my "two pennies", > > > > > > > Brevity is the essence. > > > I prefer the long forms of names (less confusing for future readers). > > > But that's only my preference. ie. > > > typedef enum LPS_ErrorCode { LPS_ACCESS } LPS_ErrorCode; > > > > > > > > > > While I'm at it, how about pr_ as a prefix? > > > As a prefix "pr_" is probably to short as a naming prefix, it > > > could, to easily, clash with someone's name-space > > > > > > > lps stood for Lib Print Sys. If we want to change it that is fine with > > me. You are probably right pr_ is probably just a little bit too > > short. What do you think about "lps_" do you think we should expand > > that out? > > > > > Paul > > > > > > ------------------------------------------ > > > > > > Ben Woodard wrote: > > > > > > > > Here is a new revision of printsys.h > > > > > > > > The changes are: > > > > 1) massive reorg > > > > 2) added ns pointers to lps_get_printer_list and lps_get_printer > > > > > > > > I'd really like to settle this down this week and start merging code. > > > > I have to say, I don't know how to move toward a better consensus. I > > > > guess I sort of see the process as a bit of a negotiation. I put > > > > forward a proposal. Certain parts of it are readily accepted. Other > > > > parts are rejected. Couter proposals are put forth and reasons are > > > > given for the the different design decisions. > > > > > > > > The problem for me is that I feel like I've been operating in a > > > > vacuum. I feel like I've been the only one putting forth proposals. I > > > > don't know what points are settled and what points still need to be > > > > resolved. Once we have boiled it down to just the areas where we > > > > disagree, then we can begin focusing on those areas and really come to > > > > agreement. > > > > > > > > I feel like I've incorporated virtually everything that was in your > > > > pricess.h header file over the last few revisions and so I am > > > > anxiously wondering how close we now are. > > > > > > > > -ben > > > > > > > > /* Copyright (c) 2001 Ben Woodard > > > > * All rights reserved. > > > > * > > > > * This program is free software; you can redistribute it and/or > > > > * modify it under the terms of the GNU Lesser General Public > > > > * Licence as published by the Free Software Foundation; either > > > > * version 2 of the Licence, or (at your option) any later > > > > * version. > > > > * > > > > * This program is distributed in the hope that it will be useful, > > > > * but WITHOUT ANY WARRENTY; without even the implied warrenty of > > > > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > > * GNU General Public Licence in the COPYING file for more > > > > * details. > > > > * > > > > * You should have received a copy of the GNU Library General > > > > * Public License along with the GNU C Library; see the file > > > > * COPYING.LIB. If not, write to the Free Software Foundation, > > > > * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. > > > > */ > > > > > > > > /* This is intended to be the external interface presented to the > > > > client programs who wish to print. */ > > > > #ifndef __PRINTSYS_H__ > > > > #define __PRINTSYS_H__ > > > > > > > > #include <wchar.h> > > > > > > > > #define SOCK_PATHNAME "/dev/printer" > > > > > > > > enum LPS_ErrorType { LPS_ACCESS }; > > > > > > > > int lps_init(void *initdata); > > > > int lps_end (void); > > > > > > > > /***** Pair data structure *****/ > > > > typedef struct { > > > > wchar_t *key; > > > > wchar_t *value; > > > > } LPS_PairType; > > > > > > > > wchar_t *lps_pair_lookup(LPS_PairType *pairs, const wchar_t *key); > > > > LPS_ErrorType lps_pair_set(const LPS_PairType *pairs, > > > > const wchar_t *key, const wchar_t *value); > > > > void lps_free_pairs(LPS_PairType *doomed); > > > > > > > > /***** Printer data structures *****/ > > > > wchar_t **lps_get_printer_list(char *ns); > > > > void lps_free_printer_list(wchar_t **doomed); > > > > > > > > typedef struct { > > > > wchar_t **names; > > > > LPS_PairType *fields; > > > > wchar_t *comments; > > > > } LPS_PrinterType; > > > > > > > > LPS_PrinterType *lps_get_printer (const wchar_t *prname, char *ns); > > > > void lps_free_printer(LPS_PrinterType *doomed); > > > > LPS_PrinterType *lps_create_printer(const wchar_t **prnames, > > > > LPS_PairType *fields, wchar_t *comments); > > > > #define lps_pr_lookup_field( _printer, _key ) \ > > > > lps_pair_lookup( _printer->fields, _key ) > > > > #define lps_pr_name( _printer) _printer->names[0] > > > > > > > > /* apply to backend store */ > > > > LPS_ErrorType lps_commit_printer(LPS_PrinterType *printer); > > > > LPS_ErrorType lps_destroy_printer(LPS_PrinterType *printer); > > > > > > > > /***** Job data structure ****/ > > > > typedef struct { > > > > unsigned int last_docid; > > > > unsinged int seqno; > > > > LPS_PairType *attributes; > > > > } LPS_JobType; > > > > > > > > LPS_JobType lps_create_job(LPS_PairType *attributes); > > > > void lps_free_job(LPS_JobType *doomed); > > > > > > > > /***** Document submission functions *****/ > > > > int lps_get_connection(LPS_PrinterType *printer, > > > > LPS_PairType *attributes,unsigned int *docid, > > > > int errfd,LPS_JobType *job,int last); > > > > unsigned int lps_send_reference(LPS_PrinterType *printer, > > > > LPS_PairType *attributes,int srcfd, > > > > int errfd, LPS_JobType *job,int last); > > > > > > > > LPS_PairType *lps_get_doc_attributes(unsigned int docid); > > > > LPS_ErrorType lps_set_doc_attributes(unsigned int docid, > > > > LPS_PairType *attribs); > > > > > > > > #endif /* __PRINTSYS_H__ */ > > > --------------CFB5D91E74316178006BD081 > > > Content-Type: text/x-vcard; charset=us-ascii; > > > name="paul.cunningham.vcf" > > > Content-Transfer-Encoding: 7bit > > > Content-Description: Card for Paul Cunningham > > > Content-Disposition: attachment; > > > filename="paul.cunningham.vcf" > > > > > > begin:vcard > > > n:Cunningham;Paul > > > tel;fax:(+44) (0)1923 696801 > > > tel;work:(+44) (0)1923 696888 > > > x-mozilla-html:FALSE > > > url:http://www.sun.com > > > org:Sun Microsystems > > > adr:;;54 Clarendon Road;Watford;Herts;WD17 1DU;UK > > > version:2.1 > > > email;internet:pau...@uk... > > > title:Software Engineer > > > fn:Paul Cunningham > > > end:vcard > > > > > > --------------CFB5D91E74316178006BD081-- > > > > --------------D29E79490FF1A08062AD237F > Content-Type: text/x-vcard; charset=us-ascii; > name="paul.cunningham.vcf" > Content-Transfer-Encoding: 7bit > Content-Description: Card for Paul Cunningham > Content-Disposition: attachment; > filename="paul.cunningham.vcf" > > begin:vcard > n:Cunningham;Paul > tel;fax:(+44) (0)1923 696801 > tel;work:(+44) (0)1923 696888 > x-mozilla-html:FALSE > url:http://www.sun.com > org:Sun Microsystems > adr:;;54 Clarendon Road;Watford;Herts;WD17 1DU;UK > version:2.1 > email;internet:pau...@uk... > title:Software Engineer > fn:Paul Cunningham > end:vcard > > --------------D29E79490FF1A08062AD237F-- > |