blob: a0fc162f598a8df43088c1849f9fbf377891b7ee [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_BINARYXMLWIREFORMAT_HPP
7#define NDN_BINARYXMLWIREFORMAT_HPP
8
9#include "WireFormat.hpp"
10
11namespace ndn {
12
Jeff Thompsonf0fea002013-07-30 17:22:42 -070013class BinaryXmlWireFormat : public WireFormat {
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070014public:
Jeff Thompsonb0979fd2013-07-30 15:48:21 -070015 virtual ptr_lib::shared_ptr<std::vector<unsigned char> > encodeInterest(const Interest &interest);
Jeff Thompson7c30eda2013-07-03 18:37:07 -070016 virtual void decodeInterest(Interest &interest, const unsigned char *input, unsigned int inputLength);
Jeff Thompson5cae5e52013-07-10 19:41:20 -070017
Jeff Thompsonb0979fd2013-07-30 15:48:21 -070018 virtual ptr_lib::shared_ptr<std::vector<unsigned char> > encodeContentObject(const ContentObject &contentObject);
Jeff Thompson5cae5e52013-07-10 19:41:20 -070019 virtual void decodeContentObject(ContentObject &contentObject, const unsigned char *input, unsigned int inputLength);
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070020
Jeff Thompsonf0fea002013-07-30 17:22:42 -070021 static BinaryXmlWireFormat &instance() { return instance_; }
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070022
23private:
Jeff Thompsonf0fea002013-07-30 17:22:42 -070024 static BinaryXmlWireFormat instance_;
Jeff Thompson9c41dfe2013-06-27 12:10:25 -070025};
26
27}
28
29#endif
30