CAPS Universe documentation  1.0.4
All you need to know to be successful
libcapsprovider.h
Go to the documentation of this file.
1#pragma once
2
3/*
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 *
6 * (c) 2018 Jürgen Borleis <projects@caps-printing.org>
7 *
8 * This library is free software; you can redistribute it and/or modify it under
9 * the terms of the GNU Lesser General Public License 2.1 as published by the Free
10 * Software Foundation.
11 *
12 * This library is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
15 * details.
16 */
17
26#include <signal.h>
27#include <features.h>
28
29#include <libcapsbase.h>
30#include <libcapscmdparser.h>
31#include <libcapstable.h>
32#include <libcapsppd.h>
33
34#include "libcapsppcommon.h"
35
36__BEGIN_DECLS
37
38struct argp;
39
48#define LIBCAPSPROVIDER_MAJOR 1
50#define LIBCAPSPROVIDER_MINOR 1
52#define LIBCAPSPROVIDER_MICRO 1
61void caps_libprovider_version_get(unsigned *major, unsigned *minor, unsigned *micro) __nonnull();
110struct caps_pp_handle;
205int caps_pp_instance_runtime_implant(struct caps_pp_handle *instance, const char *level, const char *section, const char *key, const char *value) __nonnull((1,2,3,4));
228const char *caps_pp_instance_runtime_param_get(struct caps_pp_handle *instance, const char *section, const char *name) __nonnull((1,3));
243void caps_pp_instance_mime_setup(struct caps_pp_handle *instance, const struct caps_supported_mime_list *mimes) __nonnull();
259void caps_pp_instance_runtime_setup(struct caps_pp_handle *instance, const struct caps_ppd_base *cpb) __nonnull();
314void caps_pp_instance_destroy(struct caps_pp_handle *instance) __nonnull();
344void caps_pp_instance_domain_add(struct caps_pp_handle *instance, const char *domain) __nonnull();
449int caps_pp_state_update(struct caps_pp_handle *instance, enum caps_printing_provider_state state, enum caps_printing_provider_reason reason, const char *message) __nonnull((1));
531int caps_pp_job_get(struct caps_pp_handle *instance, struct caps_pp_document_desc **job, volatile sig_atomic_t *terminate) __nonnull((1,2)) __warn_unused_res;
637int caps_pp_job_state_update(struct caps_pp_document_desc *job, enum caps_printing_job_state state, enum caps_printing_job_reason reason, const char *message) __nonnull((1));
641__END_DECLS
static const struct caps_arg_parser parser
Definition: capsinfo.c:139
#define __warn_unused_res
Definition: libcapsbase.h:146
#define __returns_nonnull
Definition: libcapsbase.h:141
#define __nonnull(params)
Definition: libcapsbase.h:84
int64_t caps_identifier
Definition: libcapsbase.h:323
caps_printing_job_state
The processing states a job can be in.
Definition: libcapsppcommon.h:254
caps_printing_job_reason
The more detailed state description a printing job can be in.
Definition: libcapsppcommon.h:268
caps_printing_provider_reason
Definition: libcapsppcommon.h:156
caps_printing_provider_state
Definition: libcapsppcommon.h:138
void caps_libprovider_version_get(unsigned *major, unsigned *minor, unsigned *micro)
Definition: libcapsprovider.c:41
struct caps_ppd_options_table * caps_pp_ppd_options_get(struct caps_pp_handle *instance)
Definition: libcapsprovider.c:1229
int caps_pp_instance_register(struct caps_pp_handle *instance)
Definition: libcapsprovider.c:1053
void caps_pp_instance_domain_add(struct caps_pp_handle *instance, const char *domain)
Definition: libcapsprovider.c:154
int caps_pp_instance_runtime_prepare(struct caps_pp_handle *instance)
Definition: libcapsprovider.c:802
int caps_pp_instance_runtime_implant(struct caps_pp_handle *instance, const char *level, const char *section, const char *key, const char *value)
Definition: libcapsprovider.c:1190
struct caps_pp_handle * caps_pp_instance_create(struct caps_arg_parser *parser)
Definition: libcapsprovider.c:877
const char * caps_pp_instance_runtime_param_get(struct caps_pp_handle *instance, const char *section, const char *name)
Definition: libcapsprovider.c:352
void caps_pp_instance_unregister(struct caps_pp_handle *instance)
Definition: libcapsprovider.c:1143
void caps_pp_instance_destroy(struct caps_pp_handle *instance)
Definition: libcapsprovider.c:1165
void caps_pp_instance_mime_setup(struct caps_pp_handle *instance, const struct caps_supported_mime_list *mimes)
Definition: libcapsprovider.c:1208
void caps_pp_instance_runtime_setup(struct caps_pp_handle *instance, const struct caps_ppd_base *cpb)
Definition: libcapsprovider.c:536
int caps_pp_job_state_update(struct caps_pp_document_desc *job, enum caps_printing_job_state state, enum caps_printing_job_reason reason, const char *message)
Definition: libcapsprovider-job.c:655
const char * caps_pp_job_parameter_get(struct caps_pp_document_desc *job)
Definition: libcapsprovider-job.c:154
void caps_pp_job_done(struct caps_pp_document_desc *job)
Definition: libcapsprovider-job.c:510
void caps_pp_job_progression_report(struct caps_pp_document_desc *job, const struct caps_job_progression *prog)
Definition: libcapsprovider-job.c:575
int caps_pp_job_fh_get(struct caps_pp_document_desc *job)
Definition: libcapsprovider-job.c:171
int caps_pp_job_get(struct caps_pp_handle *instance, struct caps_pp_document_desc **job, volatile sig_atomic_t *terminate)
Definition: libcapsprovider-job.c:342
caps_identifier caps_pp_job_id_get(struct caps_pp_document_desc *job)
Definition: libcapsprovider-job.c:137
int caps_pp_job_check(struct caps_pp_handle *instance, struct caps_pp_document_desc **job)
Definition: libcapsprovider-job.c:427
int caps_pp_state_update(struct caps_pp_handle *instance, enum caps_printing_provider_state state, enum caps_printing_provider_reason reason, const char *message)
Definition: libcapsprovider.c:283
Basic API for everything else of the CAPS universe.
Cascadeable command line argument parser intendend for library based command line processing.
Common definitions used by printing coordinator components (libcapsclient and libcapsprovider)
Data declaration to handle PPD file information.
Manage variable arrays.
Definition: libcapscmdparser.h:348
Information collection for printing progression report.
Definition: libcapsppcommon.h:308
Definition: libcapsprovider-local.h:107
Definition: libcapsprovider-local.h:82
Basic description of common features a printing device/printing driver can provide.
Definition: libcapsppd.h:322
Manage the content of a PPD file.
Definition: libcapsppd-local.h:70
Definition: libcapsppcommon.h:166