Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 27454) +++ trunk/scconfig/Rev.h (revision 27455) @@ -1 +1 @@ -static const int myrev = 27403; +static const int myrev = 27454; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 27454) +++ trunk/scconfig/Rev.tab (revision 27455) @@ -1,3 +1,4 @@ +27454 configure order plugin config file 27403 configure tEDAx: new source file for etest save 27401 configure remove cairo from optional dependencies 27296 configure gtk: detect GDK_KEY_ prefix for supporting ~10 years old systems Index: trunk/src_plugins/order/Plug.tmpasm =================================================================== --- trunk/src_plugins/order/Plug.tmpasm (revision 27454) +++ trunk/src_plugins/order/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: trunk/src_plugins/order/order.c =================================================================== --- trunk/src_plugins/order/order.c (revision 27454) +++ trunk/src_plugins/order/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: trunk/src_plugins/order/order.conf =================================================================== --- trunk/src_plugins/order/order.conf (nonexistent) +++ trunk/src_plugins/order/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: trunk/src_plugins/order/order_conf.h =================================================================== --- trunk/src_plugins/order/order_conf.h (nonexistent) +++ trunk/src_plugins/order/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 Index: trunk/src_plugins/order_pcbway/Plug.tmpasm =================================================================== --- trunk/src_plugins/order_pcbway/Plug.tmpasm (revision 27454) +++ trunk/src_plugins/order_pcbway/Plug.tmpasm (revision 27455) @@ -1,4 +1,7 @@ put /local/pcb/mod {order_pcbway} +put /local/pcb/mod/CONF {$(PLUGDIR)/order_pcbway/order_pcbway_conf.h} +put /local/pcb/mod/CONFFILE {order_pcbway.conf} +put /local/pcb/mod/CONFVAR {order_pcbway_conf_internal} put /local/pcb/mod/OBJS [@ $(PLUGDIR)/order_pcbway/pcbway.o @] Index: trunk/src_plugins/order_pcbway/order_pcbway.conf =================================================================== --- trunk/src_plugins/order_pcbway/order_pcbway.conf (nonexistent) +++ trunk/src_plugins/order_pcbway/order_pcbway.conf (revision 27455) @@ -0,0 +1,9 @@ +li:pcb-rnd-conf-v1 { + ha:append { + ha:plugins { + ha:order_pcbway { + api_key={} + } + } + } +} Index: trunk/src_plugins/order_pcbway/order_pcbway_conf.h =================================================================== --- trunk/src_plugins/order_pcbway/order_pcbway_conf.h (nonexistent) +++ trunk/src_plugins/order_pcbway/order_pcbway_conf.h (revision 27455) @@ -0,0 +1,14 @@ +#ifndef PCB_ORDER_PCBWAY_CONF_H +#define PCB_ORDER_PCBWAY_CONF_H + +#include "conf.h" + +typedef struct { + const struct { + const struct { + CFT_STRING api_key; + } order_pcbway; + } plugins; +} conf_order_pcbway_t; + +#endif Index: trunk/src_plugins/order_pcbway/pcbway.c =================================================================== --- trunk/src_plugins/order_pcbway/pcbway.c (revision 27454) +++ trunk/src_plugins/order_pcbway/pcbway.c (revision 27455) @@ -31,7 +31,12 @@ #include "pcb-printf.h" #include "plugins.h" #include "../src_plugins/order/order.h" +#include "order_pcbway_conf.h" +#include "../src_plugins/order_pcbway/conf_internal.c" +conf_order_pcbway_t conf_order_pcbway; +#define ORDER_PCBWAY_CONF_FN "order_pcbway.conf" + static void pcbway_populate_dad(pcb_order_imp_t *imp, order_ctx_t *octx) { PCB_DAD_LABEL(octx->dlg, "pcbway!"); @@ -48,11 +53,19 @@ void pplg_uninit_order_pcbway(void) { + pcb_conf_unreg_file(ORDER_PCBWAY_CONF_FN, order_pcbway_conf_internal); + pcb_conf_unreg_fields("plugins/order_pcbway/"); } int pplg_init_order_pcbway(void) { PCB_API_CHK_VER; + + pcb_conf_reg_file(ORDER_PCBWAY_CONF_FN, order_pcbway_conf_internal); +#define conf_reg(field,isarray,type_name,cpath,cname,desc,flags) \ + pcb_conf_reg_field(conf_order_pcbway, field,isarray,type_name,cpath,cname,desc,flags); +#include "order_pcbway_conf_fields.h" + pcb_order_reg(&pcbway); return 0; }