#include #include #include "protocol_buffers_definitions/recordings.pb.h" using namespace ::indoors::proto; int main(int argc, char* argv[]) { // Verify that the version of the library that we linked against is // compatible with the version of the headers we compiled against. GOOGLE_PROTOBUF_VERIFY_VERSION; std::cout << "ESRI C++ code assignment\n"; Recording recording; Position positions; std::fstream input(argv[1], std::ios::in | std::ios::binary); if (!recording.ParseFromIstream(&input)) { std::cerr << "Failed to parse input file.\n"; return -1; } std::cout.precision(17); for (int i=0; i < recording.magnetics_size(); i++) { auto const& s = recording.magnetics(i); std::cout << s.t() << ": [" << s.x() << ", " << s.y() << ", " << s.z() << "]\n"; } for (int i=0; i < recording.positions_size(); i++) { auto const& s = recording.positions(i); std::cout << s.t() << ": [" << s.x() << ", " << s.y() << "]\n"; } // Optional: Delete all global objects allocated by libprotobuf. google::protobuf::ShutdownProtobufLibrary(); return 0; }