1pappl-resource(3) pappl resource functions pappl-resource(3)
2
3
4
6 pappl-resource - pappl resource functions
7
9 Printer Application Framework (libpappl, "pkg-config --cflags --libs
10 pappl")
11
13 #include <pappl/pappl.h>
14
15 typedef struct _pappl_printer_s pappl_printer_t;
16
17 typedef struct _pappl_system_s pappl_system_t;
18
19 void
20 papplPrinterAddLink(pappl_printer_t *printer, const char *label, const
21 char *path_or_url, bool secure);
22
23 void
24 papplSystemAddLink(pappl_system_t *system, const char *label, const
25 char *path_or_url, bool secure);
26
27 void
28 papplSystemAddResourceCallback(pappl_system_t *system, const char
29 *path, const char *format, pappl_resource_cb_t cb, void *data);
30
31 void
32 papplSystemAddResourceData(pappl_system_t *system, const char *path,
33 const char *format, const void *data, size_t datalen);
34
35 void
36 papplSystemAddResourceDirectory(pappl_system_t *system, const char
37 *basepath, const char *directory);
38
39 void
40 papplSystemAddResourceFile(pappl_system_t *system, const char *path,
41 const char *format, const char *filename);
42
43 void
44 papplSystemAddResourceString(pappl_system_t *system, const char *path,
45 const char *format, const char *data);
46
47 void
48 papplSystemAddStringsData(pappl_system_t *system, const char *path,
49 const char *language, const char *data);
50
51 void
52 papplSystemAddStringsFile(pappl_system_t *system, const char *path,
53 const char *language, const char *filename);
54
55 void
56 papplSystemRemoveResource(pappl_system_t *system, const char *path);
57
58
60 The PAPPL resource functions manage resource files, callbacks, and
61 links in the printer application.
62
64 papplPrinterAddLink
65 Add a printer link to the navigation header.
66
67 void papplPrinterAddLink (
68 pappl_printer_t *printer,
69 const char *label,
70 const char *path_or_url,
71 pappl_loptions_t options
72 );
73
74 This function adds a navigation link for a printer. The "path_or_url"
75 argument specifies a absolute path such as "/ipp/print/example/page" or
76 an absolute URL such as "https://www.example.com/". The "options" ar‐
77 gument specifies where the link is shown and whether the link should
78 redirect an absolute path to the secure ("https://.../path") web inter‐
79 face.
80
81 papplPrinterRemoveLink
82 Remove a printer link from the navigation header.
83
84 void papplPrinterRemoveLink (
85 pappl_printer_t *printer,
86 const char *label
87 );
88
89 This function removes the named link for the printer.
90
91 papplSystemAddLink
92 Add a link to the navigation header.
93
94 void papplSystemAddLink (
95 pappl_system_t *system,
96 const char *label,
97 const char *path_or_url,
98 pappl_loptions_t options
99 );
100
101 This function adds a navigation link for the system. The "path_or_url"
102 argument specifies a absolute path such as "/page" or an absolute URL
103 such as "https://www.example.com/". The "options" argument specifies
104 where the link is shown and whether the link should redirect an abso‐
105 lute path to the secure ("https://.../path") web interface.
106
107 papplSystemAddResourceCallback
108 Add a dynamic resource that uses a callback function.
109
110 void papplSystemAddResourceCallback (
111 pappl_system_t *system,
112 const char *path,
113 const char *format,
114 pappl_resource_cb_t cb,
115 void *data
116 );
117
118 This function adds a dynamic resource at the specified path. When a
119 client GET or POST request is received at the specified path, the "cb"
120 function will be called with the client pointer and "data" pointer to
121 respond to it.
122
123 Resource callbacks are most often used to implement custom web pages.
124
125 5 Note: Any custom web page that is added prior to calling the
126
127 5 papplSystemRun function will replace the corresponding standard
128 web
129
130 5 page at the same path.
131
132 papplSystemAddResourceData
133 Add a static data resource.
134
135 void papplSystemAddResourceData (
136 pappl_system_t *system,
137 const char *path,
138 const char *format,
139 const void *data,
140 size_t datalen
141 );
142
143 This function adds a static resource at the specified path. The pro‐
144 vided data is not copied to the resource and must remain stable for as
145 long as the resource is added to the system.
146
147 5 Note: Any resource that is added prior to calling the papplSys‐
148 temRun
149
150 5 function will replace the corresponding standard resource at the
151 same path.
152
153 papplSystemAddResourceDirectory
154 Add external files in a directory as resources.
155
156 void papplSystemAddResourceDirectory (
157 pappl_system_t *system,
158 const char *basepath,
159 const char *directory
160 );
161
162 This function adds static resources from the specified directory under
163 the specified path. The directory is scanned and only those files
164 present at the time of the call are available, and those files must re‐
165 main stable for as long as the resources are added to the system..
166
167 5 Note: Any resource that is added prior to calling the papplSys‐
168 temRun
169
170 5 function will replace the corresponding standard resource at the
171 same path.
172
173 papplSystemAddResourceFile
174 Add an external file as a resource.
175
176 void papplSystemAddResourceFile (
177 pappl_system_t *system,
178 const char *path,
179 const char *format,
180 const char *filename
181 );
182
183 This function adds a static resource at the specified path. The pro‐
184 vided file is not copied to the resource and must remain stable for as
185 long as the resource is added to the system.
186
187 5 Note: Any resource that is added prior to calling the papplSys‐
188 temRun
189
190 5 function will replace the corresponding standard resource at the
191 same path.
192
193 papplSystemAddResourceString
194 Add a static data resource as a C string.
195
196 void papplSystemAddResourceString (
197 pappl_system_t *system,
198 const char *path,
199 const char *format,
200 const char *data
201 );
202
203 This function adds a static resource at the specified path. The pro‐
204 vided data is not copied to the resource and must remain stable for as
205 long as the resource is added to the system.
206
207 5 Note: Any resource that is added prior to calling the papplSys‐
208 temRun
209
210 5 function will replace the corresponding standard resource at the
211 same path.
212
213 papplSystemAddStringsData
214 Add a static localization file resource.
215
216 void papplSystemAddStringsData (
217 pappl_system_t *system,
218 const char *path,
219 const char *language,
220 const char *data
221 );
222
223 This function adds a static localization resource at the specified
224 path. Localization files use the NeXTStep strings ("text/strings")
225 format defined in PWG Candidate Standard 5100.13-2013. The provided
226 data is not copied to the resource and must remain stable for as long
227 as the resource is added to the system.
228
229 5 Note: Any resource that is added prior to calling the papplSys‐
230 temRun
231
232 5 function will replace the corresponding standard resource at the
233 same path.
234
235 papplSystemAddStringsFile
236 Add an external localization file resource.
237
238 void papplSystemAddStringsFile (
239 pappl_system_t *system,
240 const char *path,
241 const char *language,
242 const char *filename
243 );
244
245 This function adds a static localization resource at the specified
246 path. Localization files use the NeXTStep strings ("text/strings")
247 format defined in PWG Candidate Standard 5100.13-2013. The provided
248 file is not copied to the resource and must remain stable for as long
249 as the resource is added to the system.
250
251 5 Note: Any resource that is added prior to calling the papplSys‐
252 temRun
253
254 5 function will replace the corresponding standard resource at the
255 same path.
256
257 papplSystemRemoveLink
258 Remove a link from the navigation header.
259
260 void papplSystemRemoveLink (
261 pappl_system_t *system,
262 const char *label
263 );
264
265 This function removes the named link for the system.
266
267 papplSystemRemoveResource
268 Remove a resource at the specified path.
269
270 void papplSystemRemoveResource (
271 pappl_system_t *system,
272 const char *path
273 );
274
275 This function removes a resource at the specified path.
276
278 pappl(1), pappl-client(3), pappl-device(3), pappl-job(3), pappl-log(3),
279 pappl-mainline(3), pappl-makeresheader(1), pappl-printer(3), pappl-re‐
280 source(3), pappl-system(3), https://www.msweet.org/pappl
281
283 Copyright © 2019-2022 by Michael R Sweet.
284
285 PAPPL is licensed under the Apache License Version 2.0 with an (op‐
286 tional) exception to allow linking against GPL2/LGPL2 software (like
287 older versions of CUPS), so it can be used freely in any project you'd
288 like. See the files "LICENSE" and "NOTICE" in the source distribution
289 for more information.
290
291
292
2932022-05-10 pappl resource functions pappl-resource(3)