blob: 2e56a2e6444d202301be3978cfe28a9edb4c10ca [file] [log] [blame]
Jeff Thompson9c41dfe2013-06-27 12:10:25 -07001/*
2 * Author: Jeff Thompson
3 *
4 * BSD license, See the LICENSE file for more information.
5 */
6
7
8#ifndef NDN_WIREFORMAT_HPP
9#define NDN_WIREFORMAT_HPP
10
11#include <vector>
12
13namespace ndn {
14
15class Name;
16class Interest;
17
18class WireFormat {
19public:
20 virtual void encodeName(Name &name, std::vector<unsigned char> &output);
Jeff Thompson42380712013-06-28 10:59:33 -070021 virtual void decodeName(Name &name, const unsigned char *input, unsigned int inputLength);
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070022
23 virtual void encodeInterest(Interest &interest, std::vector<unsigned char> &output);
Jeff Thompson42380712013-06-28 10:59:33 -070024 virtual void decodeInterest(Interest &interest, const unsigned char *input, unsigned int inputLength);
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070025
26 // etc. for each type of object.
27};
28
29}
30
31#endif
32