LISP ONLY: maintain the emacs lisp plugin generator
[vpp.git] / extras / emacs / plugin.el
index bf6e123..4d7333c 100644 (file)
       (setq start-dir default-directory)
       (makunbound 'plugin-name)
       (makunbound 'PLUGIN-NAME)
+      (makunbound 'plugin-flavor)
       (setq plugin-name (read-string "Plugin name: "))
+      (setq plugin-flavor 
+            (read-string "Dispatch type [dual or qs]: "))
       (setq PLUGIN-NAME (upcase plugin-name))
-      (find-file (concat plugin-name ".am"))
-      (skel-plugin-makefile-am-fragment)
       (setq cmd-args (concat "mkdir -p " plugin-name))
       (shell-command cmd-args)
       (setq cd-args (concat start-dir "/" plugin-name))
       (setq default-directory cd-args)
+      (find-file "CMakeLists.txt")
+      (skel-plugin-cmakelists-text-fragment)
       (find-file (concat plugin-name ".api"))
       (skel-plugin-api)
       (find-file (concat plugin-name "_all_api_h.h"))
       (find-file (concat plugin-name "_msg_enum.h"))
       (skel-plugin-msg-enum)
       (find-file "node.c")
-      (skel-plugin-node)
+      (if (string= plugin-flavor "qs")
+          (skel-plugin-qsnode) (skel-plugin-node))
       (find-file (concat plugin-name "_test.c"))
       (skel-plugin-test)
       (find-file (concat plugin-name "_periodic.c"))
       (skel-plugin-periodic)
+      (find-file "setup.pg")
+      (skel-plugin-setup)
       (cd start-dir))))