add doxygen comments
diff --git a/model/sync-ccnx-wrapper.h b/model/sync-ccnx-wrapper.h
index eaa86cf..4153606 100644
--- a/model/sync-ccnx-wrapper.h
+++ b/model/sync-ccnx-wrapper.h
@@ -31,7 +31,8 @@
#include <ccn/bloom.h>
}
-#include <boost/thread.hpp>
+#include <boost/thread/recursive_mutex.hpp>
+#include <boost/thread/thread.hpp>
#include <boost/shared_ptr.hpp>
#include <string>
#include "sync-data-buffer.h"
@@ -52,7 +53,8 @@
ccn* m_handle;
ccn_keystore *m_keyStore;
ccn_charbuf *m_keyLoactor;
- boost::mutex m_mutex;
+ // to lock, use "boost::recursive_mutex::scoped_lock scoped_lock(mutex);
+ boost::recursive_mutex m_mutex;
boost::shared_ptr<boos::thread> m_thread;
private:
@@ -65,19 +67,43 @@
public:
-
+ /**
+ * @brief initialize the wrapper; a lot of things needs to be done. 1) init
+ * keystore 2) init keylocator 3) start a thread to hold a loop of ccn_run
+ *
+ */
CcnxWrapper();
~CcnxWrapper();
+
/**
- * @brief send Interest
+ * @brief send Interest; need to grab lock m_mutex first
*
* @param strInterest the Interest name
- * @param callback the callback function to deal with the returned data
+ * @param dataCallback the callback function to deal with the returned data
+ * @return the return code of ccn_express_interest
*/
int sendInterest(std::string strInterest, boost::function<void
- (boost::shared_ptr<DataBuffer>)> processData);
+ (boost::shared_ptr<DataBuffer>)> dataCallback);
+
+ /**
+ * @brief set Interest filter (specify what interest you want to receive
+ *
+ * @param prefix the prefix of Interest
+ * @param interestCallback the callback function to deal with the returned data
+ * @return the return code of ccn_set_interest_filter
+ */
int sendInterestFilter(std::string prefix, boost::function<void (std::string)>
- processInterest);
+ interestCallback);
+
+ /**
+ * @brief publish data and put it to local ccn content store; need to grab
+ * lock m_mutex first
+ *
+ * @param name the name for the data object
+ * @param dataBuffer the data to be published
+ * @param freshness the freshness time for the data object
+ * @return code generated by ccnx library calls, >0 if success
+ */
int publishData(std::string name, boost::shared_ptr<DataBuffer> dataBuffer,
int freshness);