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",
)