aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2017-12-24 14:26:36 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2017-12-24 14:26:36 +0200
commit8ef54228747d6d7e534953c265cfa95a5489ac0f (patch)
tree1b1fe9b420a7ddfad8e7e44d7ad4949263d1395d /Software
parent902f5d6d68ed52d92c089a65823ff49599cd3014 (diff)
downloadTango-8ef54228747d6d7e534953c265cfa95a5489ac0f.tar.gz
Tango-8ef54228747d6d7e534953c265cfa95a5489ac0f.zip
Modified .NET Transport layer to return TangoMessage<Response> for a request !!!
Diffstat (limited to 'Software')
-rw-r--r--Software/Android_Studio/Tango.BL/.gitignore1
-rw-r--r--Software/Android_Studio/Tango.BL/CMakeLists.txt45
-rw-r--r--Software/Android_Studio/Tango.BL/build.gradle42
-rw-r--r--Software/Android_Studio/Tango.BL/proguard-rules.pro25
-rw-r--r--Software/Android_Studio/Tango.BL/src/main/AndroidManifest.xml2
-rw-r--r--Software/Android_Studio/Tango.BL/src/main/cpp/Android.mk0
-rw-r--r--Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.cpp9
-rw-r--r--Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.h19
-rw-r--r--Software/Android_Studio/Tango.BL/src/main/cpp/native-lib.cpp18
-rw-r--r--Software/Android_Studio/Tango.BL/src/main/java/com/twine/tango/bl/Example.java21
-rw-r--r--Software/Android_Studio/Tango.BL/src/main/res/values/strings.xml3
-rw-r--r--Software/Android_Studio/Tango.Synchronization/.gitignore1
-rw-r--r--Software/Android_Studio/Tango.Synchronization/build.gradle49
-rw-r--r--Software/Android_Studio/Tango.Synchronization/proguard-rules.pro25
-rw-r--r--Software/Android_Studio/Tango.Synchronization/src/main/AndroidManifest.xml2
-rw-r--r--Software/Android_Studio/Tango.Synchronization/src/main/res/values/strings.xml3
-rw-r--r--Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Synchronization_TST.java24
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.c16
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.h5
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.c92
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.h71
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.c92
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.h71
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.c105
-rw-r--r--Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.h73
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.cc450
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.h246
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.cc449
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.h246
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.cc502
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.h267
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.cc14
-rw-r--r--Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h5
-rw-r--r--Software/Visual_Studio/Tango.Integration/Services/ExternalBridgeClient.cs2
-rw-r--r--Software/Visual_Studio/Tango.PMR/MessageFactory.cs8
-rw-r--r--Software/Visual_Studio/Tango.Stubs/Stubs/Calculate.cs2
-rw-r--r--Software/Visual_Studio/Tango.Stubs/Stubs/Progress.cs2
-rw-r--r--Software/Visual_Studio/Tango.Transport/ITransporter.cs8
-rw-r--r--Software/Visual_Studio/Tango.Transport/TransporterBase.cs28
-rw-r--r--Software/Visual_Studio/Tango.sln4
-rw-r--r--Software/Visual_Studio/Utilities/Tango.MobileEM.UI/App.xaml.cs2
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.dbbin557056 -> 557056 bytes
42 files changed, 2741 insertions, 308 deletions
diff --git a/Software/Android_Studio/Tango.BL/.gitignore b/Software/Android_Studio/Tango.BL/.gitignore
deleted file mode 100644
index 796b96d1c..000000000
--- a/Software/Android_Studio/Tango.BL/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/Software/Android_Studio/Tango.BL/CMakeLists.txt b/Software/Android_Studio/Tango.BL/CMakeLists.txt
deleted file mode 100644
index 201e7c537..000000000
--- a/Software/Android_Studio/Tango.BL/CMakeLists.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-# For more information about using CMake with Android Studio, read the
-# documentation: https://d.android.com/studio/projects/add-native-code.html
-
-# Sets the minimum version of CMake required to build the native library.
-
-cmake_minimum_required(VERSION 3.4.1)
-
-# Creates and names a library, sets it as either STATIC
-# or SHARED, and provides the relative paths to its source code.
-# You can define multiple libraries, and CMake builds them for you.
-# Gradle automatically packages shared libraries with your APK.
-
-add_library( # Sets the name of the library.
- native-lib
-
- # Sets the library as a shared library.
- SHARED
-
- # Provides a relative path to your source file(s).
- src/main/cpp/native-lib.cpp
- src/main/cpp/OtherClass.cpp )
-
-# Searches for a specified prebuilt library and stores the path as a
-# variable. Because CMake includes system libraries in the search path by
-# default, you only need to specify the name of the public NDK library
-# you want to add. CMake verifies that the library exists before
-# completing its build.
-
-find_library( # Sets the name of the path variable.
- log-lib
-
- # Specifies the name of the NDK library that
- # you want CMake to locate.
- log )
-
-# Specifies libraries CMake should link to your target library. You
-# can link multiple libraries, such as libraries you define in this
-# build script, prebuilt third-party libraries, or system libraries.
-
-target_link_libraries( # Specifies the target library.
- native-lib
-
- # Links the target library to the log library
- # included in the NDK.
- ${log-lib} ) \ No newline at end of file
diff --git a/Software/Android_Studio/Tango.BL/build.gradle b/Software/Android_Studio/Tango.BL/build.gradle
deleted file mode 100644
index f93ac6d3d..000000000
--- a/Software/Android_Studio/Tango.BL/build.gradle
+++ /dev/null
@@ -1,42 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- compileSdkVersion 26
- buildToolsVersion "26.0.1"
-
-
- defaultConfig {
- minSdkVersion 22
- targetSdkVersion 26
- versionCode 1
- versionName "1.0"
-
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- externalNativeBuild {
- cmake {
- cppFlags "-std=c++11 -frtti -fexceptions"
- }
- }
-
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- externalNativeBuild {
- cmake {
- path "CMakeLists.txt"
- }
- }
-}
-
-dependencies {
- implementation fileTree(dir: 'libs', include: ['*.jar'])
-
- implementation 'com.android.support:appcompat-v7:26.1.0'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.1'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
-}
diff --git a/Software/Android_Studio/Tango.BL/proguard-rules.pro b/Software/Android_Studio/Tango.BL/proguard-rules.pro
deleted file mode 100644
index a0eef131a..000000000
--- a/Software/Android_Studio/Tango.BL/proguard-rules.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in C:\Users\Roy\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/Software/Android_Studio/Tango.BL/src/main/AndroidManifest.xml b/Software/Android_Studio/Tango.BL/src/main/AndroidManifest.xml
deleted file mode 100644
index 29e67ea39..000000000
--- a/Software/Android_Studio/Tango.BL/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.twine.tango.bl" />
diff --git a/Software/Android_Studio/Tango.BL/src/main/cpp/Android.mk b/Software/Android_Studio/Tango.BL/src/main/cpp/Android.mk
deleted file mode 100644
index e69de29bb..000000000
--- a/Software/Android_Studio/Tango.BL/src/main/cpp/Android.mk
+++ /dev/null
diff --git a/Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.cpp b/Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.cpp
deleted file mode 100644
index 50d6304dd..000000000
--- a/Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-//
-// Created by Roy on 11/5/2017.
-//
-
-#include "OtherClass.h"
-
-string OtherClass::getString(string str) {
- return str;
-}
diff --git a/Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.h b/Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.h
deleted file mode 100644
index 0efe65b71..000000000
--- a/Software/Android_Studio/Tango.BL/src/main/cpp/OtherClass.h
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// Created by Roy on 11/5/2017.
-//
-#include <string>
-
-using namespace std;
-
-#ifndef ANDROID_STUDIO_OTHERCLASS_H
-#define ANDROID_STUDIO_OTHERCLASS_H
-
-
-class OtherClass {
-
-public:
- string getString(string str);
-};
-
-
-#endif //ANDROID_STUDIO_OTHERCLASS_H
diff --git a/Software/Android_Studio/Tango.BL/src/main/cpp/native-lib.cpp b/Software/Android_Studio/Tango.BL/src/main/cpp/native-lib.cpp
deleted file mode 100644
index c7317d615..000000000
--- a/Software/Android_Studio/Tango.BL/src/main/cpp/native-lib.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <jni.h>
-#include <string>
-#include "OtherClass.h"
-
-extern "C"
-JNIEXPORT jstring
-
-JNICALL
-Java_com_twine_tango_bl_Example_getString(
- JNIEnv *env,
- jobject /* this */)
-{
-
- OtherClass c;
-
- std::string hello = "Hello from C++" + c.getString(" Some String");
- return env->NewStringUTF(hello.c_str());
-}
diff --git a/Software/Android_Studio/Tango.BL/src/main/java/com/twine/tango/bl/Example.java b/Software/Android_Studio/Tango.BL/src/main/java/com/twine/tango/bl/Example.java
deleted file mode 100644
index 992ddf16f..000000000
--- a/Software/Android_Studio/Tango.BL/src/main/java/com/twine/tango/bl/Example.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.twine.tango.bl;
-
-import android.util.Log;
-
-/**
- * Created by Roy on 11/2/2017.
- */
-
-public class Example {
- public native String getString();
-
- static {
- System.loadLibrary("native-lib");
- }
-
- public void Do()
- {
- String a = getString();
- Log.i("NATIVE NATIVE",a);
- }
-}
diff --git a/Software/Android_Studio/Tango.BL/src/main/res/values/strings.xml b/Software/Android_Studio/Tango.BL/src/main/res/values/strings.xml
deleted file mode 100644
index 5c465ac04..000000000
--- a/Software/Android_Studio/Tango.BL/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
- <string name="app_name">Tango.BL</string>
-</resources>
diff --git a/Software/Android_Studio/Tango.Synchronization/.gitignore b/Software/Android_Studio/Tango.Synchronization/.gitignore
deleted file mode 100644
index 796b96d1c..000000000
--- a/Software/Android_Studio/Tango.Synchronization/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build
diff --git a/Software/Android_Studio/Tango.Synchronization/build.gradle b/Software/Android_Studio/Tango.Synchronization/build.gradle
deleted file mode 100644
index a8a33e319..000000000
--- a/Software/Android_Studio/Tango.Synchronization/build.gradle
+++ /dev/null
@@ -1,49 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
- compileSdkVersion 26
- buildToolsVersion "26.0.1"
-
-
- defaultConfig {
- minSdkVersion 22
- targetSdkVersion 26
- versionCode 1
- versionName "1.0"
-
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-
- multiDexEnabled true
-
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-}
-
-dependencies {
- implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'com.android.support:appcompat-v7:26.1.0'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.1'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
- implementation project(':Tango.PMR')
- implementation project(':Tango.Web')
- compile globalDependencies.logging
- compile globalDependencies.storage
- compile globalDependencies.dagger
- compile globalDependencies.daggerAndroid
- implementation project(':Tango.DAL')
- implementation project(':Tango.Integration')
- compile globalDependencies.rxJava
- compile globalDependencies.rxJavaAndroid
- implementation project(':Tango.Transport')
-}
diff --git a/Software/Android_Studio/Tango.Synchronization/proguard-rules.pro b/Software/Android_Studio/Tango.Synchronization/proguard-rules.pro
deleted file mode 100644
index a0eef131a..000000000
--- a/Software/Android_Studio/Tango.Synchronization/proguard-rules.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in C:\Users\Roy\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/Software/Android_Studio/Tango.Synchronization/src/main/AndroidManifest.xml b/Software/Android_Studio/Tango.Synchronization/src/main/AndroidManifest.xml
deleted file mode 100644
index 0f9821a96..000000000
--- a/Software/Android_Studio/Tango.Synchronization/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.twine.tango.synchronization" />
diff --git a/Software/Android_Studio/Tango.Synchronization/src/main/res/values/strings.xml b/Software/Android_Studio/Tango.Synchronization/src/main/res/values/strings.xml
deleted file mode 100644
index f4a346f34..000000000
--- a/Software/Android_Studio/Tango.Synchronization/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
- <string name="app_name">Tango.Synchronization</string>
-</resources>
diff --git a/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Synchronization_TST.java b/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Synchronization_TST.java
index 4713fb6cc..4635bec7a 100644
--- a/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Synchronization_TST.java
+++ b/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Synchronization_TST.java
@@ -36,18 +36,18 @@ public class Synchronization_TST
XLog.i(org.getName());
}
- ISynchronizationService synchronizer = new SynchronizationService(new MachineIdentityProvider());
+ //ISynchronizationService synchronizer = new SynchronizationService(new MachineIdentityProvider());
- synchronizer.synchronizeDB().subscribe(() ->
- {
- for (Organization org : TangoDAO.getAllOrganizations())
- {
- XLog.i(org.getName());
- }
-
- }, (ex) ->
- {
- ex.printStackTrace();
- });
+// synchronizer.synchronizeDB().subscribe(() ->
+// {
+// for (Organization org : TangoDAO.getAllOrganizations())
+// {
+// XLog.i(org.getName());
+// }
+//
+// }, (ex) ->
+// {
+// ex.printStackTrace();
+// });
}
}
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.c b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.c
index 6416e1fcd..e922ccf91 100644
--- a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.c
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.c
@@ -7,7 +7,7 @@
#endif
#include "MessageType.pb-c.h"
-static const ProtobufCEnumValue message_type__enum_values_by_number[33] =
+static const ProtobufCEnumValue message_type__enum_values_by_number[36] =
{
{ "RGB", "MESSAGE_TYPE__RGB", 0 },
{ "Job", "MESSAGE_TYPE__Job", 1 },
@@ -42,14 +42,20 @@ static const ProtobufCEnumValue message_type__enum_values_by_number[33] =
{ "StubSteperMotorResponse", "MESSAGE_TYPE__StubSteperMotorResponse", 30 },
{ "StubValveRequest", "MESSAGE_TYPE__StubValveRequest", 31 },
{ "StubValveResponse", "MESSAGE_TYPE__StubValveResponse", 32 },
+ { "ExternalBridgeUdpDiscoveryPacket", "MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket", 33 },
+ { "ExternalClientLoginRequest", "MESSAGE_TYPE__ExternalClientLoginRequest", 34 },
+ { "ExternalClientLoginResponse", "MESSAGE_TYPE__ExternalClientLoginResponse", 35 },
};
static const ProtobufCIntRange message_type__value_ranges[] = {
-{0, 0},{0, 33}
+{0, 0},{0, 36}
};
-static const ProtobufCEnumValueIndex message_type__enum_values_by_name[33] =
+static const ProtobufCEnumValueIndex message_type__enum_values_by_name[36] =
{
{ "CalculateRequest", 3 },
{ "CalculateResponse", 4 },
+ { "ExternalBridgeUdpDiscoveryPacket", 33 },
+ { "ExternalClientLoginRequest", 34 },
+ { "ExternalClientLoginResponse", 35 },
{ "Job", 1 },
{ "ProgressRequest", 5 },
{ "ProgressResponse", 6 },
@@ -89,9 +95,9 @@ const ProtobufCEnumDescriptor message_type__descriptor =
"MessageType",
"MessageType",
"",
- 33,
+ 36,
message_type__enum_values_by_number,
- 33,
+ 36,
message_type__enum_values_by_name,
1,
message_type__value_ranges,
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.h b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.h
index 56f9af6ca..fae795b73 100644
--- a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.h
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Common/MessageType.pb-c.h
@@ -52,7 +52,10 @@ typedef enum _MessageType {
MESSAGE_TYPE__StubSteperMotorRequest = 29,
MESSAGE_TYPE__StubSteperMotorResponse = 30,
MESSAGE_TYPE__StubValveRequest = 31,
- MESSAGE_TYPE__StubValveResponse = 32
+ MESSAGE_TYPE__StubValveResponse = 32,
+ MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket = 33,
+ MESSAGE_TYPE__ExternalClientLoginRequest = 34,
+ MESSAGE_TYPE__ExternalClientLoginResponse = 35
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(MESSAGE_TYPE)
} MessageType;
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.c b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.c
new file mode 100644
index 000000000..b8a8d9c6e
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ExternalBridgeUdpDiscoveryPacket.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ExternalBridgeUdpDiscoveryPacket.pb-c.h"
+void external_bridge_udp_discovery_packet__init
+ (ExternalBridgeUdpDiscoveryPacket *message)
+{
+ static const ExternalBridgeUdpDiscoveryPacket init_value = EXTERNAL_BRIDGE_UDP_DISCOVERY_PACKET__INIT;
+ *message = init_value;
+}
+size_t external_bridge_udp_discovery_packet__get_packed_size
+ (const ExternalBridgeUdpDiscoveryPacket *message)
+{
+ assert(message->base.descriptor == &external_bridge_udp_discovery_packet__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t external_bridge_udp_discovery_packet__pack
+ (const ExternalBridgeUdpDiscoveryPacket *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &external_bridge_udp_discovery_packet__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t external_bridge_udp_discovery_packet__pack_to_buffer
+ (const ExternalBridgeUdpDiscoveryPacket *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &external_bridge_udp_discovery_packet__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ExternalBridgeUdpDiscoveryPacket *
+ external_bridge_udp_discovery_packet__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ExternalBridgeUdpDiscoveryPacket *)
+ protobuf_c_message_unpack (&external_bridge_udp_discovery_packet__descriptor,
+ allocator, len, data);
+}
+void external_bridge_udp_discovery_packet__free_unpacked
+ (ExternalBridgeUdpDiscoveryPacket *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &external_bridge_udp_discovery_packet__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor external_bridge_udp_discovery_packet__field_descriptors[1] =
+{
+ {
+ "SerialNumber",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(ExternalBridgeUdpDiscoveryPacket, serialnumber),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned external_bridge_udp_discovery_packet__field_indices_by_name[] = {
+ 0, /* field[0] = SerialNumber */
+};
+static const ProtobufCIntRange external_bridge_udp_discovery_packet__number_ranges[1 + 1] =
+{
+ { 2, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor external_bridge_udp_discovery_packet__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ExternalBridgeUdpDiscoveryPacket",
+ "ExternalBridgeUdpDiscoveryPacket",
+ "ExternalBridgeUdpDiscoveryPacket",
+ "",
+ sizeof(ExternalBridgeUdpDiscoveryPacket),
+ 1,
+ external_bridge_udp_discovery_packet__field_descriptors,
+ external_bridge_udp_discovery_packet__field_indices_by_name,
+ 1, external_bridge_udp_discovery_packet__number_ranges,
+ (ProtobufCMessageInit) external_bridge_udp_discovery_packet__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.h b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.h
new file mode 100644
index 000000000..f40ade127
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalBridgeUdpDiscoveryPacket.pb-c.h
@@ -0,0 +1,71 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ExternalBridgeUdpDiscoveryPacket.proto */
+
+#ifndef PROTOBUF_C_ExternalBridgeUdpDiscoveryPacket_2eproto__INCLUDED
+#define PROTOBUF_C_ExternalBridgeUdpDiscoveryPacket_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ExternalBridgeUdpDiscoveryPacket ExternalBridgeUdpDiscoveryPacket;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ExternalBridgeUdpDiscoveryPacket
+{
+ ProtobufCMessage base;
+ char *serialnumber;
+};
+#define EXTERNAL_BRIDGE_UDP_DISCOVERY_PACKET__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&external_bridge_udp_discovery_packet__descriptor) \
+ , NULL }
+
+
+/* ExternalBridgeUdpDiscoveryPacket methods */
+void external_bridge_udp_discovery_packet__init
+ (ExternalBridgeUdpDiscoveryPacket *message);
+size_t external_bridge_udp_discovery_packet__get_packed_size
+ (const ExternalBridgeUdpDiscoveryPacket *message);
+size_t external_bridge_udp_discovery_packet__pack
+ (const ExternalBridgeUdpDiscoveryPacket *message,
+ uint8_t *out);
+size_t external_bridge_udp_discovery_packet__pack_to_buffer
+ (const ExternalBridgeUdpDiscoveryPacket *message,
+ ProtobufCBuffer *buffer);
+ExternalBridgeUdpDiscoveryPacket *
+ external_bridge_udp_discovery_packet__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void external_bridge_udp_discovery_packet__free_unpacked
+ (ExternalBridgeUdpDiscoveryPacket *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ExternalBridgeUdpDiscoveryPacket_Closure)
+ (const ExternalBridgeUdpDiscoveryPacket *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor external_bridge_udp_discovery_packet__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ExternalBridgeUdpDiscoveryPacket_2eproto__INCLUDED */
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.c b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.c
new file mode 100644
index 000000000..a19339ec5
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ExternalClientLoginRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ExternalClientLoginRequest.pb-c.h"
+void external_client_login_request__init
+ (ExternalClientLoginRequest *message)
+{
+ static const ExternalClientLoginRequest init_value = EXTERNAL_CLIENT_LOGIN_REQUEST__INIT;
+ *message = init_value;
+}
+size_t external_client_login_request__get_packed_size
+ (const ExternalClientLoginRequest *message)
+{
+ assert(message->base.descriptor == &external_client_login_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t external_client_login_request__pack
+ (const ExternalClientLoginRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &external_client_login_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t external_client_login_request__pack_to_buffer
+ (const ExternalClientLoginRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &external_client_login_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ExternalClientLoginRequest *
+ external_client_login_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ExternalClientLoginRequest *)
+ protobuf_c_message_unpack (&external_client_login_request__descriptor,
+ allocator, len, data);
+}
+void external_client_login_request__free_unpacked
+ (ExternalClientLoginRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &external_client_login_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor external_client_login_request__field_descriptors[1] =
+{
+ {
+ "key",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(ExternalClientLoginRequest, key),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned external_client_login_request__field_indices_by_name[] = {
+ 0, /* field[0] = key */
+};
+static const ProtobufCIntRange external_client_login_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor external_client_login_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ExternalClientLoginRequest",
+ "ExternalClientLoginRequest",
+ "ExternalClientLoginRequest",
+ "",
+ sizeof(ExternalClientLoginRequest),
+ 1,
+ external_client_login_request__field_descriptors,
+ external_client_login_request__field_indices_by_name,
+ 1, external_client_login_request__number_ranges,
+ (ProtobufCMessageInit) external_client_login_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.h b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.h
new file mode 100644
index 000000000..b2ff576b0
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginRequest.pb-c.h
@@ -0,0 +1,71 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ExternalClientLoginRequest.proto */
+
+#ifndef PROTOBUF_C_ExternalClientLoginRequest_2eproto__INCLUDED
+#define PROTOBUF_C_ExternalClientLoginRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ExternalClientLoginRequest ExternalClientLoginRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ExternalClientLoginRequest
+{
+ ProtobufCMessage base;
+ char *key;
+};
+#define EXTERNAL_CLIENT_LOGIN_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&external_client_login_request__descriptor) \
+ , NULL }
+
+
+/* ExternalClientLoginRequest methods */
+void external_client_login_request__init
+ (ExternalClientLoginRequest *message);
+size_t external_client_login_request__get_packed_size
+ (const ExternalClientLoginRequest *message);
+size_t external_client_login_request__pack
+ (const ExternalClientLoginRequest *message,
+ uint8_t *out);
+size_t external_client_login_request__pack_to_buffer
+ (const ExternalClientLoginRequest *message,
+ ProtobufCBuffer *buffer);
+ExternalClientLoginRequest *
+ external_client_login_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void external_client_login_request__free_unpacked
+ (ExternalClientLoginRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ExternalClientLoginRequest_Closure)
+ (const ExternalClientLoginRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor external_client_login_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ExternalClientLoginRequest_2eproto__INCLUDED */
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.c b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.c
new file mode 100644
index 000000000..6d8646415
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ExternalClientLoginResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ExternalClientLoginResponse.pb-c.h"
+void external_client_login_response__init
+ (ExternalClientLoginResponse *message)
+{
+ static const ExternalClientLoginResponse init_value = EXTERNAL_CLIENT_LOGIN_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t external_client_login_response__get_packed_size
+ (const ExternalClientLoginResponse *message)
+{
+ assert(message->base.descriptor == &external_client_login_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t external_client_login_response__pack
+ (const ExternalClientLoginResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &external_client_login_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t external_client_login_response__pack_to_buffer
+ (const ExternalClientLoginResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &external_client_login_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ExternalClientLoginResponse *
+ external_client_login_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ExternalClientLoginResponse *)
+ protobuf_c_message_unpack (&external_client_login_response__descriptor,
+ allocator, len, data);
+}
+void external_client_login_response__free_unpacked
+ (ExternalClientLoginResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &external_client_login_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor external_client_login_response__field_descriptors[2] =
+{
+ {
+ "Authenticated",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(ExternalClientLoginResponse, has_authenticated),
+ offsetof(ExternalClientLoginResponse, authenticated),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SerialNumber",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(ExternalClientLoginResponse, serialnumber),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned external_client_login_response__field_indices_by_name[] = {
+ 0, /* field[0] = Authenticated */
+ 1, /* field[1] = SerialNumber */
+};
+static const ProtobufCIntRange external_client_login_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor external_client_login_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ExternalClientLoginResponse",
+ "ExternalClientLoginResponse",
+ "ExternalClientLoginResponse",
+ "",
+ sizeof(ExternalClientLoginResponse),
+ 2,
+ external_client_login_response__field_descriptors,
+ external_client_login_response__field_indices_by_name,
+ 1, external_client_login_response__number_ranges,
+ (ProtobufCMessageInit) external_client_login_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.h b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.h
new file mode 100644
index 000000000..46bdf15df
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ColorLib/PMR/Integration/ExternalClientLoginResponse.pb-c.h
@@ -0,0 +1,73 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ExternalClientLoginResponse.proto */
+
+#ifndef PROTOBUF_C_ExternalClientLoginResponse_2eproto__INCLUDED
+#define PROTOBUF_C_ExternalClientLoginResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ExternalClientLoginResponse ExternalClientLoginResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ExternalClientLoginResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_authenticated;
+ protobuf_c_boolean authenticated;
+ char *serialnumber;
+};
+#define EXTERNAL_CLIENT_LOGIN_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&external_client_login_response__descriptor) \
+ , 0, 0, NULL }
+
+
+/* ExternalClientLoginResponse methods */
+void external_client_login_response__init
+ (ExternalClientLoginResponse *message);
+size_t external_client_login_response__get_packed_size
+ (const ExternalClientLoginResponse *message);
+size_t external_client_login_response__pack
+ (const ExternalClientLoginResponse *message,
+ uint8_t *out);
+size_t external_client_login_response__pack_to_buffer
+ (const ExternalClientLoginResponse *message,
+ ProtobufCBuffer *buffer);
+ExternalClientLoginResponse *
+ external_client_login_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void external_client_login_response__free_unpacked
+ (ExternalClientLoginResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ExternalClientLoginResponse_Closure)
+ (const ExternalClientLoginResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor external_client_login_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ExternalClientLoginResponse_2eproto__INCLUDED */
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.cc
new file mode 100644
index 000000000..450a9ed33
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.cc
@@ -0,0 +1,450 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ExternalBridgeUdpDiscoveryPacket.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "ExternalBridgeUdpDiscoveryPacket.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 Integration {
+class ExternalBridgeUdpDiscoveryPacketDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ExternalBridgeUdpDiscoveryPacket>
+ _instance;
+} _ExternalBridgeUdpDiscoveryPacket_default_instance_;
+
+namespace protobuf_ExternalBridgeUdpDiscoveryPacket_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(ExternalBridgeUdpDiscoveryPacket, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExternalBridgeUdpDiscoveryPacket, serialnumber_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(ExternalBridgeUdpDiscoveryPacket)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_ExternalBridgeUdpDiscoveryPacket_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "ExternalBridgeUdpDiscoveryPacket.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();
+ _ExternalBridgeUdpDiscoveryPacket_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_ExternalBridgeUdpDiscoveryPacket_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&ExternalBridgeUdpDiscoveryPacket.proto"
+ "\022\025Tango.PMR.Integration\"8\n ExternalBridg"
+ "eUdpDiscoveryPacket\022\024\n\014SerialNumber\030\002 \001("
+ "\tB!\n\037com.twine.tango.pmr.integrationb\006pr"
+ "oto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 164);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "ExternalBridgeUdpDiscoveryPacket.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_ExternalBridgeUdpDiscoveryPacket_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ExternalBridgeUdpDiscoveryPacket::kSerialNumberFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ExternalBridgeUdpDiscoveryPacket::ExternalBridgeUdpDiscoveryPacket()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_ExternalBridgeUdpDiscoveryPacket_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+}
+ExternalBridgeUdpDiscoveryPacket::ExternalBridgeUdpDiscoveryPacket(const ExternalBridgeUdpDiscoveryPacket& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ serialnumber_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (from.serialnumber().size() > 0) {
+ serialnumber_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.serialnumber_);
+ }
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+}
+
+void ExternalBridgeUdpDiscoveryPacket::SharedCtor() {
+ serialnumber_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ _cached_size_ = 0;
+}
+
+ExternalBridgeUdpDiscoveryPacket::~ExternalBridgeUdpDiscoveryPacket() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ SharedDtor();
+}
+
+void ExternalBridgeUdpDiscoveryPacket::SharedDtor() {
+ serialnumber_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ExternalBridgeUdpDiscoveryPacket::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ExternalBridgeUdpDiscoveryPacket::descriptor() {
+ protobuf_ExternalBridgeUdpDiscoveryPacket_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ExternalBridgeUdpDiscoveryPacket_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const ExternalBridgeUdpDiscoveryPacket& ExternalBridgeUdpDiscoveryPacket::default_instance() {
+ protobuf_ExternalBridgeUdpDiscoveryPacket_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+ExternalBridgeUdpDiscoveryPacket* ExternalBridgeUdpDiscoveryPacket::New(::google::protobuf::Arena* arena) const {
+ ExternalBridgeUdpDiscoveryPacket* n = new ExternalBridgeUdpDiscoveryPacket;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void ExternalBridgeUdpDiscoveryPacket::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ serialnumber_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ _internal_metadata_.Clear();
+}
+
+bool ExternalBridgeUdpDiscoveryPacket::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.Integration.ExternalBridgeUdpDiscoveryPacket)
+ 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 SerialNumber = 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_serialnumber()));
+ DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->serialnumber().data(), static_cast<int>(this->serialnumber().length()),
+ ::google::protobuf::internal::WireFormatLite::PARSE,
+ "Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber"));
+ } 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.Integration.ExternalBridgeUdpDiscoveryPacket)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ return false;
+#undef DO_
+}
+
+void ExternalBridgeUdpDiscoveryPacket::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string SerialNumber = 2;
+ if (this->serialnumber().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->serialnumber().data(), static_cast<int>(this->serialnumber().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 2, this->serialnumber(), 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.Integration.ExternalBridgeUdpDiscoveryPacket)
+}
+
+::google::protobuf::uint8* ExternalBridgeUdpDiscoveryPacket::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string SerialNumber = 2;
+ if (this->serialnumber().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->serialnumber().data(), static_cast<int>(this->serialnumber().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 2, this->serialnumber(), 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.Integration.ExternalBridgeUdpDiscoveryPacket)
+ return target;
+}
+
+size_t ExternalBridgeUdpDiscoveryPacket::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ 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 SerialNumber = 2;
+ if (this->serialnumber().size() > 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->serialnumber());
+ }
+
+ 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 ExternalBridgeUdpDiscoveryPacket::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ GOOGLE_DCHECK_NE(&from, this);
+ const ExternalBridgeUdpDiscoveryPacket* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const ExternalBridgeUdpDiscoveryPacket>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ MergeFrom(*source);
+ }
+}
+
+void ExternalBridgeUdpDiscoveryPacket::MergeFrom(const ExternalBridgeUdpDiscoveryPacket& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.serialnumber().size() > 0) {
+
+ serialnumber_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.serialnumber_);
+ }
+}
+
+void ExternalBridgeUdpDiscoveryPacket::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ExternalBridgeUdpDiscoveryPacket::CopyFrom(const ExternalBridgeUdpDiscoveryPacket& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ExternalBridgeUdpDiscoveryPacket::IsInitialized() const {
+ return true;
+}
+
+void ExternalBridgeUdpDiscoveryPacket::Swap(ExternalBridgeUdpDiscoveryPacket* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void ExternalBridgeUdpDiscoveryPacket::InternalSwap(ExternalBridgeUdpDiscoveryPacket* other) {
+ using std::swap;
+ serialnumber_.Swap(&other->serialnumber_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata ExternalBridgeUdpDiscoveryPacket::GetMetadata() const {
+ protobuf_ExternalBridgeUdpDiscoveryPacket_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ExternalBridgeUdpDiscoveryPacket_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ExternalBridgeUdpDiscoveryPacket
+
+// string SerialNumber = 2;
+void ExternalBridgeUdpDiscoveryPacket::clear_serialnumber() {
+ serialnumber_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+const ::std::string& ExternalBridgeUdpDiscoveryPacket::serialnumber() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+ return serialnumber_.GetNoArena();
+}
+void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(const ::std::string& value) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+#if LANG_CXX11
+void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(::std::string&& value) {
+
+ serialnumber_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+#endif
+void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(const char* value, size_t size) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+::std::string* ExternalBridgeUdpDiscoveryPacket::mutable_serialnumber() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+ return serialnumber_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ExternalBridgeUdpDiscoveryPacket::release_serialnumber() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+
+ return serialnumber_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ExternalBridgeUdpDiscoveryPacket::set_allocated_serialnumber(::std::string* serialnumber) {
+ if (serialnumber != NULL) {
+
+ } else {
+
+ }
+ serialnumber_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), serialnumber);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.h
new file mode 100644
index 000000000..cfff09f49
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalBridgeUdpDiscoveryPacket.pb.h
@@ -0,0 +1,246 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ExternalBridgeUdpDiscoveryPacket.proto
+
+#ifndef PROTOBUF_ExternalBridgeUdpDiscoveryPacket_2eproto__INCLUDED
+#define PROTOBUF_ExternalBridgeUdpDiscoveryPacket_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 Integration {
+class ExternalBridgeUdpDiscoveryPacket;
+class ExternalBridgeUdpDiscoveryPacketDefaultTypeInternal;
+extern ExternalBridgeUdpDiscoveryPacketDefaultTypeInternal _ExternalBridgeUdpDiscoveryPacket_default_instance_;
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Integration {
+
+namespace protobuf_ExternalBridgeUdpDiscoveryPacket_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_ExternalBridgeUdpDiscoveryPacket_2eproto
+
+// ===================================================================
+
+class ExternalBridgeUdpDiscoveryPacket : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket) */ {
+ public:
+ ExternalBridgeUdpDiscoveryPacket();
+ virtual ~ExternalBridgeUdpDiscoveryPacket();
+
+ ExternalBridgeUdpDiscoveryPacket(const ExternalBridgeUdpDiscoveryPacket& from);
+
+ inline ExternalBridgeUdpDiscoveryPacket& operator=(const ExternalBridgeUdpDiscoveryPacket& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ ExternalBridgeUdpDiscoveryPacket(ExternalBridgeUdpDiscoveryPacket&& from) noexcept
+ : ExternalBridgeUdpDiscoveryPacket() {
+ *this = ::std::move(from);
+ }
+
+ inline ExternalBridgeUdpDiscoveryPacket& operator=(ExternalBridgeUdpDiscoveryPacket&& 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 ExternalBridgeUdpDiscoveryPacket& default_instance();
+
+ static inline const ExternalBridgeUdpDiscoveryPacket* internal_default_instance() {
+ return reinterpret_cast<const ExternalBridgeUdpDiscoveryPacket*>(
+ &_ExternalBridgeUdpDiscoveryPacket_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(ExternalBridgeUdpDiscoveryPacket* other);
+ friend void swap(ExternalBridgeUdpDiscoveryPacket& a, ExternalBridgeUdpDiscoveryPacket& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline ExternalBridgeUdpDiscoveryPacket* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ ExternalBridgeUdpDiscoveryPacket* 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 ExternalBridgeUdpDiscoveryPacket& from);
+ void MergeFrom(const ExternalBridgeUdpDiscoveryPacket& 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(ExternalBridgeUdpDiscoveryPacket* 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 SerialNumber = 2;
+ void clear_serialnumber();
+ static const int kSerialNumberFieldNumber = 2;
+ const ::std::string& serialnumber() const;
+ void set_serialnumber(const ::std::string& value);
+ #if LANG_CXX11
+ void set_serialnumber(::std::string&& value);
+ #endif
+ void set_serialnumber(const char* value);
+ void set_serialnumber(const char* value, size_t size);
+ ::std::string* mutable_serialnumber();
+ ::std::string* release_serialnumber();
+ void set_allocated_serialnumber(::std::string* serialnumber);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ ::google::protobuf::internal::ArenaStringPtr serialnumber_;
+ mutable int _cached_size_;
+ friend struct protobuf_ExternalBridgeUdpDiscoveryPacket_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// ExternalBridgeUdpDiscoveryPacket
+
+// string SerialNumber = 2;
+inline void ExternalBridgeUdpDiscoveryPacket::clear_serialnumber() {
+ serialnumber_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& ExternalBridgeUdpDiscoveryPacket::serialnumber() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+ return serialnumber_.GetNoArena();
+}
+inline void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(const ::std::string& value) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+#if LANG_CXX11
+inline void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(::std::string&& value) {
+
+ serialnumber_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+#endif
+inline void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+inline void ExternalBridgeUdpDiscoveryPacket::set_serialnumber(const char* value, size_t size) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+inline ::std::string* ExternalBridgeUdpDiscoveryPacket::mutable_serialnumber() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+ return serialnumber_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ExternalBridgeUdpDiscoveryPacket::release_serialnumber() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+
+ return serialnumber_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ExternalBridgeUdpDiscoveryPacket::set_allocated_serialnumber(::std::string* serialnumber) {
+ if (serialnumber != NULL) {
+
+ } else {
+
+ }
+ serialnumber_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), serialnumber);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Integration.ExternalBridgeUdpDiscoveryPacket.SerialNumber)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_ExternalBridgeUdpDiscoveryPacket_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.cc
new file mode 100644
index 000000000..be8799e3c
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.cc
@@ -0,0 +1,449 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ExternalClientLoginRequest.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "ExternalClientLoginRequest.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 Integration {
+class ExternalClientLoginRequestDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ExternalClientLoginRequest>
+ _instance;
+} _ExternalClientLoginRequest_default_instance_;
+
+namespace protobuf_ExternalClientLoginRequest_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(ExternalClientLoginRequest, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExternalClientLoginRequest, key_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(ExternalClientLoginRequest)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_ExternalClientLoginRequest_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "ExternalClientLoginRequest.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();
+ _ExternalClientLoginRequest_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_ExternalClientLoginRequest_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 ExternalClientLoginRequest.proto\022\025Tang"
+ "o.PMR.Integration\")\n\032ExternalClientLogin"
+ "Request\022\013\n\003key\030\001 \001(\tB!\n\037com.twine.tango."
+ "pmr.integrationb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 143);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "ExternalClientLoginRequest.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_ExternalClientLoginRequest_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ExternalClientLoginRequest::kKeyFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ExternalClientLoginRequest::ExternalClientLoginRequest()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_ExternalClientLoginRequest_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Integration.ExternalClientLoginRequest)
+}
+ExternalClientLoginRequest::ExternalClientLoginRequest(const ExternalClientLoginRequest& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (from.key().size() > 0) {
+ key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
+ }
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Integration.ExternalClientLoginRequest)
+}
+
+void ExternalClientLoginRequest::SharedCtor() {
+ key_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ _cached_size_ = 0;
+}
+
+ExternalClientLoginRequest::~ExternalClientLoginRequest() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Integration.ExternalClientLoginRequest)
+ SharedDtor();
+}
+
+void ExternalClientLoginRequest::SharedDtor() {
+ key_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ExternalClientLoginRequest::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ExternalClientLoginRequest::descriptor() {
+ protobuf_ExternalClientLoginRequest_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ExternalClientLoginRequest_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const ExternalClientLoginRequest& ExternalClientLoginRequest::default_instance() {
+ protobuf_ExternalClientLoginRequest_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+ExternalClientLoginRequest* ExternalClientLoginRequest::New(::google::protobuf::Arena* arena) const {
+ ExternalClientLoginRequest* n = new ExternalClientLoginRequest;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void ExternalClientLoginRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ _internal_metadata_.Clear();
+}
+
+bool ExternalClientLoginRequest::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.Integration.ExternalClientLoginRequest)
+ 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 key = 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_key()));
+ DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->key().data(), static_cast<int>(this->key().length()),
+ ::google::protobuf::internal::WireFormatLite::PARSE,
+ "Tango.PMR.Integration.ExternalClientLoginRequest.key"));
+ } 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.Integration.ExternalClientLoginRequest)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Integration.ExternalClientLoginRequest)
+ return false;
+#undef DO_
+}
+
+void ExternalClientLoginRequest::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string key = 1;
+ if (this->key().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->key().data(), static_cast<int>(this->key().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Integration.ExternalClientLoginRequest.key");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 1, this->key(), 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.Integration.ExternalClientLoginRequest)
+}
+
+::google::protobuf::uint8* ExternalClientLoginRequest::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // string key = 1;
+ if (this->key().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->key().data(), static_cast<int>(this->key().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Integration.ExternalClientLoginRequest.key");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 1, this->key(), 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.Integration.ExternalClientLoginRequest)
+ return target;
+}
+
+size_t ExternalClientLoginRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ 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 key = 1;
+ if (this->key().size() > 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->key());
+ }
+
+ 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 ExternalClientLoginRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ GOOGLE_DCHECK_NE(&from, this);
+ const ExternalClientLoginRequest* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const ExternalClientLoginRequest>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Integration.ExternalClientLoginRequest)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Integration.ExternalClientLoginRequest)
+ MergeFrom(*source);
+ }
+}
+
+void ExternalClientLoginRequest::MergeFrom(const ExternalClientLoginRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.key().size() > 0) {
+
+ key_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.key_);
+ }
+}
+
+void ExternalClientLoginRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ExternalClientLoginRequest::CopyFrom(const ExternalClientLoginRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Integration.ExternalClientLoginRequest)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ExternalClientLoginRequest::IsInitialized() const {
+ return true;
+}
+
+void ExternalClientLoginRequest::Swap(ExternalClientLoginRequest* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void ExternalClientLoginRequest::InternalSwap(ExternalClientLoginRequest* other) {
+ using std::swap;
+ key_.Swap(&other->key_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata ExternalClientLoginRequest::GetMetadata() const {
+ protobuf_ExternalClientLoginRequest_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ExternalClientLoginRequest_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ExternalClientLoginRequest
+
+// string key = 1;
+void ExternalClientLoginRequest::clear_key() {
+ key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+const ::std::string& ExternalClientLoginRequest::key() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+ return key_.GetNoArena();
+}
+void ExternalClientLoginRequest::set_key(const ::std::string& value) {
+
+ key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+#if LANG_CXX11
+void ExternalClientLoginRequest::set_key(::std::string&& value) {
+
+ key_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+#endif
+void ExternalClientLoginRequest::set_key(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+void ExternalClientLoginRequest::set_key(const char* value, size_t size) {
+
+ key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+::std::string* ExternalClientLoginRequest::mutable_key() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+ return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ExternalClientLoginRequest::release_key() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+
+ return key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ExternalClientLoginRequest::set_allocated_key(::std::string* key) {
+ if (key != NULL) {
+
+ } else {
+
+ }
+ key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.h
new file mode 100644
index 000000000..05bcbd561
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginRequest.pb.h
@@ -0,0 +1,246 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ExternalClientLoginRequest.proto
+
+#ifndef PROTOBUF_ExternalClientLoginRequest_2eproto__INCLUDED
+#define PROTOBUF_ExternalClientLoginRequest_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 Integration {
+class ExternalClientLoginRequest;
+class ExternalClientLoginRequestDefaultTypeInternal;
+extern ExternalClientLoginRequestDefaultTypeInternal _ExternalClientLoginRequest_default_instance_;
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Integration {
+
+namespace protobuf_ExternalClientLoginRequest_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_ExternalClientLoginRequest_2eproto
+
+// ===================================================================
+
+class ExternalClientLoginRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Integration.ExternalClientLoginRequest) */ {
+ public:
+ ExternalClientLoginRequest();
+ virtual ~ExternalClientLoginRequest();
+
+ ExternalClientLoginRequest(const ExternalClientLoginRequest& from);
+
+ inline ExternalClientLoginRequest& operator=(const ExternalClientLoginRequest& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ ExternalClientLoginRequest(ExternalClientLoginRequest&& from) noexcept
+ : ExternalClientLoginRequest() {
+ *this = ::std::move(from);
+ }
+
+ inline ExternalClientLoginRequest& operator=(ExternalClientLoginRequest&& 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 ExternalClientLoginRequest& default_instance();
+
+ static inline const ExternalClientLoginRequest* internal_default_instance() {
+ return reinterpret_cast<const ExternalClientLoginRequest*>(
+ &_ExternalClientLoginRequest_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(ExternalClientLoginRequest* other);
+ friend void swap(ExternalClientLoginRequest& a, ExternalClientLoginRequest& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline ExternalClientLoginRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ ExternalClientLoginRequest* 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 ExternalClientLoginRequest& from);
+ void MergeFrom(const ExternalClientLoginRequest& 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(ExternalClientLoginRequest* 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 key = 1;
+ void clear_key();
+ static const int kKeyFieldNumber = 1;
+ const ::std::string& key() const;
+ void set_key(const ::std::string& value);
+ #if LANG_CXX11
+ void set_key(::std::string&& value);
+ #endif
+ void set_key(const char* value);
+ void set_key(const char* value, size_t size);
+ ::std::string* mutable_key();
+ ::std::string* release_key();
+ void set_allocated_key(::std::string* key);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.ExternalClientLoginRequest)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ ::google::protobuf::internal::ArenaStringPtr key_;
+ mutable int _cached_size_;
+ friend struct protobuf_ExternalClientLoginRequest_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// ExternalClientLoginRequest
+
+// string key = 1;
+inline void ExternalClientLoginRequest::clear_key() {
+ key_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& ExternalClientLoginRequest::key() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+ return key_.GetNoArena();
+}
+inline void ExternalClientLoginRequest::set_key(const ::std::string& value) {
+
+ key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+#if LANG_CXX11
+inline void ExternalClientLoginRequest::set_key(::std::string&& value) {
+
+ key_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+#endif
+inline void ExternalClientLoginRequest::set_key(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+inline void ExternalClientLoginRequest::set_key(const char* value, size_t size) {
+
+ key_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+inline ::std::string* ExternalClientLoginRequest::mutable_key() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+ return key_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ExternalClientLoginRequest::release_key() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+
+ return key_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ExternalClientLoginRequest::set_allocated_key(::std::string* key) {
+ if (key != NULL) {
+
+ } else {
+
+ }
+ key_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), key);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Integration.ExternalClientLoginRequest.key)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_ExternalClientLoginRequest_2eproto__INCLUDED
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.cc b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.cc
new file mode 100644
index 000000000..2d75ea534
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.cc
@@ -0,0 +1,502 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ExternalClientLoginResponse.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "ExternalClientLoginResponse.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 Integration {
+class ExternalClientLoginResponseDefaultTypeInternal {
+public:
+ ::google::protobuf::internal::ExplicitlyConstructed<ExternalClientLoginResponse>
+ _instance;
+} _ExternalClientLoginResponse_default_instance_;
+
+namespace protobuf_ExternalClientLoginResponse_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(ExternalClientLoginResponse, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExternalClientLoginResponse, authenticated_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExternalClientLoginResponse, serialnumber_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+ { 0, -1, sizeof(ExternalClientLoginResponse)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+ reinterpret_cast<const ::google::protobuf::Message*>(&_ExternalClientLoginResponse_default_instance_),
+};
+
+namespace {
+
+void protobuf_AssignDescriptors() {
+ AddDescriptors();
+ ::google::protobuf::MessageFactory* factory = NULL;
+ AssignDescriptors(
+ "ExternalClientLoginResponse.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();
+ _ExternalClientLoginResponse_default_instance_._instance.DefaultConstruct();
+ ::google::protobuf::internal::OnShutdownDestroyMessage(
+ &_ExternalClientLoginResponse_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!ExternalClientLoginResponse.proto\022\025Tan"
+ "go.PMR.Integration\"J\n\033ExternalClientLogi"
+ "nResponse\022\025\n\rAuthenticated\030\001 \001(\010\022\024\n\014Seri"
+ "alNumber\030\002 \001(\tB!\n\037com.twine.tango.pmr.in"
+ "tegrationb\006proto3"
+ };
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ descriptor, 177);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "ExternalClientLoginResponse.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_ExternalClientLoginResponse_2eproto
+
+
+// ===================================================================
+
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ExternalClientLoginResponse::kAuthenticatedFieldNumber;
+const int ExternalClientLoginResponse::kSerialNumberFieldNumber;
+#endif // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ExternalClientLoginResponse::ExternalClientLoginResponse()
+ : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+ if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+ protobuf_ExternalClientLoginResponse_2eproto::InitDefaults();
+ }
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:Tango.PMR.Integration.ExternalClientLoginResponse)
+}
+ExternalClientLoginResponse::ExternalClientLoginResponse(const ExternalClientLoginResponse& from)
+ : ::google::protobuf::Message(),
+ _internal_metadata_(NULL),
+ _cached_size_(0) {
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ serialnumber_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ if (from.serialnumber().size() > 0) {
+ serialnumber_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.serialnumber_);
+ }
+ authenticated_ = from.authenticated_;
+ // @@protoc_insertion_point(copy_constructor:Tango.PMR.Integration.ExternalClientLoginResponse)
+}
+
+void ExternalClientLoginResponse::SharedCtor() {
+ serialnumber_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ authenticated_ = false;
+ _cached_size_ = 0;
+}
+
+ExternalClientLoginResponse::~ExternalClientLoginResponse() {
+ // @@protoc_insertion_point(destructor:Tango.PMR.Integration.ExternalClientLoginResponse)
+ SharedDtor();
+}
+
+void ExternalClientLoginResponse::SharedDtor() {
+ serialnumber_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ExternalClientLoginResponse::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ExternalClientLoginResponse::descriptor() {
+ protobuf_ExternalClientLoginResponse_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ExternalClientLoginResponse_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const ExternalClientLoginResponse& ExternalClientLoginResponse::default_instance() {
+ protobuf_ExternalClientLoginResponse_2eproto::InitDefaults();
+ return *internal_default_instance();
+}
+
+ExternalClientLoginResponse* ExternalClientLoginResponse::New(::google::protobuf::Arena* arena) const {
+ ExternalClientLoginResponse* n = new ExternalClientLoginResponse;
+ if (arena != NULL) {
+ arena->Own(n);
+ }
+ return n;
+}
+
+void ExternalClientLoginResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ // Prevent compiler warnings about cached_has_bits being unused
+ (void) cached_has_bits;
+
+ serialnumber_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ authenticated_ = false;
+ _internal_metadata_.Clear();
+}
+
+bool ExternalClientLoginResponse::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.Integration.ExternalClientLoginResponse)
+ 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)) {
+ // bool Authenticated = 1;
+ case 1: {
+ if (static_cast< ::google::protobuf::uint8>(tag) ==
+ static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+ input, &authenticated_)));
+ } else {
+ goto handle_unusual;
+ }
+ break;
+ }
+
+ // string SerialNumber = 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_serialnumber()));
+ DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->serialnumber().data(), static_cast<int>(this->serialnumber().length()),
+ ::google::protobuf::internal::WireFormatLite::PARSE,
+ "Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber"));
+ } 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.Integration.ExternalClientLoginResponse)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:Tango.PMR.Integration.ExternalClientLoginResponse)
+ return false;
+#undef DO_
+}
+
+void ExternalClientLoginResponse::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // bool Authenticated = 1;
+ if (this->authenticated() != 0) {
+ ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->authenticated(), output);
+ }
+
+ // string SerialNumber = 2;
+ if (this->serialnumber().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->serialnumber().data(), static_cast<int>(this->serialnumber().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 2, this->serialnumber(), 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.Integration.ExternalClientLoginResponse)
+}
+
+::google::protobuf::uint8* ExternalClientLoginResponse::InternalSerializeWithCachedSizesToArray(
+ bool deterministic, ::google::protobuf::uint8* target) const {
+ (void)deterministic; // Unused
+ // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ // bool Authenticated = 1;
+ if (this->authenticated() != 0) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->authenticated(), target);
+ }
+
+ // string SerialNumber = 2;
+ if (this->serialnumber().size() > 0) {
+ ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+ this->serialnumber().data(), static_cast<int>(this->serialnumber().length()),
+ ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+ "Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 2, this->serialnumber(), 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.Integration.ExternalClientLoginResponse)
+ return target;
+}
+
+size_t ExternalClientLoginResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ 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 SerialNumber = 2;
+ if (this->serialnumber().size() > 0) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->serialnumber());
+ }
+
+ // bool Authenticated = 1;
+ if (this->authenticated() != 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 ExternalClientLoginResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ GOOGLE_DCHECK_NE(&from, this);
+ const ExternalClientLoginResponse* source =
+ ::google::protobuf::internal::DynamicCastToGenerated<const ExternalClientLoginResponse>(
+ &from);
+ if (source == NULL) {
+ // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Integration.ExternalClientLoginResponse)
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Integration.ExternalClientLoginResponse)
+ MergeFrom(*source);
+ }
+}
+
+void ExternalClientLoginResponse::MergeFrom(const ExternalClientLoginResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ GOOGLE_DCHECK_NE(&from, this);
+ _internal_metadata_.MergeFrom(from._internal_metadata_);
+ ::google::protobuf::uint32 cached_has_bits = 0;
+ (void) cached_has_bits;
+
+ if (from.serialnumber().size() > 0) {
+
+ serialnumber_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.serialnumber_);
+ }
+ if (from.authenticated() != 0) {
+ set_authenticated(from.authenticated());
+ }
+}
+
+void ExternalClientLoginResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ExternalClientLoginResponse::CopyFrom(const ExternalClientLoginResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Integration.ExternalClientLoginResponse)
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ExternalClientLoginResponse::IsInitialized() const {
+ return true;
+}
+
+void ExternalClientLoginResponse::Swap(ExternalClientLoginResponse* other) {
+ if (other == this) return;
+ InternalSwap(other);
+}
+void ExternalClientLoginResponse::InternalSwap(ExternalClientLoginResponse* other) {
+ using std::swap;
+ serialnumber_.Swap(&other->serialnumber_);
+ swap(authenticated_, other->authenticated_);
+ _internal_metadata_.Swap(&other->_internal_metadata_);
+ swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata ExternalClientLoginResponse::GetMetadata() const {
+ protobuf_ExternalClientLoginResponse_2eproto::protobuf_AssignDescriptorsOnce();
+ return protobuf_ExternalClientLoginResponse_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+#if PROTOBUF_INLINE_NOT_IN_HEADERS
+// ExternalClientLoginResponse
+
+// bool Authenticated = 1;
+void ExternalClientLoginResponse::clear_authenticated() {
+ authenticated_ = false;
+}
+bool ExternalClientLoginResponse::authenticated() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalClientLoginResponse.Authenticated)
+ return authenticated_;
+}
+void ExternalClientLoginResponse::set_authenticated(bool value) {
+
+ authenticated_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalClientLoginResponse.Authenticated)
+}
+
+// string SerialNumber = 2;
+void ExternalClientLoginResponse::clear_serialnumber() {
+ serialnumber_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+const ::std::string& ExternalClientLoginResponse::serialnumber() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+ return serialnumber_.GetNoArena();
+}
+void ExternalClientLoginResponse::set_serialnumber(const ::std::string& value) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+#if LANG_CXX11
+void ExternalClientLoginResponse::set_serialnumber(::std::string&& value) {
+
+ serialnumber_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+#endif
+void ExternalClientLoginResponse::set_serialnumber(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+void ExternalClientLoginResponse::set_serialnumber(const char* value, size_t size) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+::std::string* ExternalClientLoginResponse::mutable_serialnumber() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+ return serialnumber_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+::std::string* ExternalClientLoginResponse::release_serialnumber() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+
+ return serialnumber_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+void ExternalClientLoginResponse::set_allocated_serialnumber(::std::string* serialnumber) {
+ if (serialnumber != NULL) {
+
+ } else {
+
+ }
+ serialnumber_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), serialnumber);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+
+#endif // PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.h
new file mode 100644
index 000000000..92e83ff41
--- /dev/null
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/ExternalClientLoginResponse.pb.h
@@ -0,0 +1,267 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: ExternalClientLoginResponse.proto
+
+#ifndef PROTOBUF_ExternalClientLoginResponse_2eproto__INCLUDED
+#define PROTOBUF_ExternalClientLoginResponse_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 Integration {
+class ExternalClientLoginResponse;
+class ExternalClientLoginResponseDefaultTypeInternal;
+extern ExternalClientLoginResponseDefaultTypeInternal _ExternalClientLoginResponse_default_instance_;
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+namespace Tango {
+namespace PMR {
+namespace Integration {
+
+namespace protobuf_ExternalClientLoginResponse_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_ExternalClientLoginResponse_2eproto
+
+// ===================================================================
+
+class ExternalClientLoginResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Integration.ExternalClientLoginResponse) */ {
+ public:
+ ExternalClientLoginResponse();
+ virtual ~ExternalClientLoginResponse();
+
+ ExternalClientLoginResponse(const ExternalClientLoginResponse& from);
+
+ inline ExternalClientLoginResponse& operator=(const ExternalClientLoginResponse& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ #if LANG_CXX11
+ ExternalClientLoginResponse(ExternalClientLoginResponse&& from) noexcept
+ : ExternalClientLoginResponse() {
+ *this = ::std::move(from);
+ }
+
+ inline ExternalClientLoginResponse& operator=(ExternalClientLoginResponse&& 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 ExternalClientLoginResponse& default_instance();
+
+ static inline const ExternalClientLoginResponse* internal_default_instance() {
+ return reinterpret_cast<const ExternalClientLoginResponse*>(
+ &_ExternalClientLoginResponse_default_instance_);
+ }
+ static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+ 0;
+
+ void Swap(ExternalClientLoginResponse* other);
+ friend void swap(ExternalClientLoginResponse& a, ExternalClientLoginResponse& b) {
+ a.Swap(&b);
+ }
+
+ // implements Message ----------------------------------------------
+
+ inline ExternalClientLoginResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+ ExternalClientLoginResponse* 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 ExternalClientLoginResponse& from);
+ void MergeFrom(const ExternalClientLoginResponse& 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(ExternalClientLoginResponse* 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 SerialNumber = 2;
+ void clear_serialnumber();
+ static const int kSerialNumberFieldNumber = 2;
+ const ::std::string& serialnumber() const;
+ void set_serialnumber(const ::std::string& value);
+ #if LANG_CXX11
+ void set_serialnumber(::std::string&& value);
+ #endif
+ void set_serialnumber(const char* value);
+ void set_serialnumber(const char* value, size_t size);
+ ::std::string* mutable_serialnumber();
+ ::std::string* release_serialnumber();
+ void set_allocated_serialnumber(::std::string* serialnumber);
+
+ // bool Authenticated = 1;
+ void clear_authenticated();
+ static const int kAuthenticatedFieldNumber = 1;
+ bool authenticated() const;
+ void set_authenticated(bool value);
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.ExternalClientLoginResponse)
+ private:
+
+ ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+ ::google::protobuf::internal::ArenaStringPtr serialnumber_;
+ bool authenticated_;
+ mutable int _cached_size_;
+ friend struct protobuf_ExternalClientLoginResponse_2eproto::TableStruct;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#if !PROTOBUF_INLINE_NOT_IN_HEADERS
+#ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif // __GNUC__
+// ExternalClientLoginResponse
+
+// bool Authenticated = 1;
+inline void ExternalClientLoginResponse::clear_authenticated() {
+ authenticated_ = false;
+}
+inline bool ExternalClientLoginResponse::authenticated() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalClientLoginResponse.Authenticated)
+ return authenticated_;
+}
+inline void ExternalClientLoginResponse::set_authenticated(bool value) {
+
+ authenticated_ = value;
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalClientLoginResponse.Authenticated)
+}
+
+// string SerialNumber = 2;
+inline void ExternalClientLoginResponse::clear_serialnumber() {
+ serialnumber_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& ExternalClientLoginResponse::serialnumber() const {
+ // @@protoc_insertion_point(field_get:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+ return serialnumber_.GetNoArena();
+}
+inline void ExternalClientLoginResponse::set_serialnumber(const ::std::string& value) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+ // @@protoc_insertion_point(field_set:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+#if LANG_CXX11
+inline void ExternalClientLoginResponse::set_serialnumber(::std::string&& value) {
+
+ serialnumber_.SetNoArena(
+ &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+ // @@protoc_insertion_point(field_set_rvalue:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+#endif
+inline void ExternalClientLoginResponse::set_serialnumber(const char* value) {
+ GOOGLE_DCHECK(value != NULL);
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+ // @@protoc_insertion_point(field_set_char:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+inline void ExternalClientLoginResponse::set_serialnumber(const char* value, size_t size) {
+
+ serialnumber_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+ ::std::string(reinterpret_cast<const char*>(value), size));
+ // @@protoc_insertion_point(field_set_pointer:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+inline ::std::string* ExternalClientLoginResponse::mutable_serialnumber() {
+
+ // @@protoc_insertion_point(field_mutable:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+ return serialnumber_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ExternalClientLoginResponse::release_serialnumber() {
+ // @@protoc_insertion_point(field_release:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+
+ return serialnumber_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ExternalClientLoginResponse::set_allocated_serialnumber(::std::string* serialnumber) {
+ if (serialnumber != NULL) {
+
+ } else {
+
+ }
+ serialnumber_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), serialnumber);
+ // @@protoc_insertion_point(field_set_allocated:Tango.PMR.Integration.ExternalClientLoginResponse.SerialNumber)
+}
+
+#ifdef __GNUC__
+ #pragma GCC diagnostic pop
+#endif // __GNUC__
+#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS
+
+// @@protoc_insertion_point(namespace_scope)
+
+
+} // namespace Integration
+} // namespace PMR
+} // namespace Tango
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_ExternalClientLoginResponse_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
index 5b1090c5d..0118af70a 100644
--- a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.cc
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.cc
@@ -82,7 +82,7 @@ namespace {
void AddDescriptorsImpl() {
InitDefaults();
static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
- "\n\021MessageType.proto\022\020Tango.PMR.Common*\357\006"
+ "\n\021MessageType.proto\022\020Tango.PMR.Common*\326\007"
"\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"
@@ -104,11 +104,14 @@ void AddDescriptorsImpl() {
"ubOptLimitSwitchRequest\020\033\022\036\n\032StubOptLimi"
"tSwitchResponse\020\034\022\032\n\026StubSteperMotorRequ"
"est\020\035\022\033\n\027StubSteperMotorResponse\020\036\022\024\n\020St"
- "ubValveRequest\020\037\022\025\n\021StubValveResponse\020 B"
- "\034\n\032com.twine.tango.pmr.commonb\006proto3"
+ "ubValveRequest\020\037\022\025\n\021StubValveResponse\020 \022"
+ "$\n ExternalBridgeUdpDiscoveryPacket\020!\022\036\n"
+ "\032ExternalClientLoginRequest\020\"\022\037\n\033Externa"
+ "lClientLoginResponse\020#B\034\n\032com.twine.tang"
+ "o.pmr.commonb\006proto3"
};
::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
- descriptor, 957);
+ descriptor, 1060);
::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
"MessageType.proto", &protobuf_RegisterTypes);
}
@@ -166,6 +169,9 @@ bool MessageType_IsValid(int value) {
case 30:
case 31:
case 32:
+ case 33:
+ case 34:
+ case 35:
return true;
default:
return false;
diff --git a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h
index e0db308a8..15fef05c0 100644
--- a/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h
+++ b/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/MessageType.pb.h
@@ -89,12 +89,15 @@ enum MessageType {
StubSteperMotorResponse = 30,
StubValveRequest = 31,
StubValveResponse = 32,
+ ExternalBridgeUdpDiscoveryPacket = 33,
+ ExternalClientLoginRequest = 34,
+ ExternalClientLoginResponse = 35,
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 = StubValveResponse;
+const MessageType MessageType_MAX = ExternalClientLoginResponse;
const int MessageType_ARRAYSIZE = MessageType_MAX + 1;
const ::google::protobuf::EnumDescriptor* MessageType_descriptor();
diff --git a/Software/Visual_Studio/Tango.Integration/Services/ExternalBridgeClient.cs b/Software/Visual_Studio/Tango.Integration/Services/ExternalBridgeClient.cs
index 1cbb6982a..47e30f46f 100644
--- a/Software/Visual_Studio/Tango.Integration/Services/ExternalBridgeClient.cs
+++ b/Software/Visual_Studio/Tango.Integration/Services/ExternalBridgeClient.cs
@@ -56,7 +56,7 @@ namespace Tango.Integration.Services
public async Task<bool> Authenticate()
{
var response = await SendRequest<ExternalClientLoginRequest, ExternalClientLoginResponse>(new ExternalClientLoginRequest() { Key = "1234" });
- return response.Authenticated;
+ return response.Message.Authenticated;
}
public ExternalBridgeClient(String serialNumber,String ipAddress)
diff --git a/Software/Visual_Studio/Tango.PMR/MessageFactory.cs b/Software/Visual_Studio/Tango.PMR/MessageFactory.cs
index 61afa1f2f..bf0074211 100644
--- a/Software/Visual_Studio/Tango.PMR/MessageFactory.cs
+++ b/Software/Visual_Studio/Tango.PMR/MessageFactory.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Tango.PMR.Common;
@@ -74,6 +75,13 @@ namespace Tango.PMR
return tango;
}
+ public static Object ParseTangoMessageAgnostic(byte[] data)
+ {
+ MessageContainer container = MessageContainer.Parser.ParseFrom(data);
+ IMessage message = ParseMessageFromContainer(container);
+ return typeof(MessageFactory).GetMethod("ParseTangoMessage",BindingFlags.Public | BindingFlags.Static).MakeGenericMethod(message.GetType()).Invoke(null, new[] { data });
+ }
+
/// <summary>
/// Parses the specified <see cref="MessageContainer"/> bytes to <see cref="TangoMessage{T}"/>.
/// </summary>
diff --git a/Software/Visual_Studio/Tango.Stubs/Stubs/Calculate.cs b/Software/Visual_Studio/Tango.Stubs/Stubs/Calculate.cs
index e1bea5454..6afedde96 100644
--- a/Software/Visual_Studio/Tango.Stubs/Stubs/Calculate.cs
+++ b/Software/Visual_Studio/Tango.Stubs/Stubs/Calculate.cs
@@ -34,7 +34,7 @@ namespace Tango.Stubs.Stubs
}
);
- return response.Sum.ToString();
+ return response.Message.Sum.ToString();
}
}
}
diff --git a/Software/Visual_Studio/Tango.Stubs/Stubs/Progress.cs b/Software/Visual_Studio/Tango.Stubs/Stubs/Progress.cs
index dc03f538e..cd13a84ff 100644
--- a/Software/Visual_Studio/Tango.Stubs/Stubs/Progress.cs
+++ b/Software/Visual_Studio/Tango.Stubs/Stubs/Progress.cs
@@ -34,7 +34,7 @@ namespace Tango.Stubs.Stubs
Delay = (int)Delay,
}), (response) =>
{
- multiResponseCallback(response.Progress.ToString());
+ multiResponseCallback(response.Message.Progress.ToString());
});
return Task.FromResult<String>("");
diff --git a/Software/Visual_Studio/Tango.Transport/ITransporter.cs b/Software/Visual_Studio/Tango.Transport/ITransporter.cs
index 9127d0138..d805afa2b 100644
--- a/Software/Visual_Studio/Tango.Transport/ITransporter.cs
+++ b/Software/Visual_Studio/Tango.Transport/ITransporter.cs
@@ -31,7 +31,7 @@ namespace Tango.Transport
/// <typeparam name="Response">The type of the response.</typeparam>
/// <param name="request">The request.</param>
/// <returns></returns>
- Task<Response> SendRequest<Request, Response>(TangoMessage<Request> request) where Request : IMessage<Request> where Response : IMessage<Response>;
+ Task<TangoMessage<Response>> SendRequest<Request, Response>(TangoMessage<Request> request) where Request : IMessage<Request> where Response : IMessage<Response>;
/// <summary>
/// Sends a request through the specified adapter.
@@ -41,7 +41,7 @@ namespace Tango.Transport
/// <param name="request">The request.</param>
/// <param name="adapter">Transport adapter</param>
/// <returns></returns>
- Task<Response> SendRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter) where Request : IMessage<Request> where Response : IMessage<Response>;
+ Task<TangoMessage<Response>> SendRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter) where Request : IMessage<Request> where Response : IMessage<Response>;
/// <summary>
/// Sends a request through all adapters which is expected to return multiple response messages.
@@ -52,7 +52,7 @@ namespace Tango.Transport
/// <param name="adapter">Transport adapter</param>
/// <param name="responseCallback">The response callback delegate.</param>
/// <returns></returns>
- void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, Action<Response> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>;
+ void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, Action<TangoMessage<Response>> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>;
/// <summary>
/// Sends a request through the specified adapter which is expected to return multiple response messages.
@@ -63,7 +63,7 @@ namespace Tango.Transport
/// <param name="adapter">Transport adapter</param>
/// <param name="responseCallback">The response callback delegate.</param>
/// <returns></returns>
- void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter, Action<Response> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>;
+ void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter, Action<TangoMessage<Response>> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>;
/// <summary>
/// Sends a response.
diff --git a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs
index aeda918fa..ec53d0fc6 100644
--- a/Software/Visual_Studio/Tango.Transport/TransporterBase.cs
+++ b/Software/Visual_Studio/Tango.Transport/TransporterBase.cs
@@ -202,6 +202,16 @@ namespace Tango.Transport
return MessageFactory.ParseMessageFromContainer(container);
}
+ /// <summary>
+ /// Called when [parse tango message].
+ /// </summary>
+ /// <param name="bytes">The bytes.</param>
+ /// <returns></returns>
+ protected virtual Object OnParseTangoMessage(byte[] bytes)
+ {
+ return MessageFactory.ParseTangoMessageAgnostic(bytes);
+ }
+
#endregion
#region Constructors
@@ -263,7 +273,7 @@ namespace Tango.Transport
/// <typeparam name="Response">The type of the response.</typeparam>
/// <param name="request">The request.</param>
/// <returns></returns>
- public Task<Response> SendRequest<Request, Response>(TangoMessage<Request> request) where Request : IMessage<Request> where Response : IMessage<Response>
+ public Task<TangoMessage<Response>> SendRequest<Request, Response>(TangoMessage<Request> request) where Request : IMessage<Request> where Response : IMessage<Response>
{
return SendRequest<Request, Response>(request, null);
}
@@ -276,13 +286,13 @@ namespace Tango.Transport
/// <param name="request">The request.</param>
/// <param name="adapter">Transport adapter</param>
/// <returns></returns>
- public Task<Response> SendRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter) where Request : IMessage<Request> where Response : IMessage<Response>
+ public Task<TangoMessage<Response>> SendRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter) where Request : IMessage<Request> where Response : IMessage<Response>
{
LogManager.Log("Queuing request message: " + typeof(Request).Name + " Token: " + request.Container.Token + " on adapter: " + (adapter != null ? adapter.Address : "ALL"));
LogManager.Log("Expected response: " + typeof(Response).Name);
- TaskCompletionSource<Response> source = new TaskCompletionSource<Response>();
- TransportMessage<Response> message = new TransportMessage<Response>(adapter, request.Container.Token, request, TransportMessageDirection.Request, OnSerializeingMessage(request), source);
+ TaskCompletionSource<TangoMessage<Response>> source = new TaskCompletionSource<TangoMessage<Response>>();
+ TransportMessage<TangoMessage<Response>> message = new TransportMessage<TangoMessage<Response>>(adapter, request.Container.Token, request, TransportMessageDirection.Request, OnSerializeingMessage(request), source);
_sendingQueue.Enqueue(message);
Task.Delay(RequestTimeout).ContinueWith((x) =>
{
@@ -303,7 +313,7 @@ namespace Tango.Transport
/// <typeparam name="Response">The type of the response.</typeparam>
/// <param name="request">The request.</param>
/// <param name="responseCallback">The response callback delegate.</param>
- public void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, Action<Response> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>
+ public void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, Action<TangoMessage<Response>> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>
{
SendContinuousRequest(request, null, responseCallback);
}
@@ -316,7 +326,7 @@ namespace Tango.Transport
/// <param name="request">The request.</param>
/// <param name="adapter">Transport adapter</param>
/// <param name="responseCallback">The response callback delegate.</param>
- public void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter, Action<Response> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>
+ public void SendContinuousRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter, Action<TangoMessage<Response>> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>
{
LogManager.Log("Queuing continuous request message: " + typeof(Request).Name + " on adapter: " + (adapter != null ? adapter.Address : "ALL"));
LogManager.Log("Expected response: " + typeof(Response).Name);
@@ -324,7 +334,7 @@ namespace Tango.Transport
request.Container.Continuous = true;
request.Container.Completed = false;
- TransportMessage<Response> message = new TransportMessage<Response>(adapter, request.Container.Token, request, TransportMessageDirection.Request, OnSerializeingMessage(request), null)
+ TransportMessage<TangoMessage<Response>> message = new TransportMessage<TangoMessage<Response>>(adapter, request.Container.Token, request, TransportMessageDirection.Request, OnSerializeingMessage(request), null)
{
IsContinuous = true,
ResponseCallback = responseCallback,
@@ -508,7 +518,7 @@ namespace Tango.Transport
try
{
LogManager.Log("Parsing inner response message and setting pending request task result...");
- request.SetResult(OnParseMessage(container), true);
+ request.SetResult(OnParseTangoMessage(data.Value), true);
}
catch (Exception ex)
{
@@ -526,7 +536,7 @@ namespace Tango.Transport
{
LogManager.Log("Continuous sequence completed.");
}
- request.InvokeResponseCallback(OnParseMessage(container), container.Completed);
+ request.InvokeResponseCallback(OnParseTangoMessage(data.Value), container.Completed);
}
catch (Exception ex)
{
diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln
index f64a4cf59..2360fb7f5 100644
--- a/Software/Visual_Studio/Tango.sln
+++ b/Software/Visual_Studio/Tango.sln
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.26430.14
+VisualStudioVersion = 15.0.26430.16
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.Protobuf", "Tango.Protobuf\Tango.Protobuf.csproj", "{40073806-914E-4E78-97AB-FA9639308EBE}"
EndProject
@@ -363,7 +363,6 @@ Global
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Debug|x64.ActiveCfg = Debug|x64
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Debug|x64.Build.0 = Debug|x64
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Debug|x86.ActiveCfg = Debug|Win32
- {35397DDA-DDC7-46BE-A802-3B722B6858E9}.Debug|x86.Build.0 = Debug|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|Any CPU.ActiveCfg = Release|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|ARM.ActiveCfg = Release|Win32
{35397DDA-DDC7-46BE-A802-3B722B6858E9}.Release|ARM64.ActiveCfg = Release|Win32
@@ -835,7 +834,6 @@ Global
{625B2A26-97A9-45C9-8BCF-6BD30F593E17}.Debug|x64.ActiveCfg = Debug|x64
{625B2A26-97A9-45C9-8BCF-6BD30F593E17}.Debug|x64.Build.0 = Debug|x64
{625B2A26-97A9-45C9-8BCF-6BD30F593E17}.Debug|x86.ActiveCfg = Debug|Win32
- {625B2A26-97A9-45C9-8BCF-6BD30F593E17}.Debug|x86.Build.0 = Debug|Win32
{625B2A26-97A9-45C9-8BCF-6BD30F593E17}.Release|Any CPU.ActiveCfg = Release|Win32
{625B2A26-97A9-45C9-8BCF-6BD30F593E17}.Release|ARM.ActiveCfg = Release|Win32
{625B2A26-97A9-45C9-8BCF-6BD30F593E17}.Release|ARM64.ActiveCfg = Release|Win32
diff --git a/Software/Visual_Studio/Utilities/Tango.MobileEM.UI/App.xaml.cs b/Software/Visual_Studio/Utilities/Tango.MobileEM.UI/App.xaml.cs
index 577dd41b4..fc953a2fa 100644
--- a/Software/Visual_Studio/Utilities/Tango.MobileEM.UI/App.xaml.cs
+++ b/Software/Visual_Studio/Utilities/Tango.MobileEM.UI/App.xaml.cs
@@ -21,7 +21,7 @@ namespace Tango.MobileEM.UI
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
- Emulator = new MobileEmulator(new ProtoTransporter(new UsbTransportAdapter("COM9")));
+ Emulator = new MobileEmulator(new ProtoTransporter(new TcpTransportAdapter("127.0.0.1",9999)));
}
}
}
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db b/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db
index 00c79da9c..0419b065c 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db
+++ b/Software/Visual_Studio/Web/Tango.MachineService/App_Data/Tango.db
Binary files differ