blob: df532e9f305bc90018502af116986ed59a1542de [file] [log] [blame]
Jeff Thompson47eecfc2013-07-07 22:56:46 -07001/**
2 * @author: Jeff Thompson
3 * See COPYING for copyright and distribution information.
Jeff Thompson9c41dfe2013-06-27 12:10:25 -07004 */
5
Jeff Thompson9c41dfe2013-06-27 12:10:25 -07006#ifndef NDN_WIREFORMAT_HPP
7#define NDN_WIREFORMAT_HPP
8
9#include <vector>
10
11namespace ndn {
12
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070013class Interest;
Jeff Thompson5cae5e52013-07-10 19:41:20 -070014class ContentObject;
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070015
16class WireFormat {
17public:
Jeff Thompsond345a5b2013-07-08 16:18:23 -070018 virtual void encodeInterest(const Interest &interest, std::vector<unsigned char> &output);
Jeff Thompson42380712013-06-28 10:59:33 -070019 virtual void decodeInterest(Interest &interest, const unsigned char *input, unsigned int inputLength);
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070020
Jeff Thompson5cae5e52013-07-10 19:41:20 -070021 virtual void encodeContentObject(const ContentObject &contentObject, std::vector<unsigned char> &output);
22 virtual void decodeContentObject(ContentObject &contentObject, const unsigned char *input, unsigned int inputLength);
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070023};
24
25}
26
27#endif
28