blob: 32ad4a409d8002ac4f41d65ffef50cbaabf11adf [file] [log] [blame]
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -08001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/**
3 * Copyright (C) 2014 Named Data Networking Project
4 * See COPYING for copyright and distribution information.
5 */
6
7#ifndef NFD_COMMON_HPP
8#define NFD_COMMON_HPP
9
Junxiao Shi61c5ef32014-01-24 20:59:30 -070010#include "config.hpp"
11
Junxiao Shi88884492014-02-15 15:57:43 -070012#ifdef WITH_TESTS
13#define VIRTUAL_WITH_TESTS virtual
14#define PUBLIC_WITH_TESTS_ELSE_PROTECTED public
15#define PUBLIC_WITH_TESTS_ELSE_PRIVATE public
16#define PROTECTED_WITH_TESTS_ELSE_PRIVATE protected
17#else
18#define VIRTUAL_WITH_TESTS
19#define PUBLIC_WITH_TESTS_ELSE_PROTECTED protected
20#define PUBLIC_WITH_TESTS_ELSE_PRIVATE private
21#define PROTECTED_WITH_TESTS_ELSE_PRIVATE private
22#endif
23
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080024#include <ndn-cpp-dev/interest.hpp>
25#include <ndn-cpp-dev/data.hpp>
26
27#include <boost/utility.hpp>
28#include <boost/shared_ptr.hpp>
Alexander Afanasyevd32cb962014-01-28 12:43:47 -080029#include <boost/enable_shared_from_this.hpp>
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080030#include <boost/function.hpp>
31#include <boost/bind.hpp>
Junxiao Shic1e12362014-01-24 20:03:26 -070032#include <boost/ref.hpp>
Alexander Afanasyev920af2f2014-01-25 22:56:11 -080033#include <boost/asio.hpp>
34#include <boost/assert.hpp>
HYuana9b85752014-02-26 02:32:30 -060035#include <boost/functional/hash.hpp>
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080036
37#include <vector>
Junxiao Shic1e12362014-01-24 20:03:26 -070038#include <list>
Ilya Moiseenko76cf77a2014-03-05 14:35:51 -080039#include <queue>
Alexander Afanasyev920af2f2014-01-25 22:56:11 -080040#include <set>
Steve DiBenedettobb75b552014-02-08 12:12:11 -070041#include <sstream>
42#include <istream>
43#include <fstream>
Junxiao Shidbe71732014-02-21 22:23:28 -070044#include <algorithm>
45#include <numeric>
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080046
Ilya Moiseenkoa807e652014-01-28 11:51:01 -080047#include "core/logger.hpp"
48
Alexander Afanasyev18bbf812014-01-29 01:40:23 -080049namespace nfd {
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080050
51using boost::noncopyable;
52using boost::shared_ptr;
Alexander Afanasyevd32cb962014-01-28 12:43:47 -080053using boost::enable_shared_from_this;
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080054using boost::make_shared;
Junxiao Shie5e2fce2014-02-10 20:01:53 -070055using boost::static_pointer_cast;
Alexander Afanasyevbd220a02014-02-20 00:29:56 -080056using boost::dynamic_pointer_cast;
Junxiao Shi0b5fbbb2014-02-20 15:54:03 -070057using boost::weak_ptr;
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080058using boost::function;
59using boost::bind;
60
Alexander Afanasyev18bbf812014-01-29 01:40:23 -080061using ndn::Interest;
62using ndn::Data;
63using ndn::Name;
64using ndn::Exclude;
65using ndn::Block;
66namespace tlv {
67using namespace ndn::Tlv;
68}
69
Alexander Afanasyeveb3197f2014-03-17 19:28:18 -070070namespace time = ndn::time;
71
Alexander Afanasyev18bbf812014-01-29 01:40:23 -080072} // namespace nfd
Alexander Afanasyevb927a3a2014-01-24 10:41:47 -080073
74#endif // NFD_COMMON_HPP