From 29a52f1ee4bab7a9f69fc8a7541876aac8ed4a9d Mon Sep 17 00:00:00 2001
From: Jason Wang <wangr1@ornl.gov>
Date: Tue, 28 Feb 2017 10:34:38 -0500
Subject: [PATCH] fixed a few compile problems in DataMan engine. Worked with
 the newest DataMan library

---
 include/engine/dataman/DataManReader.h |  1 +
 include/engine/dataman/DataManWriter.h | 22 +++++++++-------------
 src/engine/dataman/DataManReader.cpp   |  2 +-
 src/engine/dataman/DataManWriter.cpp   | 10 +++++++++-
 4 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/include/engine/dataman/DataManReader.h b/include/engine/dataman/DataManReader.h
index 1509b6b97..e29668774 100644
--- a/include/engine/dataman/DataManReader.h
+++ b/include/engine/dataman/DataManReader.h
@@ -79,6 +79,7 @@ private:
 
     capsule::STLVector m_Buffer; ///< heap capsule, contains data and metadata buffers
     format::BP1Writer m_BP1Writer; ///< format object will provide the required BP functionality to be applied on m_Buffer and m_Transports
+    std::function<void( const void*, std::string, std::string, std::string, Dims )> m_CallBack; ///< call back function
 
 
     void Init( );  ///< calls InitCapsules and InitTransports based on Method, called from constructor
diff --git a/include/engine/dataman/DataManWriter.h b/include/engine/dataman/DataManWriter.h
index f903a6475..51247e7d6 100644
--- a/include/engine/dataman/DataManWriter.h
+++ b/include/engine/dataman/DataManWriter.h
@@ -114,19 +114,15 @@ private:
 
         //This part will go away, this is just to monitor variables per rank
 
-//        put(void *p_data,
-//                        string p_doid,
-//                        string p_var,
-//                        string p_dtype,
-//                        vector<uint64_t> p_putshape,
-//                        vector<uint64_t> p_varshape,
-//                        vector<uint64_t> p_offset,
-//                        uint64_t p_timestep,
-//                        int p_tolerance,
-//                        int p_priority
-//                        ){
-
-        m_Man.put( values, "", variable.m_Name, GetType<T>(), variable.m_Dimensions, variable.m_GlobalDimensions, variable.m_GlobalOffsets, 0);
+        json jmsg;
+        jmsg["doid"] = m_Name;
+        jmsg["var"] = variable.m_Name;
+        jmsg["dtype"] = GetType<T>();
+        jmsg["putshape"] = variable.m_Dimensions;
+        jmsg["varshape"] = variable.m_GlobalDimensions;
+        jmsg["offset"] = variable.m_GlobalOffsets;
+        jmsg["timestep"] = 0;
+        m_Man.put(values, jmsg);
 
         std::cout << "I am hooked to the DataMan library\n";
         MPI_Barrier( m_MPIComm );
diff --git a/src/engine/dataman/DataManReader.cpp b/src/engine/dataman/DataManReader.cpp
index 6286cc4fb..a2e32889d 100644
--- a/src/engine/dataman/DataManReader.cpp
+++ b/src/engine/dataman/DataManReader.cpp
@@ -33,7 +33,7 @@ DataManReader::DataManReader( ADIOS& adios, const std::string name, const std::s
 DataManReader::~DataManReader( )
 { }
 
-void DataManWriter::SetCallBack( std::function<void( const void*, std::string, std::string, std::string, Dims )> callback )
+void DataManReader::SetCallBack( std::function<void( const void*, std::string, std::string, std::string, Dims )> callback )
 {
     m_CallBack = callback;
 }
diff --git a/src/engine/dataman/DataManWriter.cpp b/src/engine/dataman/DataManWriter.cpp
index 0cb73e1ac..4e0b70d9f 100644
--- a/src/engine/dataman/DataManWriter.cpp
+++ b/src/engine/dataman/DataManWriter.cpp
@@ -202,7 +202,15 @@ void DataManWriter::Init( )
             lf_AssignInt( "remote_port", remote_port );
             lf_AssignInt( "num_channels", num_channels );
 
-            m_Man.add_stream(local_ip, remote_ip, local_port, remote_port, num_channels, method);
+            json jmsg;
+            jmsg["method"] = method;
+            jmsg["local_ip"] = local_ip;
+            jmsg["remote_ip"] = remote_ip;
+            jmsg["local_port"] = local_port;
+            jmsg["remote_port"] = remote_port;
+            jmsg["num_channels"] = num_channels;
+
+            m_Man.add_stream(jmsg);
         }
     }
     else
-- 
GitLab