Index: Plug.tmpasm =================================================================== --- Plug.tmpasm (revision 27454) +++ Plug.tmpasm (revision 27455) @@ -1,4 +1,7 @@ put /local/pcb/mod {order} +put /local/pcb/mod/CONF {$(PLUGDIR)/order/order_conf.h} +put /local/pcb/mod/CONFFILE {order.conf} +put /local/pcb/mod/CONFVAR {order_conf_internal} put /local/pcb/mod/OBJS [@ $(PLUGDIR)/order/order.o @] Index: order.c =================================================================== --- order.c (revision 27454) +++ order.c (revision 27455) @@ -34,11 +34,16 @@ #include "hid_dad.h" #include "hid_cfg.h" #include "event.h" +#include "order_conf.h" +#include "../src_plugins/order/conf_internal.c" #include "order.h" static const char *order_cookie = "order plugin"; +conf_order_t conf_order; +#define ORDER_CONF_FN "order.conf" + #define ANCH "@feature_plugins" vtp0_t pcb_order_imps; @@ -107,6 +112,8 @@ { pcb_remove_actions_by_cookie(order_cookie); pcb_event_unbind_allcookie(order_cookie); + pcb_conf_unreg_file(ORDER_CONF_FN, order_conf_internal); + pcb_conf_unreg_fields("plugins/order/"); } #include "dolists.h" @@ -114,6 +121,12 @@ int pplg_init_order(void) { PCB_API_CHK_VER; + + pcb_conf_reg_file(ORDER_CONF_FN, order_conf_internal); +#define conf_reg(field,isarray,type_name,cpath,cname,desc,flags) \ + pcb_conf_reg_field(conf_order, field,isarray,type_name,cpath,cname,desc,flags); +#include "order_conf_fields.h" + PCB_REGISTER_ACTIONS(order_action_list, order_cookie) pcb_event_bind(PCB_EVENT_GUI_INIT, order_menu_init, NULL, order_cookie); return 0; Index: order.conf =================================================================== --- order.conf (nonexistent) +++ order.conf (revision 27455) @@ -0,0 +1,9 @@ +li:pcb-rnd-conf-v1 { + ha:append { + ha:plugins { + ha:order { + cache = {~/.pcb-rnd/order_cache} + } + } + } +} Index: order_conf.h =================================================================== --- order_conf.h (nonexistent) +++ order_conf.h (revision 27455) @@ -0,0 +1,14 @@ +#ifndef PCB_ORDER_CONF_H +#define PCB_ORDER_CONF_H + +#include "conf.h" + +typedef struct { + const struct { + const struct { + CFT_STRING cache; /* path to the cache directory where order related vendor data are saved */ + } order; + } plugins; +} conf_order_t; + +#endif