blob: 1afe25f4f7e4d7099d59f912e1edea2a48d467e6 [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
Jeff Thompsonb0979fd2013-07-30 15:48:21 -07009#include "../common.hpp"
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070010#include <vector>
11
12namespace ndn {
13
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070014class Interest;
Jeff Thompson5cae5e52013-07-10 19:41:20 -070015class ContentObject;
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070016
17class WireFormat {
18public:
Jeff Thompsonb0979fd2013-07-30 15:48:21 -070019 virtual ptr_lib::shared_ptr<std::vector<unsigned char> > encodeInterest(const Interest &interest);
Jeff Thompson42380712013-06-28 10:59:33 -070020 virtual void decodeInterest(Interest &interest, const unsigned char *input, unsigned int inputLength);
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070021
Jeff Thompsonb0979fd2013-07-30 15:48:21 -070022 virtual ptr_lib::shared_ptr<std::vector<unsigned char> > encodeContentObject(const ContentObject &contentObject);
Jeff Thompson5cae5e52013-07-10 19:41:20 -070023 virtual void decodeContentObject(ContentObject &contentObject, const unsigned char *input, unsigned int inputLength);
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070024};
25
26}
27
28#endif
29