Add ProfileData
diff --git a/src/profile-data.cpp b/src/profile-data.cpp
new file mode 100644
index 0000000..e111e54
--- /dev/null
+++ b/src/profile-data.cpp
@@ -0,0 +1,44 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2013, Regents of the University of California
+ *                     Yingdi Yu
+ *
+ * BSD license, See the LICENSE file for more information
+ *
+ * Author: Yingdi Yu <yingdi@cs.ucla.edu>
+ */
+
+#include "profile-data.h"
+
+using namespace std;
+using namespace ndn;
+
+ProfileData::ProfileData (const Name& identityName,
+			  const string& profileType,
+			  const Blob& profileValue)
+  : Data()
+  , m_identityName(identityName)
+  , m_profileType(profileType)
+{
+  Name tmpName = identityName;
+  setName(tmpName.append(profileType));
+  setContent(Content(profileValue.buf(), profileValue.size()));
+}
+
+
+ProfileData::ProfileData (const ProfileData& profile)
+  : Data()
+  , m_identityName(profile.m_identityName)
+  , m_profileType(profile.m_profileType)
+{
+  setName(profile.getName());
+  setContent(profile.getContent());
+}
+
+Ptr<ProfileData> 
+ProfileData::fromData (const Data& data)
+{
+  //TODO:
+  return NULL;
+}
+
diff --git a/src/profile-data.h b/src/profile-data.h
new file mode 100644
index 0000000..a1e71cf
--- /dev/null
+++ b/src/profile-data.h
@@ -0,0 +1,43 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2013, Regents of the University of California
+ *                     Yingdi Yu
+ *
+ * BSD license, See the LICENSE file for more information
+ *
+ * Author: Yingdi Yu <yingdi@cs.ucla.edu>
+ */
+
+#ifndef PROFILE_DATA_H
+#define PROFILE_DATA_H
+
+#include <ndn.cxx/data.h>
+
+class ProfileData : public ndn::Data
+{
+public:
+  ProfileData (const ndn::Name& identityName,
+               const std::string& profileType,
+               const ndn::Blob& profileValue);
+
+  ProfileData (const ProfileData& profile);
+
+  ~ProfileData () {}
+
+  static ndn::Ptr<ProfileData> 
+  fromData (const ndn::Data& data);
+
+  inline const ndn::Name&
+  getIdentityName() const
+  { return m_identityName; }
+
+  inline const std::string&
+  getProfileType() const
+  { return m_profileType; }
+
+private:
+  ndn::Name m_identityName;
+  std::string m_profileType;
+};
+
+#endif
diff --git a/wscript b/wscript
index 878688b..15f0fcf 100644
--- a/wscript
+++ b/wscript
@@ -18,6 +18,9 @@
 
     conf.load('boost')
 
+    conf.check_cfg(package='libndn.cxx', args=['--cflags', '--libs'], uselib_store='NDNCXX', mandatory=True)
+    conf.check_cfg(package='sqlite3', args=['--cflags', '--libs'], uselib_store='SQLITE3', mandatory=True)
+
     conf.check_boost(lib='system random thread')
 
     conf.write_config_header('config.h')
@@ -30,7 +33,7 @@
         defines = "WAF",
         source = bld.path.ant_glob(['src/*.cpp', 'src/*.ui']),
         includes = ".",
-        use = "QTCORE QTGUI",
+        use = "QTCORE QTGUI SQLITE3 NDNCXX",
         )