strategy-choice-entry.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26 #ifndef NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
27 #define NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
28 
29 #include "core/common.hpp"
30 
31 namespace nfd {
32 
33 namespace fw {
34 class Strategy;
35 } // namespace fw
36 
37 namespace name_tree {
38 class Entry;
39 } // namespace name_tree
40 
41 namespace strategy_choice {
42 
45 class Entry : noncopyable
46 {
47 public:
48  Entry(const Name& prefix);
49 
50  ~Entry();
51 
54  const Name&
55  getPrefix() const
56  {
57  return m_prefix;
58  }
59 
62  const Name&
63  getStrategyInstanceName() const;
64 
68  getStrategy() const
69  {
70  BOOST_ASSERT(m_strategy != nullptr);
71  return *m_strategy;
72  }
73 
74  void
75  setStrategy(unique_ptr<fw::Strategy> strategy);
76 
77 private:
78  Name m_prefix;
79  unique_ptr<fw::Strategy> m_strategy;
80 
81  name_tree::Entry* m_nameTreeEntry;
82  friend class name_tree::Entry;
83 };
84 
85 } // namespace strategy_choice
86 } // namespace nfd
87 
88 #endif // NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
fw::Strategy & getStrategy() const
Copyright (c) 2014-2015, Regents of the University of California, Arizona Board of Regents...
Definition: algorithm.hpp:32
an entry in the name tree
represents a Strategy Choice entry
represents a forwarding strategy
Definition: strategy.hpp:37
const Name & getPrefix() const