Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 18303) +++ trunk/scconfig/Rev.h (revision 18304) @@ -1 +1 @@ -static const int myrev = 18273; +static const int myrev = 18304; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 18303) +++ trunk/scconfig/Rev.tab (revision 18304) @@ -1,4 +1,4 @@ -18273 configure introducing the cam system: rename hid_helper to hid_cam +18304 configure introducing the cam system: rename hid_helper to hid_cam + cam plugin 18166 configure swithc over to scconfig's cquote 17960 configure script plugin 17691 configure action code cleanup Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 18303) +++ trunk/src/Makefile.dep (revision 18304) @@ -164,7 +164,10 @@ layer_grp.h hid_attrib.h hid_init.h plugins.h ../src_3rd/puplug/puplug.h \ ../src_3rd/puplug/libs.h ../src_3rd/puplug/os_dep.h \ ../src_3rd/puplug/config.h ../src_3rd/puplug/libs.h \ - ../src_3rd/puplug/error.h + ../src_3rd/puplug/error.h ../src_plugins/cam/cam_conf.h conf.h \ + pcb-printf.h ../src_3rd/liblihata/lihata.h ../src_3rd/genvector/vtp0.h \ + list_conf.h conf.h ../src_plugins/cam/conf_internal.c \ + ../src_plugins/cam/cam_conf_fields.h ../src_plugins/diag/diag.o: ../src_plugins/diag/diag.c ../config.h \ board.h global_typedefs.h pcb_bool.h unit.h vtroutestyle.h attrib.h \ ../src_3rd/genvector/genvector_impl.h \ Index: trunk/src_plugins/cam/Plug.tmpasm =================================================================== --- trunk/src_plugins/cam/Plug.tmpasm (revision 18303) +++ trunk/src_plugins/cam/Plug.tmpasm (revision 18304) @@ -1,5 +1,6 @@ put /local/pcb/mod {cam} put /local/pcb/mod/OBJS [@ $(PLUGDIR)/cam/cam.o @] +put /local/pcb/mod/CONF {$(PLUGDIR)/cam/cam_conf.h} switch /local/pcb/cam/controls case {buildin} include /local/pcb/tmpasm/buildin; end; @@ -6,3 +7,17 @@ case {plugin} include /local/pcb/tmpasm/plugin; end; case {disable} include /local/pcb/tmpasm/disable; end; end + +switch /local/pcb/cam/controls + case {disable} end; + default + append /local/pcb/DEPDEPS { ../src_plugins/cam/conf_internal.c } + append /local/pcb/DISTCLEANFILES { ../src_plugins/cam/conf_internal.c } + append /local/pcb/rules/install_ {\n $(SCCBOX) $(HOW) "../src_plugins/cam/cam.conf" "$(DATADIR)/cam.conf"} + + append /local/pcb/RULES [@ +../src_plugins/cam/conf_internal.c: ../src_plugins/cam/cam.conf $(CQUOTE) + $(CQUOTE) -n cam_conf_internal < ../src_plugins/cam/cam.conf > ../src_plugins/cam/conf_internal.c +@] + end +end Index: trunk/src_plugins/cam/cam.c =================================================================== --- trunk/src_plugins/cam/cam.c (revision 18303) +++ trunk/src_plugins/cam/cam.c (revision 18304) @@ -34,20 +34,31 @@ #include "hid_attrib.h" #include "hid_init.h" #include "plugins.h" +#include "cam_conf.h" +#include "../src_plugins/cam/conf_internal.c" + static const char *cam_cookie = "cam exporter"; +conf_cam_t conf_cam; +#define CAM_CONF_FN "cam.conf" + int pplg_check_ver_cam(int ver_needed) { return 0; } void pplg_uninit_cam(void) { - pcb_hid_remove_attributes_by_cookie(cam_cookie); + conf_unreg_file(CAM_CONF_FN, cam_conf_internal); + conf_unreg_fields("plugins/cam/"); } int pplg_init_cam(void) { PCB_API_CHK_VER; + conf_reg_file(CAM_CONF_FN, cam_conf_internal); +#define conf_reg(field,isarray,type_name,cpath,cname,desc,flags) \ + conf_reg_field(conf_cam, field,isarray,type_name,cpath,cname,desc,flags); +#include "cam_conf_fields.h" return 0; } Index: trunk/src_plugins/cam/cam.conf =================================================================== --- trunk/src_plugins/cam/cam.conf (nonexistent) +++ trunk/src_plugins/cam/cam.conf (revision 18304) @@ -0,0 +1,14 @@ +li:pcb-rnd-conf-v1 { + ha:overwrite { + ha:plugins { + ha:cam { + li:jobs { + doc_png { + png;top.png=top-copper,top-silk;dpi=600 + png;bottom.png=bottom-copper,bottom-silk;dpi=600 + } + } + } + } + } +} \ No newline at end of file Index: trunk/src_plugins/cam/cam_conf.h =================================================================== --- trunk/src_plugins/cam/cam_conf.h (nonexistent) +++ trunk/src_plugins/cam/cam_conf.h (revision 18304) @@ -0,0 +1,14 @@ +#ifndef PCB_VENDOR_CONF_H +#define PCB_VENDOR_CONF_H + +#include "conf.h" + +typedef struct { + const struct plugins { + const struct cam { + CFT_LIST jobs; /* named cam scripts */ + } cam; + } plugins; +} conf_cam_t; + +#endif