* [Printing-architecture] [Fwd: PAPI "supported" functions]
@ 2003-01-09 16:38 Norm Jacobs
0 siblings, 0 replies; only message in thread
From: Norm Jacobs @ 2003-01-09 16:38 UTC (permalink / raw)
To: printing-architecture
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: Type: message/rfc822, Size: 8778 bytes --]
From: "Hastings, Tom N" <hastings@cp10.es.xerox.com>
To: Norm Jacobs <Norm.Jacobs@sun.com>
Cc: printing-spool@freestandards.org
Subject: RE: PAPI "supported" functions
Date: Wed, 4 Dec 2002 16:32:55 -0800
Message-ID: <E0BE13326C4EBC45BBC635197DEB7E3FCF0D@x-crt-es-ms1.cp10.es.xerox.com>
Norm,
This thread has been moved to [printing-spool] where it should be.
1. We liked your two functions for the Miscellaneous section.
2. Ira and I found a function in your list that isn't in the PAPI v0.9 spec:
papiServiceSetServiceName Optional API Support
3. We suggest that the papi.h file be included in the same directory as the
spec and the IPP-Object-Attributes.pdf file that is referenced from Section
9.
4. The header file should be referenced from the spec, just like the
IPP-Object-Attributes.pdf file.
5. Having the header file would also make it clear what some of the type
definitions are as well that aren't explained or defined in the spec.
6. Ira and I agree with your optional attributes, even papiJobValidate (even
though it is required in IPP). I'll update our two profiles accordingly.
7. However, in doing the review, we realized that there are a bunch of
functions in the Services section that are a mistake and should be removed.
They are the Set and Get of the individual fields of the Service object:
UserName, Password, Encryption, AuthCB, AppData, and ServiceName. Since all
of them (except AppData) are passed in the constructor, why not delete all
of the Set functions? Then provide a single Get (or Query?) function which
returns all 6 of the fields of the Service object as a structure? We think
that being able to change such fundamental things in the Service object
instance, such as UserName, Password, Authentication, is not sound.
Also having a lot of optional functions is not very useful. Application
writers won't use them, if they are optional, since they won't always be
present.
8. What did you mean by the notation "Printer Support":
papiPrinterListJobs Core Printer Support
Its the only attribute listed with "Printer Support".
Thanks,
Tom
-----Original Message-----
From: Norm Jacobs [mailto:Norm.Jacobs@sun.com]
Sent: Tuesday, December 03, 2002 15:42
To: printing-discuss@freestandards.org
Subject: [printing-meetingnotes] PAPI "supported" functions
In our last conference call, we discussed a desire to be able to
enumerate support for the various PAPI functions from a particular
PAPI implementation. Since we are not breaking down the PAPI further
into constituent components and we are requiring unsupported functions
to return PAPI_OPERATION_NOT_SUPPORTED, It's not sufficient to simply be
able to link with the library to determine support.
Assuming that we add something, the additional calls probably belong in
the
Misc. section of the spec. Anyway, here a couple of possible calls that
we could use to determine if a function is stubbed out or not.
-Norm
papiLibrarySupportedCalls()
Description
The papiLibrarySupportedCalls() function can be called to request a
list
of API functions that are supported in the implementation. Support
for a
function means that the implementation of that function is not a stub
that
simply returns PAPI_OPERATION_NOT_SUPPORTED.
Syntax
extern char **papiLibrarySupportedCalls();
Inputs
none
Outputs
none
Returns
A NULL terminated list of supported function names. This list should
not
be free'd by the caller.
papiLibrarySupportedCall()
Description
The papiLibrarySupportedCall() function can be called to determine if
a
specific API call is supported in the implementation. Support for a
function means that the implementation of that function is not a stub
that simply returns PAPI_OPERATION_NOT_SUPPORTED.
Syntax
extern char papiLibrarySupportedCall(char *name);
Inputs
name The name of the function that is being asked about
Outputs
none
Returns
A return of PAPI_TRUE indicates that the named function is supported
by
the API implementation. A return of PAPI_FALSE indicates that the the
named function is not supported by the API implementation.
Below is a list of functions in the PAPI
papiAttributeListAdd Core API Support
papiAttributeListAddString Core API Support
papiAttributeListAddInteger Core API Support
papiAttributeListAddBoolean Core API Support
papiAttributeListAddRange Core API Support
papiAttributeListAddResolution Core API Support
papiAttributeListAddDatetime Core API Support
papiAttributeListAddCollection Core API Support
papiAttributeListDelete Core API Support
papiAttributeListGet Core API Support
papiAttributeListGetString Core API Support
papiAttributeListGetInteger Core API Support
papiAttributeListGetBoolean Core API Support
papiAttributeListGetRange Core API Support
papiAttributeListGetResolution Core API Support
papiAttributeListGetDatetime Core API Support
papiAttributeListGetCollection Core API Support
papiAttributeListFree Core API Support
papiAttributeListFind Core API Support
papiAttributeListGetNext Core API Support
papiAttributeListFromString Optional API Support
papiAttributeListToString Optional API Support
papiServiceCreate Core API Support
papiServiceDestroy Core API Support
papiServiceSetUserName Optional API Support
papiServiceSetPassword Optional API Support
papiServiceSetEncryption Optional API Support
papiServiceSetAuthCB Optional API Support
papiServiceSetAppData Optional API Support
papiServiceSetServiceName Optional API Support
papiServiceGetUserName Optional API Support
papiServiceGetPassword Optional API Support
papiServiceGetEncryption Optional API Support
papiServiceGetAuthCB Optional API Support
papiServiceGetAppData Optional API Support
papiServiceGetServiceName Optional API Support
papiServiceGetStatusMessage Core API Support
papiPrintersList Core API Support
papiPrinterQuery Core API Support
papiPrinterModify Optional API Support
papiPrinterPause Optional API Support
papiPrinterResume Optional API Support
papiPrinterPurgeJobs Optional API Support
papiPrinterListJobs Core Printer Support
papiPrinterGetAttributeList Core API Support
papiPrinterFree Core API Support
papiJobSubmit Core Job Support
papiJobSubmitByReference Core Job Support
papiJobValidate Optional Job Support
papiJobStreamOpen Core Job Support
papiJobStreamWrite Core Job Support
papiJobStreamClose Core Job Support
papiJobQuery Core Job Support
papiJobModify Optional Job Support
papiJobCancel Core Job Support
papiJobHold Optional Job Support
papiJobRelease Optional Job Support
papiJobRestart Optional Job Support
papiJobGetAttributeList Core Job Support
papiJobGetPrinterName Core Job Support
papiJobGetID Core Job Support
papiJobGetJobTicket Optional Job Support
papiJobFree Core Job Support
papiJobListFree Core Job Support
papiStatusString Core API Support
papiLibrarySupportedCalls Core API Support
papiLibrarySupportedCall Core API Support
_______________________________________________
printing-discuss mailing list
printing-discuss@freestandards.org
http://base.freestandards.org/mailman/listinfo/printing-discuss
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-01-09 16:38 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-09 16:38 [Printing-architecture] [Fwd: PAPI "supported" functions] Norm Jacobs
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.