Moved burst printer to different directory
diff --git a/include/gsm/bursts_printer.h b/include/gsm/bursts_printer.h
index 3ec595f..c814810 100644
--- a/include/gsm/bursts_printer.h
+++ b/include/gsm/bursts_printer.h
@@ -24,6 +24,38 @@
 
 #include <gsm/api.h>
 #include <gnuradio/block.h>
+#include <string>
+#include <vector>
+
+
+
+class chan_info {
+  public:
+    unsigned int id;
+    int8_t pwr_db;
+    unsigned int arfcn;
+    float freq;
+    unsigned int lac;
+    unsigned int cell_id;
+    unsigned int mnc;
+    
+    chan_info() :  id(-1), pwr_db(0), arfcn(0), freq(0), lac(0), cell_id(0), mnc(0){}
+    chan_info(const chan_info & info) : id(info.id), pwr_db(info.pwr_db), arfcn(info.arfcn), freq(info.freq), lac(info.lac), cell_id(info.cell_id), mnc(info.mnc){}
+    ~chan_info(){}
+};
+
+struct compare_id {
+    inline bool operator()(const chan_info &a, const chan_info &b) const
+    {
+        return a.id < b.id;
+    }
+};
+struct compare_pwr {
+    inline bool operator()(const chan_info &a, const chan_info &b) const
+    {
+        return a.pwr_db < b.pwr_db;
+    }
+};
 
 namespace gr {
   namespace gsm {
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 79fa57a..8e707be 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -29,7 +29,7 @@
     receiver/receiver_config.cc 
     receiver/viterbi_detector.cc 
     receiver/sch.c
-    burst_printer/bursts_printer_impl.cc
+    misc_utils/bursts_printer_impl.cc
     demapping/get_bcch_or_ccch_bursts_impl.cc
     decoding/control_channels_decoder_impl.cc
     decoding/cch.c
diff --git a/lib/burst_printer/bursts_printer_impl.cc b/lib/misc_utils/bursts_printer_impl.cc
similarity index 82%
rename from lib/burst_printer/bursts_printer_impl.cc
rename to lib/misc_utils/bursts_printer_impl.cc
index c37838b..deedf02 100644
--- a/lib/burst_printer/bursts_printer_impl.cc
+++ b/lib/misc_utils/bursts_printer_impl.cc
@@ -27,31 +27,23 @@
 #include <iterator>
 #include <algorithm>
 #include "bursts_printer_impl.h"
+#include <unistd.h>
+
+#include <iostream>
 
 namespace gr {
   namespace gsm {
+    boost::mutex printer_mutex;
     void bursts_printer_impl::bursts_print(pmt::pmt_t msg)
     {
+        boost::mutex::scoped_lock lock(printer_mutex);
+        
         pmt::pmt_t burst = pmt::cdr(msg);
         int8_t * burst_elements = (int8_t *)pmt::blob_data(burst);
         size_t burst_len=pmt::blob_length(burst);
 
         pmt::pmt_t header_blob = pmt::car(msg);
         gsmtap_hdr * header = (gsmtap_hdr *)pmt::blob_data(header_blob);
-        d_c0_channels.insert(header->arfcn);
-        
-//        d_channels_dbm.insert(header->signal_dbm);
-//        std::copy(
-//            d_c0_channels.begin(),
-//            d_c0_channels.end(),
-//            std::ostream_iterator<uint16_t>(std::cout, " ")
-//        );
-//        std::cout << std::endl;
-//        std::copy(
-//            d_channels_dbm.begin(),
-//            d_channels_dbm.end(),
-//            std::ostream_iterator<int>(std::cout, " ")
-//        );
 
         for(int ii=0; ii<burst_len; ii++)
         {
@@ -59,7 +51,7 @@
         }
         std::cout << std::endl;
     }
-
+     
     bursts_printer::sptr
     bursts_printer::make()
     {
diff --git a/lib/burst_printer/bursts_printer_impl.h b/lib/misc_utils/bursts_printer_impl.h
similarity index 96%
rename from lib/burst_printer/bursts_printer_impl.h
rename to lib/misc_utils/bursts_printer_impl.h
index 81e8be6..1a6368a 100644
--- a/lib/burst_printer/bursts_printer_impl.h
+++ b/lib/misc_utils/bursts_printer_impl.h
@@ -31,8 +31,6 @@
     {
      private:
       void bursts_print(pmt::pmt_t burst);
-      std::set<uint16_t> d_c0_channels;
-
      public:
       bursts_printer_impl();
       ~bursts_printer_impl();