Doxyfile cleanup.
[debian/gnuradio] / gnuradio-core / src / lib / runtime / gr_runtime.cc
index 93f78fea8567d0edae7cf3c806e2ddbe9da77921..6b1419e205d5a31b31ccb77f272eb8a07195fad6 100644 (file)
@@ -1,12 +1,12 @@
 /* -*- c++ -*- */
 /*
- * Copyright 2006 Free Software Foundation, Inc.
+ * Copyright 2006,2007 Free Software Foundation, Inc.
  * 
  * This file is part of GNU Radio
  * 
  * GNU Radio is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
+ * the Free Software Foundation; either version 3, or (at your option)
  * any later version.
  * 
  * GNU Radio is distributed in the hope that it will be useful,
 
 #include <gr_runtime.h>
 #include <gr_runtime_impl.h>
-#include <gr_local_sighandler.h>
 #include <iostream>
 
-static gr_runtime *s_runtime = 0;
-
 gr_runtime_sptr 
 gr_make_runtime(gr_hier_block2_sptr top_block)
 {
-    return gr_runtime_sptr(new gr_runtime(top_block));
+  return gr_runtime_sptr(new gr_runtime(top_block));
 }
 
 gr_runtime::gr_runtime(gr_hier_block2_sptr top_block)
 {
-    d_impl = new gr_runtime_impl(top_block);
-    s_runtime = this;
+  d_impl = new gr_runtime_impl(top_block, this);
 }
   
 gr_runtime::~gr_runtime()
 {
-    s_runtime = 0; // we don't own this
-    delete d_impl;
-}
-
-// HACK: This prevents using more than one gr_runtime instance
-static void 
-runtime_sigint_handler(int signum)
-{
-
-    if (s_runtime)
-        s_runtime->stop();
+  delete d_impl;
 }
 
 void 
 gr_runtime::start()
 {
-    gr_local_sighandler sigint(SIGINT, runtime_sigint_handler);
-
-    d_impl->start();
+  d_impl->start();
 }
 
 void 
 gr_runtime::stop()
 {
-    d_impl->stop();
+  d_impl->stop();
 }
 
 void 
 gr_runtime::wait()
 {
-    gr_local_sighandler sigint(SIGINT, runtime_sigint_handler);
-
-    d_impl->wait();
+  d_impl->wait();
 }
 
 void 
 gr_runtime::run()
 {
-    gr_local_sighandler sigint(SIGINT, runtime_sigint_handler);
+  start();
+  wait();
+}
+
+void
+gr_runtime::restart()
+{
+  d_impl->restart();
+}
+
+void
+gr_runtime::lock()
+{
+  d_impl->lock();
+}
 
-    d_impl->start();
-    d_impl->wait();
+void
+gr_runtime::unlock()
+{
+  d_impl->unlock();
 }
+