Revision: 75501
          http://sourceforge.net/p/brlcad/code/75501
Author:   starseeker
Date:     2020-04-21 18:46:46 +0000 (Tue, 21 Apr 2020)
Log Message:
-----------
Try out dm_open using the plugins

Modified Paths:
--------------
    brlcad/branches/dm-fb-merge/include/dm.h
    brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c
    brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp
    brlcad/branches/dm-fb-merge/src/libdm/tests/dm_test.c

Modified: brlcad/branches/dm-fb-merge/include/dm.h
===================================================================
--- brlcad/branches/dm-fb-merge/include/dm.h    2020-04-21 18:32:49 UTC (rev 
75500)
+++ brlcad/branches/dm-fb-merge/include/dm.h    2020-04-21 18:46:46 UTC (rev 
75501)
@@ -182,7 +182,6 @@
 /* Test plugin functions */
 DM_EXPORT extern void dm_list_backends(const char *separator);
 DM_EXPORT extern int dm_valid_type(const char *name, const char *dpy_string);
-DM_EXPORT struct dm * dm_popen(void *interp, const char *type, int argc, const 
char *argv[]);
 DM_EXPORT const char * dm_recommend_type(const char *dpy_string);
 DM_EXPORT const char * dm_init_msgs();
 

Modified: brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c  2020-04-21 18:32:49 UTC 
(rev 75500)
+++ brlcad/branches/dm-fb-merge/src/libdm/dm-generic.c  2020-04-21 18:46:46 UTC 
(rev 75501)
@@ -38,57 +38,6 @@
 #include "./include/private.h"
 #include "./null/dm-Null.h"
 
-/* TODO - in a plugin system this function will be provided for all acive
- * backends via bu_dlsym and loaded into a lookup system mapped to the dm_name
- * string provided with the plugin. */
-struct dm *
-dm_open(void *interp, const char *type, int argc, const char *argv[])
-{
-    if (BU_STR_EQUIV(type, "null")) {
-       return dm_null.i->dm_open(interp, argc, argv);
-    }
-    if (BU_STR_EQUIV(type, "txt")) {
-       return dm_txt.i->dm_open(interp, argc, argv);
-    }
-    if (BU_STR_EQUIV(type, "plot")) {
-       return dm_plot.i->dm_open(interp, argc, argv);
-    }
-    if (BU_STR_EQUIV(type, "ps")) {
-       return dm_ps.i->dm_open(interp, argc, argv);
-    }
-#if defined(DM_X)
-    if (BU_STR_EQUIV(type, "X")) {
-       return dm_X.i->dm_open(interp, argc, argv);
-    }
-#endif
-#if defined(DM_TK)
-    if (BU_STR_EQUIV(type, "tk")) {
-       return dm_tk.i->dm_open(interp, argc, argv);
-    }
-#endif
-#if defined(DM_OGL)
-    if (BU_STR_EQUIV(type, "ogl")) {
-       return dm_ogl.i->dm_open(interp, argc, argv);
-    }
-#endif
-#if defined(DM_OSGL)
-    if (BU_STR_EQUIV(type, "osgl")) {
-       return dm_osgl.i->dm_open(interp, argc, argv);
-    }
-#endif
-#if defined(DM_WGL)
-    if (BU_STR_EQUIV(type, "wgl")) {
-       return dm_wgl.i->dm_open(interp, argc, argv);
-    }
-#endif
-#if defined(DM_QT)
-    if (BU_STR_EQUIV(type, "qt")) {
-       return dm_qt.i->dm_open(interp, argc, argv);
-    }
-#endif
-    return DM_NULL;
-}
-
 void *
 dm_interp(struct dm *dmp)
 {

Modified: brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp        2020-04-21 
18:32:49 UTC (rev 75500)
+++ brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp        2020-04-21 
18:46:46 UTC (rev 75501)
@@ -11,18 +11,17 @@
 #include "dm.h"
 #include "./include/private.h"
 
-struct dm *
-dm_popen(void *interp, const char *type, int argc, const char *argv[])
+extern "C" struct dm *
+dm_open(void *interp, const char *type, int argc, const char *argv[])
 {
-    struct dm *dmp = DM_NULL;
 
     std::map<std::string, const struct dm *> *dmb = (std::map<std::string, 
const struct dm *> *)dm_backends;
     std::map<std::string, const struct dm *>::iterator d_it = 
dmb->find(std::string(type));
     if (d_it == dmb->end()) {
-       return dmp;
+       return DM_NULL;
     }
     const struct dm *d = d_it->second;
-    dmp = d->i->dm_open(interp, argc, argv);
+    struct dm *dmp = d->i->dm_open(interp, argc, argv);
     return dmp;
 }
 

Modified: brlcad/branches/dm-fb-merge/src/libdm/tests/dm_test.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/tests/dm_test.c       2020-04-21 
18:32:49 UTC (rev 75500)
+++ brlcad/branches/dm-fb-merge/src/libdm/tests/dm_test.c       2020-04-21 
18:46:46 UTC (rev 75501)
@@ -51,10 +51,10 @@
 
     const char *av0 = "attach";
     struct dm *dmp;
-    dmp = dm_popen(NULL, "nu", 1, &av0);
+    dmp = dm_open(NULL, "nu", 1, &av0);
     bu_log("dmp name: %s\n", dm_get_name(dmp));
     dm_close(dmp);
-    dmp = dm_popen(NULL, "txt", 1, &av0);
+    dmp = dm_open(NULL, "txt", 1, &av0);
     bu_log("dmp name: %s\n", dm_get_name(dmp));
     dm_close(dmp);
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to