+#include "exman.h"
+#include "exhibit.h"
+#include "blob_exhibit.h"
+
+static Exhibit *create_exhibit(const char *type);
+
+ExhibitManager::ExhibitManager()
+{
+}
+
+ExhibitManager::~ExhibitManager()
+{
+ int num = (int)items.size();
+ for(int i=0; i<num; i++) {
+ delete items[i];
+ }
+ items.clear();
+}
+
+bool ExhibitManager::load(const MetaScene *mscn, const char *fname)
+{
+ struct ts_node *root = ts_load(fname);
+ if(!root || strcmp(root->name, "exhibits") != 0) {
+ ts_free_tree(root);
+ error_log("failed to load exhibits\n");
+ return false;
+ }
+
+ ts_free_tree(root);
+ return true;
+}
+
+
+static Exhibit *create_exhibit(const char *type)
+{
+ if(strcmp(type, "static") == 0) {
+ return new Exhibit;
+ } else if(strcmp(type, "blobs") == 0) {
+ return new BlobExhibit;
+ }
+ return 0;
+}