blob: a678f5d9f6bb3e9639049bd307ed798336cafd21 [file] [log] [blame]
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -07001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/**
Alexander Afanasyev60a7b622014-12-20 17:04:07 -08003 * Copyright (c) 2011-2015 Regents of the University of California.
Alexander Afanasyevbe55cf62014-12-20 17:51:09 -08004 *
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -07005 * This file is part of ndnSIM. See AUTHORS for complete list of ndnSIM authors and
6 * contributors.
Alexander Afanasyevbe55cf62014-12-20 17:51:09 -08007 *
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -07008 * ndnSIM is free software: you can redistribute it and/or modify it under the terms
9 * of the GNU General Public License as published by the Free Software Foundation,
10 * either version 3 of the License, or (at your option) any later version.
11 *
12 * ndnSIM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
13 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along with
17 * ndnSIM, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
18 **/
Alexander Afanasyevb989b122013-07-10 17:15:46 -070019
Xuxiang Tian91018732016-08-17 16:24:47 -070020#ifndef NDNSIM_NDN_COMMON_H
21#define NDNSIM_NDN_COMMON_H
Alexander Afanasyevb989b122013-07-10 17:15:46 -070022
Alexander Afanasyev92136012013-07-16 20:36:30 -070023#include "ns3/nstime.h"
24#include "ns3/simulator.h"
Alexander Afanasyev82d5ffe2014-12-30 23:55:38 -080025#include "ns3/attribute.h"
26#include "ns3/attribute-helper.h"
Alexander Afanasyev92136012013-07-16 20:36:30 -070027
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -070028#include <ndn-cxx/interest.hpp>
29#include <ndn-cxx/encoding/block.hpp>
30#include <ndn-cxx/signature.hpp>
31#include <ndn-cxx/signature-info.hpp>
32#include <ndn-cxx/name.hpp>
33#include <ndn-cxx/data.hpp>
34#include <ndn-cxx/security/key-chain.hpp>
Alexander Afanasyevb989b122013-07-10 17:15:46 -070035
Spyridon Mastorakis1f1cd5e2014-12-04 11:12:40 -080036#include <ndn-cxx/util/time.hpp>
37
Xuxiang Tian91018732016-08-17 16:24:47 -070038#include "NFD/daemon/face/face.hpp"
39
Alexander Afanasyev5713e7a2015-01-02 01:08:18 -080040namespace nfd {
41}
42
Alexander Afanasyev79206512013-07-27 16:49:12 -070043namespace ns3 {
Alexander Afanasyev79206512013-07-27 16:49:12 -070044namespace ndn {
Alexander Afanasyev79206512013-07-27 16:49:12 -070045
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -070046using ::ndn::Name;
47namespace name = ::ndn::name;
Alexander Afanasyev92136012013-07-16 20:36:30 -070048
Alexander Afanasyev82d5ffe2014-12-30 23:55:38 -080049ATTRIBUTE_HELPER_HEADER(Name);
50
Spyridon Mastorakis86edf6f2014-11-14 19:27:18 -080051namespace time {
52using namespace ::ndn::time;
53}
Spyridon Mastorakis1f1cd5e2014-12-04 11:12:40 -080054
Xuxiang Tian91018732016-08-17 16:24:47 -070055namespace lp {
56using namespace ::ndn::lp;
57}
58
Spyridon Mastorakis1f1cd5e2014-12-04 11:12:40 -080059using ::ndn::Exclude;
60
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -070061using std::shared_ptr;
62using std::make_shared;
Alexander Afanasyev92136012013-07-16 20:36:30 -070063
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -070064using ::ndn::Interest;
65using ::ndn::Data;
66using ::ndn::KeyLocator;
67using ::ndn::Signature;
68using ::ndn::SignatureInfo;
69using ::ndn::Block;
70using ::ndn::KeyChain;
Alexander Afanasyev92136012013-07-16 20:36:30 -070071
Xuxiang Tian91018732016-08-17 16:24:47 -070072using ::nfd::Face;
Spyridon Mastorakisf6d32852017-09-27 20:28:52 -070073using ::ndn::FaceUri;
Xuxiang Tian91018732016-08-17 16:24:47 -070074
Alexander Afanasyev5dee3612015-08-25 16:09:04 -070075#ifndef DOXYGEN
76// For python bindings
Alexander Afanasyev5713e7a2015-01-02 01:08:18 -080077namespace nfd = ::nfd;
Alexander Afanasyev5dee3612015-08-25 16:09:04 -070078#endif // DOXYGEN
Alexander Afanasyev5713e7a2015-01-02 01:08:18 -080079
Xuxiang Tian91018732016-08-17 16:24:47 -070080using ::ndn::make_unique;
81
Spyridon Mastorakis53e922f2014-10-17 17:29:26 -070082} // namespace ndn
83} // namespace ns3
Alexander Afanasyev92136012013-07-16 20:36:30 -070084
Xuxiang Tian91018732016-08-17 16:24:47 -070085namespace nfd {
86namespace face {
87
88inline std::ostream&
89operator<<(std::ostream& os, const Face& face)
90{
91 os << face.getLocalUri();
92 return os;
93}
94
95} // namespace face
96} // namespace nfd
97
98#endif // NDNSIM_NDN_COMMON_H