implement sync-app-socket and change appwrapper to logic
diff --git a/model/sync-app-socket.cc b/model/sync-app-socket.cc
index 2680859..8f11c97 100644
--- a/model/sync-app-socket.cc
+++ b/model/sync-app-socket.cc
@@ -19,3 +19,36 @@
* 卞超轶 Chaoyi Bian <bcy@pku.edu.cn>
* Alexander Afanasyev <alexander.afanasyev@ucla.edu>
*/
+
+#include "sync-app-socket.h"
+
+using namespace std;
+using namespace boost;
+
+namespace Sync
+{
+
+SyncAppSocket::SyncAppSocket(string syncPrefix, function<void (string)> dataCallback)
+{
+ m_ccnxHandle.reset(new CcnxWrapper());
+ m_fetcher = new AppDataFetch(m_ccnxHandle, dataCallback);
+ m_publisher = new AppDataPublish(m_ccnxHandle);
+
+ function<void (string, uint32_t, uint32_t)> f(bind(&AppDataFetch::fetch, m_fetcher, _1, _2, _3));
+ m_syncLogic = new SyncLogic(syncPrefix, f, m_ccnxHandle);
+}
+
+SyncAppSocket::~SyncAppSocket()
+{
+ delete m_syncLogic;
+ delete m_fetcher;
+ delete m_publisher;
+}
+
+bool SyncAppSocket::publish(string prefix, string dataBuffer, int freshness)
+{
+ m_publisher->publishData(prefix, dataBuffer, freshness);
+ m_syncLogic->addLocalNames(prefix, m_publisher->getHighestSeq(prefix));
+}
+
+}
\ No newline at end of file