| 
									
										
										
										
											2023-09-25 15:35:21 -07:00
										 |  |  | /* PIKA - Photo and Image Kooker Application
 | 
					
						
							|  |  |  |  * a rebranding of The GNU Image Manipulation Program (created with heckimp) | 
					
						
							|  |  |  |  * A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Original copyright, applying to most contents (license remains unchanged):  | 
					
						
							|  |  |  |  * Copyright (C) 1995 Spencer Kimball and Peter Mattis | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * pikabatchprocedure.h | 
					
						
							|  |  |  |  * Copyright (C) 2022 Jehan | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This library is free software: you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU Lesser General Public | 
					
						
							|  |  |  |  * License as published by the Free Software Foundation; either | 
					
						
							|  |  |  |  * version 3 of the License, or (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This library is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
					
						
							|  |  |  |  * Lesser General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU Lesser General Public | 
					
						
							|  |  |  |  * License along with this library.  If not, see | 
					
						
							|  |  |  |  * <https://www.gnu.org/licenses/>.
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __PIKA_BATCH_PROCEDURE_H__
 | 
					
						
							|  |  |  | #define __PIKA_BATCH_PROCEDURE_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <libpika/pikaprocedure.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G_BEGIN_DECLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* For information look into the C source or the html documentation */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * PikaBatchFunc: | 
					
						
							|  |  |  |  * @procedure:   the #PikaProcedure that runs. | 
					
						
							|  |  |  |  * @run_mode:    the #PikaRunMode. | 
					
						
							| 
									
										
										
										
											2023-10-30 15:55:30 -07:00
										 |  |  |  * @config:      the @procedure's remaining arguments. | 
					
						
							| 
									
										
										
										
											2023-09-25 15:35:21 -07:00
										 |  |  |  * @run_data: (closure): the run_data given in pika_batch_procedure_new(). | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * The batch function is run during the lifetime of the PIKA session, | 
					
						
							|  |  |  |  * each time a plug-in batch procedure is called. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Returns: (transfer full): the @procedure's return values. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Since: 3.0 | 
					
						
							|  |  |  |  **/ | 
					
						
							|  |  |  | typedef PikaValueArray * (* PikaBatchFunc) (PikaProcedure        *procedure, | 
					
						
							|  |  |  |                                             PikaRunMode           run_mode, | 
					
						
							|  |  |  |                                             const gchar          *command, | 
					
						
							| 
									
										
										
										
											2023-10-30 15:55:30 -07:00
										 |  |  |                                             PikaProcedureConfig  *config, | 
					
						
							| 
									
										
										
										
											2023-09-25 15:35:21 -07:00
										 |  |  |                                             gpointer              run_data); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define PIKA_TYPE_BATCH_PROCEDURE            (pika_batch_procedure_get_type ())
 | 
					
						
							|  |  |  | #define PIKA_BATCH_PROCEDURE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIKA_TYPE_BATCH_PROCEDURE, PikaBatchProcedure))
 | 
					
						
							|  |  |  | #define PIKA_BATCH_PROCEDURE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PIKA_TYPE_BATCH_PROCEDURE, PikaBatchProcedureClass))
 | 
					
						
							|  |  |  | #define PIKA_IS_BATCH_PROCEDURE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIKA_TYPE_BATCH_PROCEDURE))
 | 
					
						
							|  |  |  | #define PIKA_IS_BATCH_PROCEDURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIKA_TYPE_BATCH_PROCEDURE))
 | 
					
						
							|  |  |  | #define PIKA_BATCH_PROCEDURE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), PIKA_TYPE_BATCH_PROCEDURE, PikaBatchProcedureClass))
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef struct _PikaBatchProcedure        PikaBatchProcedure; | 
					
						
							|  |  |  | typedef struct _PikaBatchProcedureClass   PikaBatchProcedureClass; | 
					
						
							|  |  |  | typedef struct _PikaBatchProcedurePrivate PikaBatchProcedurePrivate; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _PikaBatchProcedure | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   PikaProcedure              parent_instance; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   PikaBatchProcedurePrivate *priv; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct _PikaBatchProcedureClass | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   PikaProcedureClass parent_class; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | GType           pika_batch_procedure_get_type             (void) G_GNUC_CONST; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PikaProcedure * pika_batch_procedure_new                  (PikaPlugIn      *plug_in, | 
					
						
							|  |  |  |                                                            const gchar     *name, | 
					
						
							|  |  |  |                                                            const gchar     *interpreter_name, | 
					
						
							|  |  |  |                                                            PikaPDBProcType  proc_type, | 
					
						
							|  |  |  |                                                            PikaBatchFunc    run_func, | 
					
						
							|  |  |  |                                                            gpointer         run_data, | 
					
						
							|  |  |  |                                                            GDestroyNotify   run_data_destroy); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void            pika_batch_procedure_set_interpreter_name (PikaBatchProcedure *procedure, | 
					
						
							|  |  |  |                                                            const gchar        *interpreter_name); | 
					
						
							|  |  |  | const gchar *   pika_batch_procedure_get_interpreter_name (PikaBatchProcedure *procedure); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G_END_DECLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif  /*  __PIKA_BATCH_PROCEDURE_H__  */
 |