blob: 1a2bf7ca80003d99f7c9d0cf909062427eda4b32 [file] [log] [blame]
Junxiao Shi0eba1aa2014-10-25 09:54:08 -07001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2/**
Alexander Afanasyeve6835fe2017-01-19 20:05:01 -08003 * Copyright (c) 2013-2017 Regents of the University of California.
Junxiao Shi0eba1aa2014-10-25 09:54:08 -07004 *
5 * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
6 *
7 * ndn-cxx library is free software: you can redistribute it and/or modify it under the
8 * terms of the GNU Lesser General Public License as published by the Free Software
9 * Foundation, either version 3 of the License, or (at your option) any later version.
10 *
11 * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
14 *
15 * You should have received copies of the GNU General Public License and GNU Lesser
16 * General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
17 * <http://www.gnu.org/licenses/>.
18 *
19 * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
20 */
21
Junxiao Shi7357ef22016-09-07 02:39:37 +000022#include "command-options.hpp"
Junxiao Shi0eba1aa2014-10-25 09:54:08 -070023
24namespace ndn {
25namespace nfd {
26
27const time::milliseconds CommandOptions::DEFAULT_TIMEOUT(10000);
28const Name CommandOptions::DEFAULT_PREFIX("ndn:/localhost/nfd");
29
30CommandOptions::CommandOptions()
31 : m_timeout(DEFAULT_TIMEOUT)
32 , m_prefix(DEFAULT_PREFIX)
Junxiao Shi0eba1aa2014-10-25 09:54:08 -070033{
34}
35
36CommandOptions&
37CommandOptions::setTimeout(const time::milliseconds& timeout)
38{
39 if (timeout <= time::milliseconds::zero()) {
Spyridon Mastorakis0d2ed2e2015-07-27 19:09:12 -070040 BOOST_THROW_EXCEPTION(std::out_of_range("Timeout must be positive"));
Junxiao Shi0eba1aa2014-10-25 09:54:08 -070041 }
42
43 m_timeout = timeout;
44 return *this;
45}
46
47CommandOptions&
48CommandOptions::setPrefix(const Name& prefix)
49{
50 m_prefix = prefix;
51 return *this;
52}
53
54CommandOptions&
Junxiao Shic6acc7a2015-06-23 10:03:56 -070055CommandOptions::setSigningInfo(const security::SigningInfo& signingInfo)
56{
57 m_signingInfo = signingInfo;
58 return *this;
59}
60
Junxiao Shi0eba1aa2014-10-25 09:54:08 -070061} // namespace nfd
62} // namespace ndn