![]() |
CAPS Universe documentation
1.0.4
All you need to know to be successful
|
Talk to the printing coordinator from the printing provider/printer driver side. More...
Features | |
| Version info | |
| Info for user's code to do the right thing. | |
| Printing service provisioning | |
| Register a printing service and define its capabilities. | |
| Printing Provider States | |
| Report printing provider's state. | |
| Handle print jobs | |
| Retrieve job to print or report a printing is done. | |
Printer driver/provider developers
This library and its API is at most a thin layer to enable printing providers to communicate with the CAPS printing coordinator. You shouldn't do this by by your own, even if it currently uses DBUS via libdbus as the communication channel (which may change in the future).
Don't try to be smart, use pkg-config instead to retrieve the information you need to compile and link your application against libcapsprovider.
To compile your code, just include its header:
And ask pkg-config what include path is required to find this header file.
pkg-config --cflags libcapsprovider
To link your application against libcapsprovider ask pkg-config as well. Use the output of this command to parametrize the linker:
pkg-config --libs libcapsprovider
--as-needed is in use (which is the default in the CAPS universe).Don't invent your own Makefile to build your package. Use the autotools or something similar to manage your buildsystem.
For the autotools just use the PKG_CHECK_MODULES m4 macro in your configure.ac to get the information you need to use libcapsprovider:
PKG_CHECK_MODULES([LIBCAPSPROVIDER], [libcapsprovider >= 1])
And then just refer this information in your Makefile.am:
my_application_CXXFLAGS = \
@LIBCAPSPROVIDER_CFLAGS@
my_application_CFLAGS = \
@LIBCAPSPROVIDER_CFLAGS@
my_application_LDADD = \
@LIBCAPSPROVIDER_LIBS@
my_application_CXXLAGS for C++ language and my_application_CFLAGS for C language