blob: 91d4560dfbe492b70cafe2d7f4f9eb18a980ef51 [file] [log] [blame]
/**
* Generates a predefined link object and outputs it to a file
*
* Author: Eric Newberry <enewberry@email.arizona.edu>
*/
#include <ndn-cxx/link.hpp>
#include <ndn-cxx/security/key-chain.hpp>
#include <ndn-cxx/util/io.hpp>
#include <iostream>
int
main(int argc, char* argv[])
{
if (argc < 5 || argc % 2 != 1) {
std::cout << "Usage: " << argv[0] << " [outfile] [name] [pref-1] [delegation-1] ... [pref-n] [delegation-n]" << std::endl;
return -1;
}
// Create initial link object
ndn::Link link(argv[2]);
// Load delegations into object
for (int i = 0; i < (argc - 3) / 2; i++) {
link.addDelegation(std::stoi(argv[2 * i + 3]), argv[2 * i + 4]);
}
// Sign and save object
ndn::KeyChain keyChain;
keyChain.sign(link);
link.wireEncode();
ndn::io::save(link, argv[1]);
return 0;
}