blob: b6e2ab5fb3bfec0c3eaeabbfe9ad39f029524713 [file] [log] [blame]
Steve DiBenedetto5b433982014-01-29 17:14:27 -07001/* -*- 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_MGMT_APP_FACE_HPP
8#define NFD_MGMT_APP_FACE_HPP
9
10#include "common.hpp"
11
Steve DiBenedettobdedce92014-02-02 22:49:39 -070012#include <ndn-cpp-dev/security/key-chain.hpp>
13
Steve DiBenedetto5b433982014-01-29 17:14:27 -070014namespace nfd {
15
Steve DiBenedettobdedce92014-02-02 22:49:39 -070016typedef function<void(const Name&, const Interest&)> OnInterest;
Steve DiBenedetto5b433982014-01-29 17:14:27 -070017
18class AppFace
19{
20public:
21 virtual void
22 setInterestFilter(const Name& filter,
23 OnInterest onInterest) = 0;
24
25 virtual void
Steve DiBenedettobdedce92014-02-02 22:49:39 -070026 sign(Data& data);
27
28 virtual void
Steve DiBenedetto5b433982014-01-29 17:14:27 -070029 put(const Data& data) = 0;
30
31 virtual
32 ~AppFace() { }
Steve DiBenedettobdedce92014-02-02 22:49:39 -070033
34protected:
35 ndn::KeyChain m_keyChain;
Steve DiBenedetto5b433982014-01-29 17:14:27 -070036};
37
38} // namespace nfd
39
40#endif //NFD_MGMT_APP_FACE_HPP