Revision: 76571 http://sourceforge.net/p/brlcad/code/76571 Author: starseeker Date: 2020-07-29 15:38:15 +0000 (Wed, 29 Jul 2020) Log Message: ----------- group ged callbacks
Modified Paths: -------------- brlcad/branches/bioh/include/ged/defines.h Modified: brlcad/branches/bioh/include/ged/defines.h =================================================================== --- brlcad/branches/bioh/include/ged/defines.h 2020-07-29 14:43:33 UTC (rev 76570) +++ brlcad/branches/bioh/include/ged/defines.h 2020-07-29 15:38:15 UTC (rev 76571) @@ -78,11 +78,16 @@ #define GED_RESULT_NULL ((void *)0) #define GED_FUNC_PTR_NULL ((ged_func_ptr)0) + + +/* Callback related definitions */ #define GED_REFRESH_CALLBACK_PTR_NULL ((ged_refresh_callback_ptr)0) #define GED_CREATE_VLIST_SOLID_CALLBACK_PTR_NULL ((ged_create_vlist_solid_callback_ptr)0) #define GED_CREATE_VLIST_CALLBACK_PTR_NULL ((ged_create_vlist_callback_ptr)0) #define GED_FREE_VLIST_CALLBACK_PTR_NULL ((ged_free_vlist_callback_ptr)0) +typedef void (*ged_io_handler_callback_t)(void *, int); + /** * Definition of global parallel-processing semaphores. * @@ -172,8 +177,8 @@ }; -typedef void (*ged_io_handler_callback_t)(void *, int); + struct ged_cmd; /* struct details are private - use accessor functions to manipulate */ @@ -205,21 +210,11 @@ struct bview *ged_gvp; struct bu_hash_tbl *ged_selections; /**< @brief object name -> struct rt_object_selections */ - void *ged_refresh_clientdata; /**< @brief client data passed to refresh handler */ - void (*ged_refresh_handler)(void *); /**< @brief function for handling refresh requests */ - void (*ged_output_handler)(struct ged *, char *); /**< @brief function for handling output */ char *ged_output_script; /**< @brief script for use by the outputHandler */ - void (*ged_create_vlist_solid_callback)(struct solid *); /**< @brief function to call after creating a vlist to create display list for solid */ - void (*ged_create_vlist_callback)(struct display_list *); /**< @brief function to call after all vlist created that loops through creating display list for each solid */ - void (*ged_free_vlist_callback)(unsigned int, int); /**< @brief function to call after freeing a vlist */ /* FIXME -- this ugly hack needs to die. the result string should be stored before the call. */ int ged_internal_call; - /* Handler functions for I/O communication with asynchronous subprocess commands */ - int io_mode; - void (*ged_create_io_handler)(void **chan, struct bu_process *p, int fd, int mode, void *data, ged_io_handler_callback_t callback); - void (*ged_delete_io_handler)(void *interp, void *chan, struct bu_process *p, int fd, void *data, ged_io_handler_callback_t callback); /* FOR LIBGED INTERNAL USE */ struct ged_cmd *cmds; @@ -234,6 +229,21 @@ /* Interface to LIBDM */ void *ged_dmp; + + + /* Callbacks */ + void (*ged_refresh_handler)(void *); /**< @brief function for handling refresh requests */ + void *ged_refresh_clientdata; /**< @brief client data passed to refresh handler */ + + void (*ged_output_handler)(struct ged *, char *); /**< @brief function for handling output */ + void (*ged_create_vlist_solid_callback)(struct solid *); /**< @brief function to call after creating a vlist to create display list for solid */ + void (*ged_create_vlist_callback)(struct display_list *); /**< @brief function to call after all vlist created that loops through creating display list for each solid */ + void (*ged_free_vlist_callback)(unsigned int, int); /**< @brief function to call after freeing a vlist */ + + /* Handler functions for I/O communication with asynchronous subprocess commands */ + int io_mode; + void (*ged_create_io_handler)(void **chan, struct bu_process *p, int fd, int mode, void *data, ged_io_handler_callback_t callback); + void (*ged_delete_io_handler)(void *interp, void *chan, struct bu_process *p, int fd, void *data, ged_io_handler_callback_t callback); }; typedef int (*ged_func_ptr)(struct ged *, int, const char *[]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ BRL-CAD Source Commits mailing list brlcad-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-commits