blob: 0e4ccf4951674075e07a7efa5a71ac414ac817d6 [file] [log] [blame]
Yingdi Yu01d11352013-10-18 17:04:19 -07001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
2/*
3 * Copyright (c) 2013, Regents of the University of California
4 * Yingdi Yu
5 *
6 * BSD license, See the LICENSE file for more information
7 *
8 * Author: Yingdi Yu <yingdi@cs.ucla.edu>
9 */
10
11#ifndef LINKNDN_DNS_STORAGE_H
12#define LINKNDN_DNS_STORAGE_H
13
14#include <sqlite3.h>
15#include <ndn.cxx/data.h>
16
17class DnsStorage
18{
19public:
20 DnsStorage();
21
22 ~DnsStorage();
23
24 void
25 updateDnsSelfProfileData(const ndn::Data& data, const ndn::Name& identity);
26
27 void
28 updateDnsEndorseOthers(const ndn::Data& data, const ndn::Name& identity, const ndn::Name& endorsee);
29
30 void
31 updateDnsOthersEndorse(const ndn::Data& data, const ndn::Name& identity, const ndn::Name& endorser);
32
33 ndn::Ptr<ndn::Data>
34 getData(const ndn::Name& name);
35
36private:
37 void
38 updateDnsData(const ndn::Blob& data, const std::string& identity, const std::string& name, const std::string& type, const std::string& dataName);
39
40private:
41 sqlite3 *m_db;
42};
43
44#endif