aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Native
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2017-11-16 13:38:56 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2017-11-16 13:38:56 +0200
commit914f4db513477d9aff726546bac47545195a3e37 (patch)
treed2ff190fd84b1dfaa03eec76563c431592ece7ff /Software/Visual_Studio/Native
parent65d01ff549d80fbe13ff5e966df216c9f7c03653 (diff)
downloadTango-914f4db513477d9aff726546bac47545195a3e37.tar.gz
Tango-914f4db513477d9aff726546bac47545195a3e37.zip
Rename "Visual Studio" to "Visual_Studio"
Rename "External Repositories" to "External_Repositories".
Diffstat (limited to 'Software/Visual_Studio/Native')
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.cc444
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.h220
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.cc389
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.h199
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.cc525
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.h290
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.cc712
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.h378
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.cc138
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h123
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.cc332
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.h178
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.cc389
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.h199
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.cc499
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.h241
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.cc597
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.h318
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.cpp18
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.h42
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj151
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj.filters84
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/libprotobuf.libbin0 -> 185734154 bytes
23 files changed, 6466 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.cc
new file mode 100644
index 000000000..240b597f4
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.cc
@@ -0,0 +1,444 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: CalculateRequest.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "CalculateRequest.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class CalculateRequestDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<CalculateRequest>
+ _instance;
+} _CalculateRequest_default_instance_;
+
+namespace protobuf_CalculateRequest_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CalculateRequest, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CalculateRequest, a_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CalculateRequest, b_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(CalculateRequest)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_CalculateRequest_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "CalculateRequest.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ _CalculateRequest_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_CalculateRequest_default_instance_);}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\026CalculateRequest.proto\022\017Tango.PMR.Stub"
+ "s\"(\n\020CalculateRequest\022\t\n\001A\030\001 \001(\001\022\t\n\001B\030\002 "
+ "\001(\001B\033\n\031com.twine.tango.pmr.stubsb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 120);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "CalculateRequest.proto", &protobuf_RegisterTypes);
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_CalculateRequest_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int CalculateRequest::kAFieldNumber;
+const int CalculateRequest::kBFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+CalculateRequest::CalculateRequest()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_CalculateRequest_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Stubs.CalculateRequest)
+}
+CalculateRequest::CalculateRequest(const CalculateRequest& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::memcpy(&a_, &from.a_,
+ static_cast<size_t>(reinterpret_cast<char*>(&b_) -
+ reinterpret_cast<char*>(&a_)) + sizeof(b_));
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Stubs.CalculateRequest)
+}
+
+void CalculateRequest::SharedCtor() {
+ ::memset(&a_, 0, static_cast<size_t>(
+ reinterpret_cast<char*>(&b_) -
+ reinterpret_cast<char*>(&a_)) + sizeof(b_));
+ _cached_size_ = 0;
+}
+
+CalculateRequest::~CalculateRequest() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Stubs.CalculateRequest)
+ SharedDtor();
+}
+
+void CalculateRequest::SharedDtor() {
+}
+
+void CalculateRequest::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* CalculateRequest::descriptor() {
+ protobuf_CalculateRequest_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_CalculateRequest_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const CalculateRequest& CalculateRequest::default_instance() {
+ protobuf_CalculateRequest_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+CalculateRequest* CalculateRequest::New(::google::protobuf::Arena* arena) const {
+ CalculateRequest* n = new CalculateRequest;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void CalculateRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Stubs.CalculateRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ ::memset(&a_, 0, static_cast<size_t>(
+ reinterpret_cast<char*>(&b_) -
+ reinterpret_cast<char*>(&a_)) + sizeof(b_));
+ _internal_metadata_.Clear();
+}
+
+bool CalculateRequest::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Stubs.CalculateRequest)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // double A = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(9u /* 9 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+ input, &a_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // double B = 2;
+ case 2: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+ input, &b_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Stubs.CalculateRequest)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Stubs.CalculateRequest)
+ return false;
+#undef DO_
+}
+
+void CalculateRequest::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Stubs.CalculateRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // double A = 1;
+ if (this->a() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteDouble(1, this->a(), output);
+ }
+
+ // double B = 2;
+ if (this->b() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteDouble(2, this->b(), output);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Stubs.CalculateRequest)
+}
+
+::google::protobuf::uint8* CalculateRequest::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Stubs.CalculateRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // double A = 1;
+ if (this->a() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(1, this->a(), target);
+ }
+
+ // double B = 2;
+ if (this->b() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(2, this->b(), target);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Stubs.CalculateRequest)
+ return target;
+}
+
+size_t CalculateRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Stubs.CalculateRequest)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ // double A = 1;
+ if (this->a() != 0) {
+ total_size += 1 + 8;
+ }
+
+ // double B = 2;
+ if (this->b() != 0) {
+ total_size += 1 + 8;
+ }
+
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void CalculateRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Stubs.CalculateRequest)
+ GOOGLE_DCHECK_NE(&from, this);
+ const CalculateRequest* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const CalculateRequest>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Stubs.CalculateRequest)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Stubs.CalculateRequest)
+ MergeFrom(*source);
+ }
+}
+
+void CalculateRequest::MergeFrom(const CalculateRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Stubs.CalculateRequest)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.a() != 0) {
+ set_a(from.a());
+ }
+ if (from.b() != 0) {
+ set_b(from.b());
+ }
+}
+
+void CalculateRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Stubs.CalculateRequest)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void CalculateRequest::CopyFrom(const CalculateRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Stubs.CalculateRequest)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool CalculateRequest::IsInitialized() const {
+ return true;
+}
+
+void CalculateRequest::Swap(CalculateRequest* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void CalculateRequest::InternalSwap(CalculateRequest* other) {
+ using std::swap;
+ swap(a_, other->a_);
+ swap(b_, other->b_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata CalculateRequest::GetMetadata() const {
+ protobuf_CalculateRequest_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_CalculateRequest_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// CalculateRequest
+
+// double A = 1;
+void CalculateRequest::clear_a() {
+ a_ = 0;
+}
+double CalculateRequest::a() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.CalculateRequest.A)
+ return a_;
+}
+void CalculateRequest::set_a(double value) {
+
+ a_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.CalculateRequest.A)
+}
+
+// double B = 2;
+void CalculateRequest::clear_b() {
+ b_ = 0;
+}
+double CalculateRequest::b() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.CalculateRequest.B)
+ return b_;
+}
+void CalculateRequest::set_b(double value) {
+
+ b_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.CalculateRequest.B)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.h
new file mode 100644
index 000000000..3e527af42
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateRequest.pb.h
@@ -0,0 +1,220 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: CalculateRequest.proto
+
+#ifndef PROTOBUF_CalculateRequest_2eproto__INCLUDED
+#define PROTOBUF_CalculateRequest_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class CalculateRequest;
+class CalculateRequestDefaultTypeInternal;
+extern CalculateRequestDefaultTypeInternal _CalculateRequest_default_instance_;
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+
+namespace protobuf_CalculateRequest_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_CalculateRequest_2eproto
+
+// ===================================================================
+
+class CalculateRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Stubs.CalculateRequest) */ {
+ public:
+ CalculateRequest();
+ virtual ~CalculateRequest();
+
+ CalculateRequest(const CalculateRequest& from);
+
+ inline CalculateRequest& operator=(const CalculateRequest& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ CalculateRequest(CalculateRequest&& from) noexcept
+ : CalculateRequest() {
+ *this = ::std::move(from);
+ }
+
+ inline CalculateRequest& operator=(CalculateRequest&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const CalculateRequest& default_instance();
+
+ static inline const CalculateRequest* internal_default_instance() {
+ return reinterpret_cast<const CalculateRequest*>(
+ &_CalculateRequest_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(CalculateRequest* other);
+ friend void swap(CalculateRequest& a, CalculateRequest& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline CalculateRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ CalculateRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const CalculateRequest& from);
+ void MergeFrom(const CalculateRequest& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(CalculateRequest* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // double A = 1;
+ void clear_a();
+ static const int kAFieldNumber = 1;
+ double a() const;
+ void set_a(double value);
+
+ // double B = 2;
+ void clear_b();
+ static const int kBFieldNumber = 2;
+ double b() const;
+ void set_b(double value);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.CalculateRequest)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ double a_;
+ double b_;
+ mutable int _cached_size_;
+ friend struct protobuf_CalculateRequest_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// CalculateRequest
+
+// double A = 1;
+inline void CalculateRequest::clear_a() {
+ a_ = 0;
+}
+inline double CalculateRequest::a() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.CalculateRequest.A)
+ return a_;
+}
+inline void CalculateRequest::set_a(double value) {
+
+ a_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.CalculateRequest.A)
+}
+
+// double B = 2;
+inline void CalculateRequest::clear_b() {
+ b_ = 0;
+}
+inline double CalculateRequest::b() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.CalculateRequest.B)
+ return b_;
+}
+inline void CalculateRequest::set_b(double value) {
+
+ b_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.CalculateRequest.B)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_CalculateRequest_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.cc
new file mode 100644
index 000000000..d7c9ab538
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.cc
@@ -0,0 +1,389 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: CalculateResponse.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "CalculateResponse.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class CalculateResponseDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<CalculateResponse>
+ _instance;
+} _CalculateResponse_default_instance_;
+
+namespace protobuf_CalculateResponse_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CalculateResponse, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CalculateResponse, sum_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(CalculateResponse)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_CalculateResponse_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "CalculateResponse.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ _CalculateResponse_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_CalculateResponse_default_instance_);}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\027CalculateResponse.proto\022\017Tango.PMR.Stu"
+ "bs\" \n\021CalculateResponse\022\013\n\003Sum\030\001 \001(\001B\033\n\031"
+ "com.twine.tango.pmr.stubsb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 113);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "CalculateResponse.proto", &protobuf_RegisterTypes);
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_CalculateResponse_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int CalculateResponse::kSumFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+CalculateResponse::CalculateResponse()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_CalculateResponse_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Stubs.CalculateResponse)
+}
+CalculateResponse::CalculateResponse(const CalculateResponse& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ sum_ = from.sum_;
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Stubs.CalculateResponse)
+}
+
+void CalculateResponse::SharedCtor() {
+ sum_ = 0;
+ _cached_size_ = 0;
+}
+
+CalculateResponse::~CalculateResponse() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Stubs.CalculateResponse)
+ SharedDtor();
+}
+
+void CalculateResponse::SharedDtor() {
+}
+
+void CalculateResponse::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* CalculateResponse::descriptor() {
+ protobuf_CalculateResponse_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_CalculateResponse_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const CalculateResponse& CalculateResponse::default_instance() {
+ protobuf_CalculateResponse_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+CalculateResponse* CalculateResponse::New(::google::protobuf::Arena* arena) const {
+ CalculateResponse* n = new CalculateResponse;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void CalculateResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Stubs.CalculateResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ sum_ = 0;
+ _internal_metadata_.Clear();
+}
+
+bool CalculateResponse::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Stubs.CalculateResponse)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // double Sum = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(9u /* 9 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+ input, &sum_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Stubs.CalculateResponse)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Stubs.CalculateResponse)
+ return false;
+#undef DO_
+}
+
+void CalculateResponse::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Stubs.CalculateResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // double Sum = 1;
+ if (this->sum() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteDouble(1, this->sum(), output);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Stubs.CalculateResponse)
+}
+
+::google::protobuf::uint8* CalculateResponse::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Stubs.CalculateResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // double Sum = 1;
+ if (this->sum() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(1, this->sum(), target);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Stubs.CalculateResponse)
+ return target;
+}
+
+size_t CalculateResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Stubs.CalculateResponse)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ // double Sum = 1;
+ if (this->sum() != 0) {
+ total_size += 1 + 8;
+ }
+
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void CalculateResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Stubs.CalculateResponse)
+ GOOGLE_DCHECK_NE(&from, this);
+ const CalculateResponse* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const CalculateResponse>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Stubs.CalculateResponse)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Stubs.CalculateResponse)
+ MergeFrom(*source);
+ }
+}
+
+void CalculateResponse::MergeFrom(const CalculateResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Stubs.CalculateResponse)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.sum() != 0) {
+ set_sum(from.sum());
+ }
+}
+
+void CalculateResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Stubs.CalculateResponse)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void CalculateResponse::CopyFrom(const CalculateResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Stubs.CalculateResponse)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool CalculateResponse::IsInitialized() const {
+ return true;
+}
+
+void CalculateResponse::Swap(CalculateResponse* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void CalculateResponse::InternalSwap(CalculateResponse* other) {
+ using std::swap;
+ swap(sum_, other->sum_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata CalculateResponse::GetMetadata() const {
+ protobuf_CalculateResponse_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_CalculateResponse_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// CalculateResponse
+
+// double Sum = 1;
+void CalculateResponse::clear_sum() {
+ sum_ = 0;
+}
+double CalculateResponse::sum() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.CalculateResponse.Sum)
+ return sum_;
+}
+void CalculateResponse::set_sum(double value) {
+
+ sum_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.CalculateResponse.Sum)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.h
new file mode 100644
index 000000000..1bcf86e80
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/CalculateResponse.pb.h
@@ -0,0 +1,199 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: CalculateResponse.proto
+
+#ifndef PROTOBUF_CalculateResponse_2eproto__INCLUDED
+#define PROTOBUF_CalculateResponse_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class CalculateResponse;
+class CalculateResponseDefaultTypeInternal;
+extern CalculateResponseDefaultTypeInternal _CalculateResponse_default_instance_;
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+
+namespace protobuf_CalculateResponse_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_CalculateResponse_2eproto
+
+// ===================================================================
+
+class CalculateResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Stubs.CalculateResponse) */ {
+ public:
+ CalculateResponse();
+ virtual ~CalculateResponse();
+
+ CalculateResponse(const CalculateResponse& from);
+
+ inline CalculateResponse& operator=(const CalculateResponse& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ CalculateResponse(CalculateResponse&& from) noexcept
+ : CalculateResponse() {
+ *this = ::std::move(from);
+ }
+
+ inline CalculateResponse& operator=(CalculateResponse&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const CalculateResponse& default_instance();
+
+ static inline const CalculateResponse* internal_default_instance() {
+ return reinterpret_cast<const CalculateResponse*>(
+ &_CalculateResponse_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(CalculateResponse* other);
+ friend void swap(CalculateResponse& a, CalculateResponse& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline CalculateResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ CalculateResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const CalculateResponse& from);
+ void MergeFrom(const CalculateResponse& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(CalculateResponse* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // double Sum = 1;
+ void clear_sum();
+ static const int kSumFieldNumber = 1;
+ double sum() const;
+ void set_sum(double value);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.CalculateResponse)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ double sum_;
+ mutable int _cached_size_;
+ friend struct protobuf_CalculateResponse_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// CalculateResponse
+
+// double Sum = 1;
+inline void CalculateResponse::clear_sum() {
+ sum_ = 0;
+}
+inline double CalculateResponse::sum() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.CalculateResponse.Sum)
+ return sum_;
+}
+inline void CalculateResponse::set_sum(double value) {
+
+ sum_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.CalculateResponse.Sum)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_CalculateResponse_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.cc
new file mode 100644
index 000000000..78a895b4b
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.cc
@@ -0,0 +1,525 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Job.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "Job.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Jobs {
+class JobDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<Job>
+ _instance;
+} _Job_default_instance_;
+
+namespace protobuf_Job_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Job, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Job, name_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Job, segments_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(Job)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_Job_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "Job.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ ::Tango::PMR::Jobs::protobuf_Segment_2eproto::InitDefaults();
+ _Job_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_Job_default_instance_);}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\tJob.proto\022\016Tango.PMR.Jobs\032\rSegment.pro"
+ "to\">\n\003Job\022\014\n\004Name\030\001 \001(\t\022)\n\010Segments\030\002 \003("
+ "\0132\027.Tango.PMR.Jobs.SegmentB\032\n\030com.twine."
+ "tango.pmr.jobsb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 142);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "Job.proto", &protobuf_RegisterTypes);
+ ::Tango::PMR::Jobs::protobuf_Segment_2eproto::AddDescriptors();
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_Job_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int Job::kNameFieldNumber;
+const int Job::kSegmentsFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+Job::Job()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_Job_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Jobs.Job)
+}
+Job::Job(const Job& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ segments_(from.segments_),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (from.name().size() > 0) {
+ name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
+ }
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Jobs.Job)
+}
+
+void Job::SharedCtor() {
+ name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ _cached_size_ = 0;
+}
+
+Job::~Job() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Jobs.Job)
+ SharedDtor();
+}
+
+void Job::SharedDtor() {
+ name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void Job::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* Job::descriptor() {
+ protobuf_Job_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_Job_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const Job& Job::default_instance() {
+ protobuf_Job_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+Job* Job::New(::google::protobuf::Arena* arena) const {
+ Job* n = new Job;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void Job::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Jobs.Job)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ segments_.Clear();
+ name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ _internal_metadata_.Clear();
+}
+
+bool Job::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Jobs.Job)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // string Name = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+ input, this->mutable_name()));
+ DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->name().data(), static_cast<int>(this->name().length()),
+ ::google::protobuf::internal::WireFormatLite::PARSE,
+ "Tango.PMR.Jobs.Job.Name"));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // repeated .Tango.PMR.Jobs.Segment Segments = 2;
+ case 2: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, add_segments()));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Jobs.Job)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Jobs.Job)
+ return false;
+#undef DO_
+}
+
+void Job::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Jobs.Job)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string Name = 1;
+ if (this->name().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->name().data(), static_cast<int>(this->name().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Jobs.Job.Name");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 1, this->name(), output);
+ }
+
+ // repeated .Tango.PMR.Jobs.Segment Segments = 2;
+ for (unsigned int i = 0,
+ n = static_cast<unsigned int>(this->segments_size()); i < n; i++) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 2, this->segments(static_cast<int>(i)), output);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Jobs.Job)
+}
+
+::google::protobuf::uint8* Job::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Jobs.Job)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string Name = 1;
+ if (this->name().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->name().data(), static_cast<int>(this->name().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Jobs.Job.Name");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 1, this->name(), target);
+ }
+
+ // repeated .Tango.PMR.Jobs.Segment Segments = 2;
+ for (unsigned int i = 0,
+ n = static_cast<unsigned int>(this->segments_size()); i < n; i++) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ InternalWriteMessageNoVirtualToArray(
+ 2, this->segments(static_cast<int>(i)), deterministic, target);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Jobs.Job)
+ return target;
+}
+
+size_t Job::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Jobs.Job)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ // repeated .Tango.PMR.Jobs.Segment Segments = 2;
+ {
+ unsigned int count = static_cast<unsigned int>(this->segments_size());
+ total_size += 1UL * count;
+ for (unsigned int i = 0; i < count; i++) {
+ total_size +=
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->segments(static_cast<int>(i)));
+ }
+ }
+
+ // string Name = 1;
+ if (this->name().size() > 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->name());
+ }
+
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void Job::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Jobs.Job)
+ GOOGLE_DCHECK_NE(&from, this);
+ const Job* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const Job>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Jobs.Job)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Jobs.Job)
+ MergeFrom(*source);
+ }
+}
+
+void Job::MergeFrom(const Job& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Jobs.Job)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ segments_.MergeFrom(from.segments_);
+ if (from.name().size() > 0) {
+
+ name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
+ }
+}
+
+void Job::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Jobs.Job)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void Job::CopyFrom(const Job& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Jobs.Job)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool Job::IsInitialized() const {
+ return true;
+}
+
+void Job::Swap(Job* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void Job::InternalSwap(Job* other) {
+ using std::swap;
+ segments_.InternalSwap(&other->segments_);
+ name_.Swap(&other->name_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata Job::GetMetadata() const {
+ protobuf_Job_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_Job_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// Job
+
+// string Name = 1;
+void Job::clear_name() {
+ name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+const ::std::string& Job::name() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Job.Name)
+ return name_.GetNoArena();
+}
+void Job::set_name(const ::std::string& value) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Jobs.Job.Name)
+}
+#if LANG_CXX11
+void Job::set_name(::std::string&& value) {
+
+ name_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Jobs.Job.Name)
+}
+#endif
+void Job::set_name(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Jobs.Job.Name)
+}
+void Job::set_name(const char* value, size_t size) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Jobs.Job.Name)
+}
+::std::string* Job::mutable_name() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Job.Name)
+ return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* Job::release_name() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Jobs.Job.Name)
+
+ return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void Job::set_allocated_name(::std::string* name) {
+ if (name != NULL) {
+
+ } else {
+
+ }
+ name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Jobs.Job.Name)
+}
+
+// repeated .Tango.PMR.Jobs.Segment Segments = 2;
+int Job::segments_size() const {
+ return segments_.size();
+}
+void Job::clear_segments() {
+ segments_.Clear();
+}
+const ::Tango::PMR::Jobs::Segment& Job::segments(int index) const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Job.Segments)
+ return segments_.Get(index);
+}
+::Tango::PMR::Jobs::Segment* Job::mutable_segments(int index) {
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Job.Segments)
+ return segments_.Mutable(index);
+}
+::Tango::PMR::Jobs::Segment* Job::add_segments() {
+ // @@protoc_insertion_point(field_add:Tango.PMR.Jobs.Job.Segments)
+ return segments_.Add();
+}
+::google::protobuf::RepeatedPtrField< ::Tango::PMR::Jobs::Segment >*
+Job::mutable_segments() {
+ // @@protoc_insertion_point(field_mutable_list:Tango.PMR.Jobs.Job.Segments)
+ return &segments_;
+}
+const ::google::protobuf::RepeatedPtrField< ::Tango::PMR::Jobs::Segment >&
+Job::segments() const {
+ // @@protoc_insertion_point(field_list:Tango.PMR.Jobs.Job.Segments)
+ return segments_;
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Jobs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.h
new file mode 100644
index 000000000..6cd09051c
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Job.pb.h
@@ -0,0 +1,290 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Job.proto
+
+#ifndef PROTOBUF_Job_2eproto__INCLUDED
+#define PROTOBUF_Job_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+#include "Segment.pb.h"
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Jobs {
+class Job;
+class JobDefaultTypeInternal;
+extern JobDefaultTypeInternal _Job_default_instance_;
+} // namespace Jobs
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Jobs {
+
+namespace protobuf_Job_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_Job_2eproto
+
+// ===================================================================
+
+class Job : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Jobs.Job) */ {
+ public:
+ Job();
+ virtual ~Job();
+
+ Job(const Job& from);
+
+ inline Job& operator=(const Job& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ Job(Job&& from) noexcept
+ : Job() {
+ *this = ::std::move(from);
+ }
+
+ inline Job& operator=(Job&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const Job& default_instance();
+
+ static inline const Job* internal_default_instance() {
+ return reinterpret_cast<const Job*>(
+ &_Job_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(Job* other);
+ friend void swap(Job& a, Job& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline Job* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ Job* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const Job& from);
+ void MergeFrom(const Job& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(Job* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // repeated .Tango.PMR.Jobs.Segment Segments = 2;
+ int segments_size() const;
+ void clear_segments();
+ static const int kSegmentsFieldNumber = 2;
+ const ::Tango::PMR::Jobs::Segment& segments(int index) const;
+ ::Tango::PMR::Jobs::Segment* mutable_segments(int index);
+ ::Tango::PMR::Jobs::Segment* add_segments();
+ ::google::protobuf::RepeatedPtrField< ::Tango::PMR::Jobs::Segment >*
+ mutable_segments();
+ const ::google::protobuf::RepeatedPtrField< ::Tango::PMR::Jobs::Segment >&
+ segments() const;
+
+ // string Name = 1;
+ void clear_name();
+ static const int kNameFieldNumber = 1;
+ const ::std::string& name() const;
+ void set_name(const ::std::string& value);
+ #if LANG_CXX11
+ void set_name(::std::string&& value);
+ #endif
+ void set_name(const char* value);
+ void set_name(const char* value, size_t size);
+ ::std::string* mutable_name();
+ ::std::string* release_name();
+ void set_allocated_name(::std::string* name);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Jobs.Job)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ ::google::protobuf::RepeatedPtrField< ::Tango::PMR::Jobs::Segment > segments_;
+ ::google::protobuf::internal::ArenaStringPtr name_;
+ mutable int _cached_size_;
+ friend struct protobuf_Job_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// Job
+
+// string Name = 1;
+inline void Job::clear_name() {
+ name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& Job::name() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Job.Name)
+ return name_.GetNoArena();
+}
+inline void Job::set_name(const ::std::string& value) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Jobs.Job.Name)
+}
+#if LANG_CXX11
+inline void Job::set_name(::std::string&& value) {
+
+ name_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Jobs.Job.Name)
+}
+#endif
+inline void Job::set_name(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Jobs.Job.Name)
+}
+inline void Job::set_name(const char* value, size_t size) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Jobs.Job.Name)
+}
+inline ::std::string* Job::mutable_name() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Job.Name)
+ return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* Job::release_name() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Jobs.Job.Name)
+
+ return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void Job::set_allocated_name(::std::string* name) {
+ if (name != NULL) {
+
+ } else {
+
+ }
+ name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Jobs.Job.Name)
+}
+
+// repeated .Tango.PMR.Jobs.Segment Segments = 2;
+inline int Job::segments_size() const {
+ return segments_.size();
+}
+inline void Job::clear_segments() {
+ segments_.Clear();
+}
+inline const ::Tango::PMR::Jobs::Segment& Job::segments(int index) const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Job.Segments)
+ return segments_.Get(index);
+}
+inline ::Tango::PMR::Jobs::Segment* Job::mutable_segments(int index) {
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Job.Segments)
+ return segments_.Mutable(index);
+}
+inline ::Tango::PMR::Jobs::Segment* Job::add_segments() {
+ // @@protoc_insertion_point(field_add:Tango.PMR.Jobs.Job.Segments)
+ return segments_.Add();
+}
+inline ::google::protobuf::RepeatedPtrField< ::Tango::PMR::Jobs::Segment >*
+Job::mutable_segments() {
+ // @@protoc_insertion_point(field_mutable_list:Tango.PMR.Jobs.Job.Segments)
+ return &segments_;
+}
+inline const ::google::protobuf::RepeatedPtrField< ::Tango::PMR::Jobs::Segment >&
+Job::segments() const {
+ // @@protoc_insertion_point(field_list:Tango.PMR.Jobs.Job.Segments)
+ return segments_;
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Jobs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_Job_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.cc
new file mode 100644
index 000000000..e06fad270
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.cc
@@ -0,0 +1,712 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: MessageContainer.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "MessageContainer.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Common {
+class MessageContainerDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<MessageContainer>
+ _instance;
+} _MessageContainer_default_instance_;
+
+namespace protobuf_MessageContainer_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageContainer, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageContainer, type_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageContainer, token_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageContainer, continuous_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageContainer, completed_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageContainer, data_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(MessageContainer)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_MessageContainer_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "MessageContainer.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ ::Tango::PMR::Common::protobuf_MessageType_2eproto::InitDefaults();
+ _MessageContainer_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_MessageContainer_default_instance_);}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\026MessageContainer.proto\022\020Tango.PMR.Comm"
+ "on\032\021MessageType.proto\"\203\001\n\020MessageContain"
+ "er\022+\n\004Type\030\001 \001(\0162\035.Tango.PMR.Common.Mess"
+ "ageType\022\r\n\005Token\030\002 \001(\t\022\022\n\nContinuous\030\003 \001"
+ "(\010\022\021\n\tCompleted\030\004 \001(\010\022\014\n\004Data\030\005 \001(\014B\034\n\032c"
+ "om.twine.tango.pmr.commonb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 233);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "MessageContainer.proto", &protobuf_RegisterTypes);
+ ::Tango::PMR::Common::protobuf_MessageType_2eproto::AddDescriptors();
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_MessageContainer_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int MessageContainer::kTypeFieldNumber;
+const int MessageContainer::kTokenFieldNumber;
+const int MessageContainer::kContinuousFieldNumber;
+const int MessageContainer::kCompletedFieldNumber;
+const int MessageContainer::kDataFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+MessageContainer::MessageContainer()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_MessageContainer_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Common.MessageContainer)
+}
+MessageContainer::MessageContainer(const MessageContainer& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (from.token().size() > 0) {
+ token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
+ }
+ data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (from.data().size() > 0) {
+ data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
+ }
+ ::memcpy(&type_, &from.type_,
+ static_cast<size_t>(reinterpret_cast<char*>(&completed_) -
+ reinterpret_cast<char*>(&type_)) + sizeof(completed_));
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Common.MessageContainer)
+}
+
+void MessageContainer::SharedCtor() {
+ token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ ::memset(&type_, 0, static_cast<size_t>(
+ reinterpret_cast<char*>(&completed_) -
+ reinterpret_cast<char*>(&type_)) + sizeof(completed_));
+ _cached_size_ = 0;
+}
+
+MessageContainer::~MessageContainer() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Common.MessageContainer)
+ SharedDtor();
+}
+
+void MessageContainer::SharedDtor() {
+ token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void MessageContainer::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* MessageContainer::descriptor() {
+ protobuf_MessageContainer_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_MessageContainer_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const MessageContainer& MessageContainer::default_instance() {
+ protobuf_MessageContainer_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+MessageContainer* MessageContainer::New(::google::protobuf::Arena* arena) const {
+ MessageContainer* n = new MessageContainer;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void MessageContainer::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Common.MessageContainer)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ ::memset(&type_, 0, static_cast<size_t>(
+ reinterpret_cast<char*>(&completed_) -
+ reinterpret_cast<char*>(&type_)) + sizeof(completed_));
+ _internal_metadata_.Clear();
+}
+
+bool MessageContainer::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Common.MessageContainer)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // .Tango.PMR.Common.MessageType Type = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+ int value;
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+ input, &value)));
+ set_type(static_cast< ::Tango::PMR::Common::MessageType >(value));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // string Token = 2;
+ case 2: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+ input, this->mutable_token()));
+ DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->token().data(), static_cast<int>(this->token().length()),
+ ::google::protobuf::internal::WireFormatLite::PARSE,
+ "Tango.PMR.Common.MessageContainer.Token"));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // bool Continuous = 3;
+ case 3: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+ input, &continuous_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // bool Completed = 4;
+ case 4: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+ input, &completed_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // bytes Data = 5;
+ case 5: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+ input, this->mutable_data()));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Common.MessageContainer)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Common.MessageContainer)
+ return false;
+#undef DO_
+}
+
+void MessageContainer::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Common.MessageContainer)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // .Tango.PMR.Common.MessageType Type = 1;
+ if (this->type() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteEnum(
+ 1, this->type(), output);
+ }
+
+ // string Token = 2;
+ if (this->token().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->token().data(), static_cast<int>(this->token().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Common.MessageContainer.Token");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 2, this->token(), output);
+ }
+
+ // bool Continuous = 3;
+ if (this->continuous() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->continuous(), output);
+ }
+
+ // bool Completed = 4;
+ if (this->completed() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->completed(), output);
+ }
+
+ // bytes Data = 5;
+ if (this->data().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+ 5, this->data(), output);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Common.MessageContainer)
+}
+
+::google::protobuf::uint8* MessageContainer::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Common.MessageContainer)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // .Tango.PMR.Common.MessageType Type = 1;
+ if (this->type() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
+ 1, this->type(), target);
+ }
+
+ // string Token = 2;
+ if (this->token().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->token().data(), static_cast<int>(this->token().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Common.MessageContainer.Token");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 2, this->token(), target);
+ }
+
+ // bool Continuous = 3;
+ if (this->continuous() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->continuous(), target);
+ }
+
+ // bool Completed = 4;
+ if (this->completed() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->completed(), target);
+ }
+
+ // bytes Data = 5;
+ if (this->data().size() > 0) {
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+ 5, this->data(), target);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Common.MessageContainer)
+ return target;
+}
+
+size_t MessageContainer::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Common.MessageContainer)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ // string Token = 2;
+ if (this->token().size() > 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->token());
+ }
+
+ // bytes Data = 5;
+ if (this->data().size() > 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::BytesSize(
+ this->data());
+ }
+
+ // .Tango.PMR.Common.MessageType Type = 1;
+ if (this->type() != 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
+ }
+
+ // bool Continuous = 3;
+ if (this->continuous() != 0) {
+ total_size += 1 + 1;
+ }
+
+ // bool Completed = 4;
+ if (this->completed() != 0) {
+ total_size += 1 + 1;
+ }
+
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void MessageContainer::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Common.MessageContainer)
+ GOOGLE_DCHECK_NE(&from, this);
+ const MessageContainer* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const MessageContainer>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Common.MessageContainer)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Common.MessageContainer)
+ MergeFrom(*source);
+ }
+}
+
+void MessageContainer::MergeFrom(const MessageContainer& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Common.MessageContainer)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.token().size() > 0) {
+
+ token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
+ }
+ if (from.data().size() > 0) {
+
+ data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
+ }
+ if (from.type() != 0) {
+ set_type(from.type());
+ }
+ if (from.continuous() != 0) {
+ set_continuous(from.continuous());
+ }
+ if (from.completed() != 0) {
+ set_completed(from.completed());
+ }
+}
+
+void MessageContainer::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Common.MessageContainer)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void MessageContainer::CopyFrom(const MessageContainer& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Common.MessageContainer)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool MessageContainer::IsInitialized() const {
+ return true;
+}
+
+void MessageContainer::Swap(MessageContainer* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void MessageContainer::InternalSwap(MessageContainer* other) {
+ using std::swap;
+ token_.Swap(&other->token_);
+ data_.Swap(&other->data_);
+ swap(type_, other->type_);
+ swap(continuous_, other->continuous_);
+ swap(completed_, other->completed_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata MessageContainer::GetMetadata() const {
+ protobuf_MessageContainer_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_MessageContainer_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// MessageContainer
+
+// .Tango.PMR.Common.MessageType Type = 1;
+void MessageContainer::clear_type() {
+ type_ = 0;
+}
+::Tango::PMR::Common::MessageType MessageContainer::type() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Type)
+ return static_cast< ::Tango::PMR::Common::MessageType >(type_);
+}
+void MessageContainer::set_type(::Tango::PMR::Common::MessageType value) {
+
+ type_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Type)
+}
+
+// string Token = 2;
+void MessageContainer::clear_token() {
+ token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+const ::std::string& MessageContainer::token() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Token)
+ return token_.GetNoArena();
+}
+void MessageContainer::set_token(const ::std::string& value) {
+
+ token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Token)
+}
+#if LANG_CXX11
+void MessageContainer::set_token(::std::string&& value) {
+
+ token_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Common.MessageContainer.Token)
+}
+#endif
+void MessageContainer::set_token(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Common.MessageContainer.Token)
+}
+void MessageContainer::set_token(const char* value, size_t size) {
+
+ token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Common.MessageContainer.Token)
+}
+::std::string* MessageContainer::mutable_token() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Common.MessageContainer.Token)
+ return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* MessageContainer::release_token() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Common.MessageContainer.Token)
+
+ return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void MessageContainer::set_allocated_token(::std::string* token) {
+ if (token != NULL) {
+
+ } else {
+
+ }
+ token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Common.MessageContainer.Token)
+}
+
+// bool Continuous = 3;
+void MessageContainer::clear_continuous() {
+ continuous_ = false;
+}
+bool MessageContainer::continuous() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Continuous)
+ return continuous_;
+}
+void MessageContainer::set_continuous(bool value) {
+
+ continuous_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Continuous)
+}
+
+// bool Completed = 4;
+void MessageContainer::clear_completed() {
+ completed_ = false;
+}
+bool MessageContainer::completed() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Completed)
+ return completed_;
+}
+void MessageContainer::set_completed(bool value) {
+
+ completed_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Completed)
+}
+
+// bytes Data = 5;
+void MessageContainer::clear_data() {
+ data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+const ::std::string& MessageContainer::data() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Data)
+ return data_.GetNoArena();
+}
+void MessageContainer::set_data(const ::std::string& value) {
+
+ data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Data)
+}
+#if LANG_CXX11
+void MessageContainer::set_data(::std::string&& value) {
+
+ data_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Common.MessageContainer.Data)
+}
+#endif
+void MessageContainer::set_data(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Common.MessageContainer.Data)
+}
+void MessageContainer::set_data(const void* value, size_t size) {
+
+ data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Common.MessageContainer.Data)
+}
+::std::string* MessageContainer::mutable_data() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Common.MessageContainer.Data)
+ return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* MessageContainer::release_data() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Common.MessageContainer.Data)
+
+ return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void MessageContainer::set_allocated_data(::std::string* data) {
+ if (data != NULL) {
+
+ } else {
+
+ }
+ data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Common.MessageContainer.Data)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.h
new file mode 100644
index 000000000..b853ede29
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageContainer.pb.h
@@ -0,0 +1,378 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: MessageContainer.proto
+
+#ifndef PROTOBUF_MessageContainer_2eproto__INCLUDED
+#define PROTOBUF_MessageContainer_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+#include "MessageType.pb.h"
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Common {
+class MessageContainer;
+class MessageContainerDefaultTypeInternal;
+extern MessageContainerDefaultTypeInternal _MessageContainer_default_instance_;
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Common {
+
+namespace protobuf_MessageContainer_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_MessageContainer_2eproto
+
+// ===================================================================
+
+class MessageContainer : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Common.MessageContainer) */ {
+ public:
+ MessageContainer();
+ virtual ~MessageContainer();
+
+ MessageContainer(const MessageContainer& from);
+
+ inline MessageContainer& operator=(const MessageContainer& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ MessageContainer(MessageContainer&& from) noexcept
+ : MessageContainer() {
+ *this = ::std::move(from);
+ }
+
+ inline MessageContainer& operator=(MessageContainer&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const MessageContainer& default_instance();
+
+ static inline const MessageContainer* internal_default_instance() {
+ return reinterpret_cast<const MessageContainer*>(
+ &_MessageContainer_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(MessageContainer* other);
+ friend void swap(MessageContainer& a, MessageContainer& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline MessageContainer* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ MessageContainer* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const MessageContainer& from);
+ void MergeFrom(const MessageContainer& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(MessageContainer* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // string Token = 2;
+ void clear_token();
+ static const int kTokenFieldNumber = 2;
+ const ::std::string& token() const;
+ void set_token(const ::std::string& value);
+ #if LANG_CXX11
+ void set_token(::std::string&& value);
+ #endif
+ void set_token(const char* value);
+ void set_token(const char* value, size_t size);
+ ::std::string* mutable_token();
+ ::std::string* release_token();
+ void set_allocated_token(::std::string* token);
+
+ // bytes Data = 5;
+ void clear_data();
+ static const int kDataFieldNumber = 5;
+ const ::std::string& data() const;
+ void set_data(const ::std::string& value);
+ #if LANG_CXX11
+ void set_data(::std::string&& value);
+ #endif
+ void set_data(const char* value);
+ void set_data(const void* value, size_t size);
+ ::std::string* mutable_data();
+ ::std::string* release_data();
+ void set_allocated_data(::std::string* data);
+
+ // .Tango.PMR.Common.MessageType Type = 1;
+ void clear_type();
+ static const int kTypeFieldNumber = 1;
+ ::Tango::PMR::Common::MessageType type() const;
+ void set_type(::Tango::PMR::Common::MessageType value);
+
+ // bool Continuous = 3;
+ void clear_continuous();
+ static const int kContinuousFieldNumber = 3;
+ bool continuous() const;
+ void set_continuous(bool value);
+
+ // bool Completed = 4;
+ void clear_completed();
+ static const int kCompletedFieldNumber = 4;
+ bool completed() const;
+ void set_completed(bool value);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Common.MessageContainer)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ ::google::protobuf::internal::ArenaStringPtr token_;
+ ::google::protobuf::internal::ArenaStringPtr data_;
+ int type_;
+ bool continuous_;
+ bool completed_;
+ mutable int _cached_size_;
+ friend struct protobuf_MessageContainer_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// MessageContainer
+
+// .Tango.PMR.Common.MessageType Type = 1;
+inline void MessageContainer::clear_type() {
+ type_ = 0;
+}
+inline ::Tango::PMR::Common::MessageType MessageContainer::type() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Type)
+ return static_cast< ::Tango::PMR::Common::MessageType >(type_);
+}
+inline void MessageContainer::set_type(::Tango::PMR::Common::MessageType value) {
+
+ type_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Type)
+}
+
+// string Token = 2;
+inline void MessageContainer::clear_token() {
+ token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& MessageContainer::token() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Token)
+ return token_.GetNoArena();
+}
+inline void MessageContainer::set_token(const ::std::string& value) {
+
+ token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Token)
+}
+#if LANG_CXX11
+inline void MessageContainer::set_token(::std::string&& value) {
+
+ token_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Common.MessageContainer.Token)
+}
+#endif
+inline void MessageContainer::set_token(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Common.MessageContainer.Token)
+}
+inline void MessageContainer::set_token(const char* value, size_t size) {
+
+ token_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Common.MessageContainer.Token)
+}
+inline ::std::string* MessageContainer::mutable_token() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Common.MessageContainer.Token)
+ return token_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* MessageContainer::release_token() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Common.MessageContainer.Token)
+
+ return token_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void MessageContainer::set_allocated_token(::std::string* token) {
+ if (token != NULL) {
+
+ } else {
+
+ }
+ token_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), token);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Common.MessageContainer.Token)
+}
+
+// bool Continuous = 3;
+inline void MessageContainer::clear_continuous() {
+ continuous_ = false;
+}
+inline bool MessageContainer::continuous() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Continuous)
+ return continuous_;
+}
+inline void MessageContainer::set_continuous(bool value) {
+
+ continuous_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Continuous)
+}
+
+// bool Completed = 4;
+inline void MessageContainer::clear_completed() {
+ completed_ = false;
+}
+inline bool MessageContainer::completed() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Completed)
+ return completed_;
+}
+inline void MessageContainer::set_completed(bool value) {
+
+ completed_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Completed)
+}
+
+// bytes Data = 5;
+inline void MessageContainer::clear_data() {
+ data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& MessageContainer::data() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.MessageContainer.Data)
+ return data_.GetNoArena();
+}
+inline void MessageContainer::set_data(const ::std::string& value) {
+
+ data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.MessageContainer.Data)
+}
+#if LANG_CXX11
+inline void MessageContainer::set_data(::std::string&& value) {
+
+ data_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Common.MessageContainer.Data)
+}
+#endif
+inline void MessageContainer::set_data(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Common.MessageContainer.Data)
+}
+inline void MessageContainer::set_data(const void* value, size_t size) {
+
+ data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Common.MessageContainer.Data)
+}
+inline ::std::string* MessageContainer::mutable_data() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Common.MessageContainer.Data)
+ return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* MessageContainer::release_data() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Common.MessageContainer.Data)
+
+ return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void MessageContainer::set_allocated_data(::std::string* data) {
+ if (data != NULL) {
+
+ } else {
+
+ }
+ data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Common.MessageContainer.Data)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_MessageContainer_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.cc
new file mode 100644
index 000000000..f1c5e4280
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.cc
@@ -0,0 +1,138 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: MessageType.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "MessageType.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Common {
+
+namespace protobuf_MessageType_2eproto {
+
+
+namespace {
+
+const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[1] = {};
+static const ::google::protobuf::internal::MigrationSchema* schemas = NULL;
+static const ::google::protobuf::Message* const* file_default_instances = NULL;
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "MessageType.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ NULL, file_level_enum_descriptors, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\021MessageType.proto\022\020Tango.PMR.Common*\204\001"
+ "\n\013MessageType\022\007\n\003RGB\020\000\022\007\n\003Job\020\001\022\013\n\007Segme"
+ "nt\020\002\022\024\n\020CalculateRequest\020\003\022\025\n\021CalculateR"
+ "esponse\020\004\022\023\n\017ProgressRequest\020\005\022\024\n\020Progre"
+ "ssResponse\020\006B\034\n\032com.twine.tango.pmr.comm"
+ "onb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 210);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "MessageType.proto", &protobuf_RegisterTypes);
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_MessageType_2eproto
+
+const ::google::protobuf::EnumDescriptor* MessageType_descriptor() {
+ protobuf_MessageType_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_MessageType_2eproto::file_level_enum_descriptors[0];
+}
+bool MessageType_IsValid(int value) {
+ switch (value) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ return true;
+ default:
+ return false;
+ }
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h
new file mode 100644
index 000000000..45020a960
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h
@@ -0,0 +1,123 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: MessageType.proto
+
+#ifndef PROTOBUF_MessageType_2eproto__INCLUDED
+#define PROTOBUF_MessageType_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/generated_enum_reflection.h>
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Common {
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Common {
+
+namespace protobuf_MessageType_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_MessageType_2eproto
+
+enum MessageType {
+ RGB = 0,
+ Job = 1,
+ Segment = 2,
+ CalculateRequest = 3,
+ CalculateResponse = 4,
+ ProgressRequest = 5,
+ ProgressResponse = 6,
+ MessageType_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
+ MessageType_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
+};
+bool MessageType_IsValid(int value);
+const MessageType MessageType_MIN = RGB;
+const MessageType MessageType_MAX = ProgressResponse;
+const int MessageType_ARRAYSIZE = MessageType_MAX + 1;
+
+const ::google::protobuf::EnumDescriptor* MessageType_descriptor();
+inline const ::std::string& MessageType_Name(MessageType value) {
+ return ::google::protobuf::internal::NameOfEnum(
+ MessageType_descriptor(), value);
+}
+inline bool MessageType_Parse(
+ const ::std::string& name, MessageType* value) {
+ return ::google::protobuf::internal::ParseNamedEnum<MessageType>(
+ MessageType_descriptor(), name, value);
+}
+// ===================================================================
+
+
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+namespace google {
+namespace protobuf {
+
+template <> struct is_proto_enum< ::Tango::PMR::Common::MessageType> : ::google::protobuf::internal::true_type {};
+template <>
+inline const EnumDescriptor* GetEnumDescriptor< ::Tango::PMR::Common::MessageType>() {
+ return ::Tango::PMR::Common::MessageType_descriptor();
+}
+
+} // namespace protobuf
+} // namespace google
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_MessageType_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.cc
new file mode 100644
index 000000000..39adb6a72
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.cc
@@ -0,0 +1,332 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ProgressRequest.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "ProgressRequest.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class ProgressRequestDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ProgressRequest>
+ _instance;
+} _ProgressRequest_default_instance_;
+
+namespace protobuf_ProgressRequest_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProgressRequest, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(ProgressRequest)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_ProgressRequest_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "ProgressRequest.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ _ProgressRequest_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_ProgressRequest_default_instance_);}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\025ProgressRequest.proto\022\017Tango.PMR.Stubs"
+ "\"\021\n\017ProgressRequestB\033\n\031com.twine.tango.p"
+ "mr.stubsb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 96);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "ProgressRequest.proto", &protobuf_RegisterTypes);
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_ProgressRequest_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ProgressRequest::ProgressRequest()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_ProgressRequest_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Stubs.ProgressRequest)
+}
+ProgressRequest::ProgressRequest(const ProgressRequest& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Stubs.ProgressRequest)
+}
+
+void ProgressRequest::SharedCtor() {
+ _cached_size_ = 0;
+}
+
+ProgressRequest::~ProgressRequest() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Stubs.ProgressRequest)
+ SharedDtor();
+}
+
+void ProgressRequest::SharedDtor() {
+}
+
+void ProgressRequest::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ProgressRequest::descriptor() {
+ protobuf_ProgressRequest_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ProgressRequest_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const ProgressRequest& ProgressRequest::default_instance() {
+ protobuf_ProgressRequest_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+ProgressRequest* ProgressRequest::New(::google::protobuf::Arena* arena) const {
+ ProgressRequest* n = new ProgressRequest;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void ProgressRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Stubs.ProgressRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ _internal_metadata_.Clear();
+}
+
+bool ProgressRequest::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Stubs.ProgressRequest)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Stubs.ProgressRequest)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Stubs.ProgressRequest)
+ return false;
+#undef DO_
+}
+
+void ProgressRequest::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Stubs.ProgressRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Stubs.ProgressRequest)
+}
+
+::google::protobuf::uint8* ProgressRequest::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Stubs.ProgressRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Stubs.ProgressRequest)
+ return target;
+}
+
+size_t ProgressRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Stubs.ProgressRequest)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void ProgressRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Stubs.ProgressRequest)
+ GOOGLE_DCHECK_NE(&from, this);
+ const ProgressRequest* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const ProgressRequest>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Stubs.ProgressRequest)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Stubs.ProgressRequest)
+ MergeFrom(*source);
+ }
+}
+
+void ProgressRequest::MergeFrom(const ProgressRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Stubs.ProgressRequest)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+}
+
+void ProgressRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Stubs.ProgressRequest)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ProgressRequest::CopyFrom(const ProgressRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Stubs.ProgressRequest)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ProgressRequest::IsInitialized() const {
+ return true;
+}
+
+void ProgressRequest::Swap(ProgressRequest* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void ProgressRequest::InternalSwap(ProgressRequest* other) {
+ using std::swap;
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata ProgressRequest::GetMetadata() const {
+ protobuf_ProgressRequest_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ProgressRequest_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ProgressRequest
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.h
new file mode 100644
index 000000000..a41147953
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressRequest.pb.h
@@ -0,0 +1,178 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ProgressRequest.proto
+
+#ifndef PROTOBUF_ProgressRequest_2eproto__INCLUDED
+#define PROTOBUF_ProgressRequest_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class ProgressRequest;
+class ProgressRequestDefaultTypeInternal;
+extern ProgressRequestDefaultTypeInternal _ProgressRequest_default_instance_;
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+
+namespace protobuf_ProgressRequest_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_ProgressRequest_2eproto
+
+// ===================================================================
+
+class ProgressRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Stubs.ProgressRequest) */ {
+ public:
+ ProgressRequest();
+ virtual ~ProgressRequest();
+
+ ProgressRequest(const ProgressRequest& from);
+
+ inline ProgressRequest& operator=(const ProgressRequest& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ ProgressRequest(ProgressRequest&& from) noexcept
+ : ProgressRequest() {
+ *this = ::std::move(from);
+ }
+
+ inline ProgressRequest& operator=(ProgressRequest&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const ProgressRequest& default_instance();
+
+ static inline const ProgressRequest* internal_default_instance() {
+ return reinterpret_cast<const ProgressRequest*>(
+ &_ProgressRequest_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(ProgressRequest* other);
+ friend void swap(ProgressRequest& a, ProgressRequest& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline ProgressRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ ProgressRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const ProgressRequest& from);
+ void MergeFrom(const ProgressRequest& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(ProgressRequest* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.ProgressRequest)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ mutable int _cached_size_;
+ friend struct protobuf_ProgressRequest_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// ProgressRequest
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_ProgressRequest_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.cc
new file mode 100644
index 000000000..7769c1c0c
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.cc
@@ -0,0 +1,389 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ProgressResponse.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "ProgressResponse.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class ProgressResponseDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ProgressResponse>
+ _instance;
+} _ProgressResponse_default_instance_;
+
+namespace protobuf_ProgressResponse_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProgressResponse, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ProgressResponse, progress_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(ProgressResponse)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_ProgressResponse_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "ProgressResponse.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ _ProgressResponse_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_ProgressResponse_default_instance_);}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\026ProgressResponse.proto\022\017Tango.PMR.Stub"
+ "s\"$\n\020ProgressResponse\022\020\n\010Progress\030\001 \001(\001B"
+ "\033\n\031com.twine.tango.pmr.stubsb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 116);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "ProgressResponse.proto", &protobuf_RegisterTypes);
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_ProgressResponse_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ProgressResponse::kProgressFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ProgressResponse::ProgressResponse()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_ProgressResponse_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Stubs.ProgressResponse)
+}
+ProgressResponse::ProgressResponse(const ProgressResponse& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ progress_ = from.progress_;
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Stubs.ProgressResponse)
+}
+
+void ProgressResponse::SharedCtor() {
+ progress_ = 0;
+ _cached_size_ = 0;
+}
+
+ProgressResponse::~ProgressResponse() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Stubs.ProgressResponse)
+ SharedDtor();
+}
+
+void ProgressResponse::SharedDtor() {
+}
+
+void ProgressResponse::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ProgressResponse::descriptor() {
+ protobuf_ProgressResponse_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ProgressResponse_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const ProgressResponse& ProgressResponse::default_instance() {
+ protobuf_ProgressResponse_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+ProgressResponse* ProgressResponse::New(::google::protobuf::Arena* arena) const {
+ ProgressResponse* n = new ProgressResponse;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void ProgressResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Stubs.ProgressResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ progress_ = 0;
+ _internal_metadata_.Clear();
+}
+
+bool ProgressResponse::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Stubs.ProgressResponse)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // double Progress = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(9u /* 9 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+ input, &progress_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Stubs.ProgressResponse)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Stubs.ProgressResponse)
+ return false;
+#undef DO_
+}
+
+void ProgressResponse::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Stubs.ProgressResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // double Progress = 1;
+ if (this->progress() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteDouble(1, this->progress(), output);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Stubs.ProgressResponse)
+}
+
+::google::protobuf::uint8* ProgressResponse::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Stubs.ProgressResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // double Progress = 1;
+ if (this->progress() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(1, this->progress(), target);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Stubs.ProgressResponse)
+ return target;
+}
+
+size_t ProgressResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Stubs.ProgressResponse)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ // double Progress = 1;
+ if (this->progress() != 0) {
+ total_size += 1 + 8;
+ }
+
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void ProgressResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Stubs.ProgressResponse)
+ GOOGLE_DCHECK_NE(&from, this);
+ const ProgressResponse* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const ProgressResponse>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Stubs.ProgressResponse)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Stubs.ProgressResponse)
+ MergeFrom(*source);
+ }
+}
+
+void ProgressResponse::MergeFrom(const ProgressResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Stubs.ProgressResponse)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.progress() != 0) {
+ set_progress(from.progress());
+ }
+}
+
+void ProgressResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Stubs.ProgressResponse)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ProgressResponse::CopyFrom(const ProgressResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Stubs.ProgressResponse)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ProgressResponse::IsInitialized() const {
+ return true;
+}
+
+void ProgressResponse::Swap(ProgressResponse* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void ProgressResponse::InternalSwap(ProgressResponse* other) {
+ using std::swap;
+ swap(progress_, other->progress_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata ProgressResponse::GetMetadata() const {
+ protobuf_ProgressResponse_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ProgressResponse_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ProgressResponse
+
+// double Progress = 1;
+void ProgressResponse::clear_progress() {
+ progress_ = 0;
+}
+double ProgressResponse::progress() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.ProgressResponse.Progress)
+ return progress_;
+}
+void ProgressResponse::set_progress(double value) {
+
+ progress_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.ProgressResponse.Progress)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.h
new file mode 100644
index 000000000..74f5ecc57
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ProgressResponse.pb.h
@@ -0,0 +1,199 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ProgressResponse.proto
+
+#ifndef PROTOBUF_ProgressResponse_2eproto__INCLUDED
+#define PROTOBUF_ProgressResponse_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+class ProgressResponse;
+class ProgressResponseDefaultTypeInternal;
+extern ProgressResponseDefaultTypeInternal _ProgressResponse_default_instance_;
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Stubs {
+
+namespace protobuf_ProgressResponse_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_ProgressResponse_2eproto
+
+// ===================================================================
+
+class ProgressResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Stubs.ProgressResponse) */ {
+ public:
+ ProgressResponse();
+ virtual ~ProgressResponse();
+
+ ProgressResponse(const ProgressResponse& from);
+
+ inline ProgressResponse& operator=(const ProgressResponse& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ ProgressResponse(ProgressResponse&& from) noexcept
+ : ProgressResponse() {
+ *this = ::std::move(from);
+ }
+
+ inline ProgressResponse& operator=(ProgressResponse&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const ProgressResponse& default_instance();
+
+ static inline const ProgressResponse* internal_default_instance() {
+ return reinterpret_cast<const ProgressResponse*>(
+ &_ProgressResponse_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(ProgressResponse* other);
+ friend void swap(ProgressResponse& a, ProgressResponse& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline ProgressResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ ProgressResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const ProgressResponse& from);
+ void MergeFrom(const ProgressResponse& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(ProgressResponse* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // double Progress = 1;
+ void clear_progress();
+ static const int kProgressFieldNumber = 1;
+ double progress() const;
+ void set_progress(double value);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.ProgressResponse)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ double progress_;
+ mutable int _cached_size_;
+ friend struct protobuf_ProgressResponse_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// ProgressResponse
+
+// double Progress = 1;
+inline void ProgressResponse::clear_progress() {
+ progress_ = 0;
+}
+inline double ProgressResponse::progress() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.ProgressResponse.Progress)
+ return progress_;
+}
+inline void ProgressResponse::set_progress(double value) {
+
+ progress_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.ProgressResponse.Progress)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Stubs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_ProgressResponse_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.cc
new file mode 100644
index 000000000..6e729877b
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.cc
@@ -0,0 +1,499 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: RGB.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "RGB.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Common {
+class RGBDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<RGB>
+ _instance;
+} _RGB_default_instance_;
+
+namespace protobuf_RGB_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RGB, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RGB, r_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RGB, g_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RGB, b_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(RGB)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_RGB_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "RGB.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ _RGB_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_RGB_default_instance_);}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\tRGB.proto\022\020Tango.PMR.Common\"&\n\003RGB\022\t\n\001"
+ "R\030\001 \001(\005\022\t\n\001G\030\002 \001(\005\022\t\n\001B\030\003 \001(\005B\034\n\032com.twi"
+ "ne.tango.pmr.commonb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 107);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "RGB.proto", &protobuf_RegisterTypes);
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_RGB_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int RGB::kRFieldNumber;
+const int RGB::kGFieldNumber;
+const int RGB::kBFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+RGB::RGB()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_RGB_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Common.RGB)
+}
+RGB::RGB(const RGB& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::memcpy(&r_, &from.r_,
+ static_cast<size_t>(reinterpret_cast<char*>(&b_) -
+ reinterpret_cast<char*>(&r_)) + sizeof(b_));
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Common.RGB)
+}
+
+void RGB::SharedCtor() {
+ ::memset(&r_, 0, static_cast<size_t>(
+ reinterpret_cast<char*>(&b_) -
+ reinterpret_cast<char*>(&r_)) + sizeof(b_));
+ _cached_size_ = 0;
+}
+
+RGB::~RGB() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Common.RGB)
+ SharedDtor();
+}
+
+void RGB::SharedDtor() {
+}
+
+void RGB::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RGB::descriptor() {
+ protobuf_RGB_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_RGB_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const RGB& RGB::default_instance() {
+ protobuf_RGB_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+RGB* RGB::New(::google::protobuf::Arena* arena) const {
+ RGB* n = new RGB;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void RGB::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Common.RGB)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ ::memset(&r_, 0, static_cast<size_t>(
+ reinterpret_cast<char*>(&b_) -
+ reinterpret_cast<char*>(&r_)) + sizeof(b_));
+ _internal_metadata_.Clear();
+}
+
+bool RGB::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Common.RGB)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // int32 R = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+ input, &r_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // int32 G = 2;
+ case 2: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+ input, &g_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // int32 B = 3;
+ case 3: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+ input, &b_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Common.RGB)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Common.RGB)
+ return false;
+#undef DO_
+}
+
+void RGB::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Common.RGB)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // int32 R = 1;
+ if (this->r() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->r(), output);
+ }
+
+ // int32 G = 2;
+ if (this->g() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->g(), output);
+ }
+
+ // int32 B = 3;
+ if (this->b() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->b(), output);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Common.RGB)
+}
+
+::google::protobuf::uint8* RGB::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Common.RGB)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // int32 R = 1;
+ if (this->r() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->r(), target);
+ }
+
+ // int32 G = 2;
+ if (this->g() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->g(), target);
+ }
+
+ // int32 B = 3;
+ if (this->b() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->b(), target);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Common.RGB)
+ return target;
+}
+
+size_t RGB::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Common.RGB)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ // int32 R = 1;
+ if (this->r() != 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::Int32Size(
+ this->r());
+ }
+
+ // int32 G = 2;
+ if (this->g() != 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::Int32Size(
+ this->g());
+ }
+
+ // int32 B = 3;
+ if (this->b() != 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::Int32Size(
+ this->b());
+ }
+
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void RGB::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Common.RGB)
+ GOOGLE_DCHECK_NE(&from, this);
+ const RGB* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const RGB>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Common.RGB)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Common.RGB)
+ MergeFrom(*source);
+ }
+}
+
+void RGB::MergeFrom(const RGB& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Common.RGB)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.r() != 0) {
+ set_r(from.r());
+ }
+ if (from.g() != 0) {
+ set_g(from.g());
+ }
+ if (from.b() != 0) {
+ set_b(from.b());
+ }
+}
+
+void RGB::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Common.RGB)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void RGB::CopyFrom(const RGB& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Common.RGB)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool RGB::IsInitialized() const {
+ return true;
+}
+
+void RGB::Swap(RGB* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void RGB::InternalSwap(RGB* other) {
+ using std::swap;
+ swap(r_, other->r_);
+ swap(g_, other->g_);
+ swap(b_, other->b_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata RGB::GetMetadata() const {
+ protobuf_RGB_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_RGB_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// RGB
+
+// int32 R = 1;
+void RGB::clear_r() {
+ r_ = 0;
+}
+::google::protobuf::int32 RGB::r() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.RGB.R)
+ return r_;
+}
+void RGB::set_r(::google::protobuf::int32 value) {
+
+ r_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.RGB.R)
+}
+
+// int32 G = 2;
+void RGB::clear_g() {
+ g_ = 0;
+}
+::google::protobuf::int32 RGB::g() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.RGB.G)
+ return g_;
+}
+void RGB::set_g(::google::protobuf::int32 value) {
+
+ g_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.RGB.G)
+}
+
+// int32 B = 3;
+void RGB::clear_b() {
+ b_ = 0;
+}
+::google::protobuf::int32 RGB::b() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.RGB.B)
+ return b_;
+}
+void RGB::set_b(::google::protobuf::int32 value) {
+
+ b_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.RGB.B)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.h
new file mode 100644
index 000000000..615906e12
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/RGB.pb.h
@@ -0,0 +1,241 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: RGB.proto
+
+#ifndef PROTOBUF_RGB_2eproto__INCLUDED
+#define PROTOBUF_RGB_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Common {
+class RGB;
+class RGBDefaultTypeInternal;
+extern RGBDefaultTypeInternal _RGB_default_instance_;
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Common {
+
+namespace protobuf_RGB_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_RGB_2eproto
+
+// ===================================================================
+
+class RGB : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Common.RGB) */ {
+ public:
+ RGB();
+ virtual ~RGB();
+
+ RGB(const RGB& from);
+
+ inline RGB& operator=(const RGB& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ RGB(RGB&& from) noexcept
+ : RGB() {
+ *this = ::std::move(from);
+ }
+
+ inline RGB& operator=(RGB&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const RGB& default_instance();
+
+ static inline const RGB* internal_default_instance() {
+ return reinterpret_cast<const RGB*>(
+ &_RGB_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(RGB* other);
+ friend void swap(RGB& a, RGB& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline RGB* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ RGB* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const RGB& from);
+ void MergeFrom(const RGB& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(RGB* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // int32 R = 1;
+ void clear_r();
+ static const int kRFieldNumber = 1;
+ ::google::protobuf::int32 r() const;
+ void set_r(::google::protobuf::int32 value);
+
+ // int32 G = 2;
+ void clear_g();
+ static const int kGFieldNumber = 2;
+ ::google::protobuf::int32 g() const;
+ void set_g(::google::protobuf::int32 value);
+
+ // int32 B = 3;
+ void clear_b();
+ static const int kBFieldNumber = 3;
+ ::google::protobuf::int32 b() const;
+ void set_b(::google::protobuf::int32 value);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Common.RGB)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ ::google::protobuf::int32 r_;
+ ::google::protobuf::int32 g_;
+ ::google::protobuf::int32 b_;
+ mutable int _cached_size_;
+ friend struct protobuf_RGB_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// RGB
+
+// int32 R = 1;
+inline void RGB::clear_r() {
+ r_ = 0;
+}
+inline ::google::protobuf::int32 RGB::r() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.RGB.R)
+ return r_;
+}
+inline void RGB::set_r(::google::protobuf::int32 value) {
+
+ r_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.RGB.R)
+}
+
+// int32 G = 2;
+inline void RGB::clear_g() {
+ g_ = 0;
+}
+inline ::google::protobuf::int32 RGB::g() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.RGB.G)
+ return g_;
+}
+inline void RGB::set_g(::google::protobuf::int32 value) {
+
+ g_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.RGB.G)
+}
+
+// int32 B = 3;
+inline void RGB::clear_b() {
+ b_ = 0;
+}
+inline ::google::protobuf::int32 RGB::b() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Common.RGB.B)
+ return b_;
+}
+inline void RGB::set_b(::google::protobuf::int32 value) {
+
+ b_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Common.RGB.B)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Common
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_RGB_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.cc
new file mode 100644
index 000000000..aaa262f6c
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.cc
@@ -0,0 +1,597 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Segment.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "Segment.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+// @@protoc_insertion_point(includes)
+
+namespace Tango {
+namespace PMR {
+namespace Jobs {
+class SegmentDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<Segment>
+ _instance;
+} _Segment_default_instance_;
+
+namespace protobuf_Segment_2eproto {
+
+
+namespace {
+
+::google::protobuf::Metadata file_level_metadata[1];
+
+} // namespace
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTableField
+ const TableStruct::entries[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ {0, 0, 0, ::google::protobuf::internal::kInvalidMask, 0, 0},
+};
+
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::AuxillaryParseTableField
+ const TableStruct::aux[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ::google::protobuf::internal::AuxillaryParseTableField(),
+};
+PROTOBUF_CONSTEXPR_VAR ::google::protobuf::internal::ParseTable const
+ TableStruct::schema[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { NULL, NULL, 0, -1, -1, -1, -1, NULL, false },
+};
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ ~0u, // no _has_bits_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Segment, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Segment, name_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Segment, length_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Segment, color_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(Segment)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_Segment_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "Segment.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+ file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1);
+}
+
+} // namespace
+void TableStruct::InitDefaultsImpl() {
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::internal::InitProtobufDefaults();
+ ::Tango::PMR::Common::protobuf_RGB_2eproto::InitDefaults();
+ _Segment_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_Segment_default_instance_);_Segment_default_instance_._instance.get_mutable()->color_ = const_cast< ::Tango::PMR::Common::RGB*>(
+ ::Tango::PMR::Common::RGB::internal_default_instance());
+}
+
+void InitDefaults() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl);
+}
+namespace {
+void AddDescriptorsImpl() {
+ InitDefaults();
+ static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ "\n\rSegment.proto\022\016Tango.PMR.Jobs\032\tRGB.pro"
+ "to\"M\n\007Segment\022\014\n\004Name\030\001 \001(\t\022\016\n\006Length\030\002 "
+ "\001(\005\022$\n\005Color\030\003 \001(\0132\025.Tango.PMR.Common.RG"
+ "BB\032\n\030com.twine.tango.pmr.jobsb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 157);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "Segment.proto", &protobuf_RegisterTypes);
+ ::Tango::PMR::Common::protobuf_RGB_2eproto::AddDescriptors();
+}
+} // anonymous namespace
+
+void AddDescriptors() {
+ static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+ ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+ StaticDescriptorInitializer() {
+ AddDescriptors();
+ }
+} static_descriptor_initializer;
+
+} // namespace protobuf_Segment_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int Segment::kNameFieldNumber;
+const int Segment::kLengthFieldNumber;
+const int Segment::kColorFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+Segment::Segment()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_Segment_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Jobs.Segment)
+}
+Segment::Segment(const Segment& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (from.name().size() > 0) {
+ name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
+ }
+ if (from.has_color()) {
+ color_ = new ::Tango::PMR::Common::RGB(*from.color_);
+ } else {
+ color_ = NULL;
+ }
+ length_ = from.length_;
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Jobs.Segment)
+}
+
+void Segment::SharedCtor() {
+ name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ ::memset(&color_, 0, static_cast<size_t>(
+ reinterpret_cast<char*>(&length_) -
+ reinterpret_cast<char*>(&color_)) + sizeof(length_));
+ _cached_size_ = 0;
+}
+
+Segment::~Segment() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Jobs.Segment)
+ SharedDtor();
+}
+
+void Segment::SharedDtor() {
+ name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (this != internal_default_instance()) delete color_;
+}
+
+void Segment::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* Segment::descriptor() {
+ protobuf_Segment_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_Segment_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const Segment& Segment::default_instance() {
+ protobuf_Segment_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+Segment* Segment::New(::google::protobuf::Arena* arena) const {
+ Segment* n = new Segment;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void Segment::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Jobs.Segment)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (GetArenaNoVirtual() == NULL && color_ != NULL) {
+ delete color_;
+ }
+ color_ = NULL;
+ length_ = 0;
+ _internal_metadata_.Clear();
+}
+
+bool Segment::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:Tango.PMR.Jobs.Segment)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // string Name = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+ input, this->mutable_name()));
+ DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->name().data(), static_cast<int>(this->name().length()),
+ ::google::protobuf::internal::WireFormatLite::PARSE,
+ "Tango.PMR.Jobs.Segment.Name"));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // int32 Length = 2;
+ case 2: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+ input, &length_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // .Tango.PMR.Common.RGB Color = 3;
+ case 3: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_color()));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, _internal_metadata_.mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:Tango.PMR.Jobs.Segment)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Jobs.Segment)
+ return false;
+#undef DO_
+}
+
+void Segment::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Jobs.Segment)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string Name = 1;
+ if (this->name().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->name().data(), static_cast<int>(this->name().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Jobs.Segment.Name");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 1, this->name(), output);
+ }
+
+ // int32 Length = 2;
+ if (this->length() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->length(), output);
+ }
+
+ // .Tango.PMR.Common.RGB Color = 3;
+ if (this->has_color()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 3, *this->color_, output);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output);
+ }
+ // @@protoc_insertion_point(serialize_end:Tango.PMR.Jobs.Segment)
+}
+
+::google::protobuf::uint8* Segment::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Jobs.Segment)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string Name = 1;
+ if (this->name().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->name().data(), static_cast<int>(this->name().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Jobs.Segment.Name");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 1, this->name(), target);
+ }
+
+ // int32 Length = 2;
+ if (this->length() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->length(), target);
+ }
+
+ // .Tango.PMR.Common.RGB Color = 3;
+ if (this->has_color()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ InternalWriteMessageNoVirtualToArray(
+ 3, *this->color_, deterministic, target);
+ }
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Jobs.Segment)
+ return target;
+}
+
+size_t Segment::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Jobs.Segment)
+ size_t total_size = 0;
+
+ if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()));
+ }
+ // string Name = 1;
+ if (this->name().size() > 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->name());
+ }
+
+ // .Tango.PMR.Common.RGB Color = 3;
+ if (this->has_color()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ *this->color_);
+ }
+
+ // int32 Length = 2;
+ if (this->length() != 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::Int32Size(
+ this->length());
+ }
+
+ int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = cached_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void Segment::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Jobs.Segment)
+ GOOGLE_DCHECK_NE(&from, this);
+ const Segment* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const Segment>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Jobs.Segment)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Jobs.Segment)
+ MergeFrom(*source);
+ }
+}
+
+void Segment::MergeFrom(const Segment& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Jobs.Segment)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.name().size() > 0) {
+
+ name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
+ }
+ if (from.has_color()) {
+ mutable_color()->::Tango::PMR::Common::RGB::MergeFrom(from.color());
+ }
+ if (from.length() != 0) {
+ set_length(from.length());
+ }
+}
+
+void Segment::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Jobs.Segment)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void Segment::CopyFrom(const Segment& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Jobs.Segment)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool Segment::IsInitialized() const {
+ return true;
+}
+
+void Segment::Swap(Segment* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void Segment::InternalSwap(Segment* other) {
+ using std::swap;
+ name_.Swap(&other->name_);
+ swap(color_, other->color_);
+ swap(length_, other->length_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata Segment::GetMetadata() const {
+ protobuf_Segment_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_Segment_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// Segment
+
+// string Name = 1;
+void Segment::clear_name() {
+ name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+const ::std::string& Segment::name() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Segment.Name)
+ return name_.GetNoArena();
+}
+void Segment::set_name(const ::std::string& value) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Jobs.Segment.Name)
+}
+#if LANG_CXX11
+void Segment::set_name(::std::string&& value) {
+
+ name_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Jobs.Segment.Name)
+}
+#endif
+void Segment::set_name(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Jobs.Segment.Name)
+}
+void Segment::set_name(const char* value, size_t size) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Jobs.Segment.Name)
+}
+::std::string* Segment::mutable_name() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Segment.Name)
+ return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* Segment::release_name() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Jobs.Segment.Name)
+
+ return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void Segment::set_allocated_name(::std::string* name) {
+ if (name != NULL) {
+
+ } else {
+
+ }
+ name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Jobs.Segment.Name)
+}
+
+// int32 Length = 2;
+void Segment::clear_length() {
+ length_ = 0;
+}
+::google::protobuf::int32 Segment::length() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Segment.Length)
+ return length_;
+}
+void Segment::set_length(::google::protobuf::int32 value) {
+
+ length_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Jobs.Segment.Length)
+}
+
+// .Tango.PMR.Common.RGB Color = 3;
+bool Segment::has_color() const {
+ return this != internal_default_instance() && color_ != NULL;
+}
+void Segment::clear_color() {
+ if (GetArenaNoVirtual() == NULL && color_ != NULL) delete color_;
+ color_ = NULL;
+}
+const ::Tango::PMR::Common::RGB& Segment::color() const {
+ const ::Tango::PMR::Common::RGB* p = color_;
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Segment.Color)
+ return p != NULL ? *p : *reinterpret_cast<const ::Tango::PMR::Common::RGB*>(
+ &::Tango::PMR::Common::_RGB_default_instance_);
+}
+::Tango::PMR::Common::RGB* Segment::mutable_color() {
+
+ if (color_ == NULL) {
+ color_ = new ::Tango::PMR::Common::RGB;
+ }
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Segment.Color)
+ return color_;
+}
+::Tango::PMR::Common::RGB* Segment::release_color() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Jobs.Segment.Color)
+
+ ::Tango::PMR::Common::RGB* temp = color_;
+ color_ = NULL;
+ return temp;
+}
+void Segment::set_allocated_color(::Tango::PMR::Common::RGB* color) {
+ delete color_;
+ color_ = color;
+ if (color) {
+
+ } else {
+
+ }
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Jobs.Segment.Color)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Jobs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.h
new file mode 100644
index 000000000..11de65191
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/Segment.pb.h
@@ -0,0 +1,318 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Segment.proto
+
+#ifndef PROTOBUF_Segment_2eproto__INCLUDED
+#define PROTOBUF_Segment_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3004000
+#error This file was generated by a newer version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please update
+#error your headers.
+#endif
+#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
+#error This file was generated by an older version of protoc which is
+#error incompatible with your Protocol Buffer headers. Please
+#error regenerate this file with a newer version of protoc.
+#endif
+
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/arena.h>
+#include <google/protobuf/arenastring.h>
+#include <google/protobuf/generated_message_table_driven.h>
+#include <google/protobuf/generated_message_util.h>
+#include <google/protobuf/metadata.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/repeated_field.h> // IWYU pragma: export
+#include <google/protobuf/extension_set.h> // IWYU pragma: export
+#include <google/protobuf/unknown_field_set.h>
+#include "RGB.pb.h"
+// @@protoc_insertion_point(includes)
+namespace Tango {
+namespace PMR {
+namespace Jobs {
+class Segment;
+class SegmentDefaultTypeInternal;
+extern SegmentDefaultTypeInternal _Segment_default_instance_;
+} // namespace Jobs
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Jobs {
+
+namespace protobuf_Segment_2eproto {
+// Internal implementation detail -- do not call these.
+struct TableStruct {
+ static const ::google::protobuf::internal::ParseTableField entries[];
+ static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+ static const ::google::protobuf::internal::ParseTable schema[];
+ static const ::google::protobuf::uint32 offsets[];
+ static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+ static const ::google::protobuf::internal::SerializationTable serialization_table[];
+ static void InitDefaultsImpl();
+};
+void AddDescriptors();
+void InitDefaults();
+} // namespace protobuf_Segment_2eproto
+
+// ===================================================================
+
+class Segment : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Jobs.Segment) */ {
+ public:
+ Segment();
+ virtual ~Segment();
+
+ Segment(const Segment& from);
+
+ inline Segment& operator=(const Segment& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ Segment(Segment&& from) noexcept
+ : Segment() {
+ *this = ::std::move(from);
+ }
+
+ inline Segment& operator=(Segment&& from) noexcept {
+ if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+ if (this != &from) InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+ #endif
+ static const ::google::protobuf::Descriptor* descriptor();
+ static const Segment& default_instance();
+
+ static inline const Segment* internal_default_instance() {
+ return reinterpret_cast<const Segment*>(
+ &_Segment_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(Segment* other);
+ friend void swap(Segment& a, Segment& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline Segment* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ Segment* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+ void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+ void CopyFrom(const Segment& from);
+ void MergeFrom(const Segment& from);
+ void Clear() PROTOBUF_FINAL;
+ bool IsInitialized() const PROTOBUF_FINAL;
+
+ size_t ByteSizeLong() const PROTOBUF_FINAL;
+ bool MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+ void SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+ ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+ int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+ private:
+ void SharedCtor();
+ void SharedDtor();
+ void SetCachedSize(int size) const PROTOBUF_FINAL;
+ void InternalSwap(Segment* other);
+ private:
+ inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+ return NULL;
+ }
+ inline void* MaybeArenaPtr() const {
+ return NULL;
+ }
+ public:
+
+ ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // string Name = 1;
+ void clear_name();
+ static const int kNameFieldNumber = 1;
+ const ::std::string& name() const;
+ void set_name(const ::std::string& value);
+ #if LANG_CXX11
+ void set_name(::std::string&& value);
+ #endif
+ void set_name(const char* value);
+ void set_name(const char* value, size_t size);
+ ::std::string* mutable_name();
+ ::std::string* release_name();
+ void set_allocated_name(::std::string* name);
+
+ // .Tango.PMR.Common.RGB Color = 3;
+ bool has_color() const;
+ void clear_color();
+ static const int kColorFieldNumber = 3;
+ const ::Tango::PMR::Common::RGB& color() const;
+ ::Tango::PMR::Common::RGB* mutable_color();
+ ::Tango::PMR::Common::RGB* release_color();
+ void set_allocated_color(::Tango::PMR::Common::RGB* color);
+
+ // int32 Length = 2;
+ void clear_length();
+ static const int kLengthFieldNumber = 2;
+ ::google::protobuf::int32 length() const;
+ void set_length(::google::protobuf::int32 value);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Jobs.Segment)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ ::google::protobuf::internal::ArenaStringPtr name_;
+ ::Tango::PMR::Common::RGB* color_;
+ ::google::protobuf::int32 length_;
+ mutable int _cached_size_;
+ friend struct protobuf_Segment_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// Segment
+
+// string Name = 1;
+inline void Segment::clear_name() {
+ name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& Segment::name() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Segment.Name)
+ return name_.GetNoArena();
+}
+inline void Segment::set_name(const ::std::string& value) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Jobs.Segment.Name)
+}
+#if LANG_CXX11
+inline void Segment::set_name(::std::string&& value) {
+
+ name_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Jobs.Segment.Name)
+}
+#endif
+inline void Segment::set_name(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Jobs.Segment.Name)
+}
+inline void Segment::set_name(const char* value, size_t size) {
+
+ name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Jobs.Segment.Name)
+}
+inline ::std::string* Segment::mutable_name() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Segment.Name)
+ return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* Segment::release_name() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Jobs.Segment.Name)
+
+ return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void Segment::set_allocated_name(::std::string* name) {
+ if (name != NULL) {
+
+ } else {
+
+ }
+ name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Jobs.Segment.Name)
+}
+
+// int32 Length = 2;
+inline void Segment::clear_length() {
+ length_ = 0;
+}
+inline ::google::protobuf::int32 Segment::length() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Segment.Length)
+ return length_;
+}
+inline void Segment::set_length(::google::protobuf::int32 value) {
+
+ length_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Jobs.Segment.Length)
+}
+
+// .Tango.PMR.Common.RGB Color = 3;
+inline bool Segment::has_color() const {
+ return this != internal_default_instance() && color_ != NULL;
+}
+inline void Segment::clear_color() {
+ if (GetArenaNoVirtual() == NULL && color_ != NULL) delete color_;
+ color_ = NULL;
+}
+inline const ::Tango::PMR::Common::RGB& Segment::color() const {
+ const ::Tango::PMR::Common::RGB* p = color_;
+ // @@protoc_insertion_point(field_get:Tango.PMR.Jobs.Segment.Color)
+ return p != NULL ? *p : *reinterpret_cast<const ::Tango::PMR::Common::RGB*>(
+ &::Tango::PMR::Common::_RGB_default_instance_);
+}
+inline ::Tango::PMR::Common::RGB* Segment::mutable_color() {
+
+ if (color_ == NULL) {
+ color_ = new ::Tango::PMR::Common::RGB;
+ }
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Jobs.Segment.Color)
+ return color_;
+}
+inline ::Tango::PMR::Common::RGB* Segment::release_color() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Jobs.Segment.Color)
+
+ ::Tango::PMR::Common::RGB* temp = color_;
+ color_ = NULL;
+ return temp;
+}
+inline void Segment::set_allocated_color(::Tango::PMR::Common::RGB* color) {
+ delete color_;
+ color_ = color;
+ if (color) {
+
+ } else {
+
+ }
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Jobs.Segment.Color)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Jobs
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_Segment_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.cpp b/Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.cpp
new file mode 100644
index 000000000..08faf6155
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.cpp
@@ -0,0 +1,18 @@
+#include "ProtoTester.h"
+
+
+namespace Tango
+{
+ namespace ProtoTest
+ {
+ ProtoTester::ProtoTester()
+ {
+
+ }
+
+ ProtoTester::~ProtoTester()
+ {
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.h b/Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.h
new file mode 100644
index 000000000..7bb7ee4d2
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/ProtoTester.h
@@ -0,0 +1,42 @@
+#include <cstdlib>
+#include "PMR/CalculateRequest.pb.h"
+#include "PMR/CalculateResponse.pb.h"
+
+#pragma once
+
+#define EXPORT_API __declspec(dllexport)
+
+using namespace std;
+using namespace Tango::PMR::Stubs;
+
+namespace Tango
+{
+ namespace ProtoTest
+ {
+
+ class ProtoTester
+ {
+ public:
+ ProtoTester();
+ ~ProtoTester();
+
+ };
+ }
+}
+
+extern "C" EXPORT_API int __cdecl Calculate(unsigned char* data, int size, unsigned char* *output)
+{
+ CalculateRequest request;
+ request.ParseFromArray(data, size);
+
+ CalculateResponse* response = new CalculateResponse();
+ response->set_sum(request.a() + request.b());
+
+
+ unsigned char* stream = (unsigned char*)malloc(response->ByteSize());
+ response->SerializeToArray(stream, response->ByteSize());
+ *output = stream;
+
+ return response->ByteSize();
+}
+
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj b/Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj
new file mode 100644
index 000000000..4959792e2
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>15.0</VCProjectVersion>
+ <ProjectGuid>{35397DDA-DDC7-46BE-A802-3B722B6858E9}</ProjectGuid>
+ <RootNamespace>TangoProtoTest</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v141</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <TargetExt>.dll</TargetExt>
+ <OutDir>$(SolutionDir)Build\Debug</OutDir>
+ <IncludePath>..\..\..\External Repositories\Protobuf\protobuf-3.4.1\src;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ </ClCompile>
+ <PreBuildEvent>
+ <Command>"$(TargetDir)proto-tc.exe" -i "$(SolutionDir)..\PMR\Messages" -o "$(SolutionDir)Native\Tango.ProtoTest\PMR" -l CPP</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="PMR\CalculateRequest.pb.h" />
+ <ClInclude Include="PMR\CalculateResponse.pb.h" />
+ <ClInclude Include="PMR\Job.pb.h" />
+ <ClInclude Include="PMR\MessageContainer.pb.h" />
+ <ClInclude Include="PMR\MessageType.pb.h" />
+ <ClInclude Include="PMR\ProgressRequest.pb.h" />
+ <ClInclude Include="PMR\ProgressResponse.pb.h" />
+ <ClInclude Include="PMR\RGB.pb.h" />
+ <ClInclude Include="PMR\Segment.pb.h" />
+ <ClInclude Include="ProtoTester.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="PMR\CalculateRequest.pb.cc" />
+ <ClCompile Include="PMR\CalculateResponse.pb.cc" />
+ <ClCompile Include="PMR\Job.pb.cc" />
+ <ClCompile Include="PMR\MessageContainer.pb.cc" />
+ <ClCompile Include="PMR\MessageType.pb.cc" />
+ <ClCompile Include="PMR\ProgressRequest.pb.cc" />
+ <ClCompile Include="PMR\ProgressResponse.pb.cc" />
+ <ClCompile Include="PMR\RGB.pb.cc" />
+ <ClCompile Include="PMR\Segment.pb.cc" />
+ <ClCompile Include="ProtoTester.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <Library Include="libprotobuf.lib" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj.filters b/Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj.filters
new file mode 100644
index 000000000..0b835c2c4
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/Tango.ProtoTest.vcxproj.filters
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="ProtoTester.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\CalculateRequest.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\CalculateResponse.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\Job.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\MessageContainer.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\MessageType.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\ProgressRequest.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\ProgressResponse.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\RGB.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PMR\Segment.pb.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="ProtoTester.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\CalculateRequest.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\CalculateResponse.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\Job.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\MessageContainer.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\MessageType.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\ProgressRequest.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\ProgressResponse.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\RGB.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PMR\Segment.pb.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Library Include="libprotobuf.lib" />
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/libprotobuf.lib b/Software/Visual_Studio/Native/Tango.ProtoTest/libprotobuf.lib
new file mode 100644
index 000000000..cbe32c777
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/libprotobuf.lib
Binary files differ