aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2017-11-12 18:55:21 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2017-11-12 18:55:21 +0200
commit287300ba6b08e4267191c2d17111c53f58ad8940 (patch)
tree27a02c12ba707db99656f8d881badb76aaaede73 /Software
parente2822236eebed39637656785a3e7937e85c90cd3 (diff)
downloadTango-287300ba6b08e4267191c2d17111c53f58ad8940.tar.gz
Tango-287300ba6b08e4267191c2d17111c53f58ad8940.zip
Added support for stubs from machine emulator.
Diffstat (limited to 'Software')
-rw-r--r--Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/common/MessageTypeOuterClass.java46
-rw-r--r--Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Calculate.java1036
-rw-r--r--Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Progress.java903
-rw-r--r--Software/Visual Studio/Tango.Emulations/Emulators/MobileEmulator.cs15
-rw-r--r--Software/Visual Studio/Tango.PMR/TangoMessage.cs6
-rw-r--r--Software/Visual Studio/Tango.Stubs/StubBase.cs2
-rw-r--r--Software/Visual Studio/Tango.Stubs/StubDirection.cs1
-rw-r--r--Software/Visual Studio/Tango.Stubs/Stubs/Calculate.cs2
-rw-r--r--Software/Visual Studio/Tango.Transport/ITransporter.cs11
-rw-r--r--Software/Visual Studio/Tango.Transport/TransporterBase.cs32
-rw-r--r--Software/Visual Studio/Utilities/Tango.MachineEM.UI/Tango.MachineEM.UI.csproj4
-rw-r--r--Software/Visual Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs94
-rw-r--r--Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml38
-rw-r--r--Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml.cs2
-rw-r--r--Software/Visual Studio/Utilities/Tango.MobileEM.UI/ViewModels/StubViewVM.cs6
15 files changed, 2170 insertions, 28 deletions
diff --git a/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/common/MessageTypeOuterClass.java b/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/common/MessageTypeOuterClass.java
index c34d789d0..45185ab6d 100644
--- a/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/common/MessageTypeOuterClass.java
+++ b/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/common/MessageTypeOuterClass.java
@@ -31,6 +31,22 @@ public final class MessageTypeOuterClass {
* <code>Segment = 2;</code>
*/
Segment(2),
+ /**
+ * <code>CalculateRequest = 3;</code>
+ */
+ CalculateRequest(3),
+ /**
+ * <code>CalculateResponse = 4;</code>
+ */
+ CalculateResponse(4),
+ /**
+ * <code>ProgressRequest = 5;</code>
+ */
+ ProgressRequest(5),
+ /**
+ * <code>ProgressResponse = 6;</code>
+ */
+ ProgressResponse(6),
UNRECOGNIZED(-1),
;
@@ -46,6 +62,22 @@ public final class MessageTypeOuterClass {
* <code>Segment = 2;</code>
*/
public static final int Segment_VALUE = 2;
+ /**
+ * <code>CalculateRequest = 3;</code>
+ */
+ public static final int CalculateRequest_VALUE = 3;
+ /**
+ * <code>CalculateResponse = 4;</code>
+ */
+ public static final int CalculateResponse_VALUE = 4;
+ /**
+ * <code>ProgressRequest = 5;</code>
+ */
+ public static final int ProgressRequest_VALUE = 5;
+ /**
+ * <code>ProgressResponse = 6;</code>
+ */
+ public static final int ProgressResponse_VALUE = 6;
public final int getNumber() {
@@ -69,6 +101,10 @@ public final class MessageTypeOuterClass {
case 0: return RGB;
case 1: return Job;
case 2: return Segment;
+ case 3: return CalculateRequest;
+ case 4: return CalculateResponse;
+ case 5: return ProgressRequest;
+ case 6: return ProgressResponse;
default: return null;
}
}
@@ -130,10 +166,12 @@ public final class MessageTypeOuterClass {
descriptor;
static {
java.lang.String[] descriptorData = {
- "\n\021MessageType.proto\022\020Tango.PMR.Common*,\n" +
- "\013MessageType\022\007\n\003RGB\020\000\022\007\n\003Job\020\001\022\013\n\007Segmen" +
- "t\020\002B\034\n\032com.twine.tango.pmr.commonb\006proto" +
- "3"
+ "\n\021MessageType.proto\022\020Tango.PMR.Common*\204\001" +
+ "\n\013MessageType\022\007\n\003RGB\020\000\022\007\n\003Job\020\001\022\013\n\007Segme" +
+ "nt\020\002\022\024\n\020CalculateRequest\020\003\022\025\n\021CalculateR" +
+ "esponse\020\004\022\023\n\017ProgressRequest\020\005\022\024\n\020Progre" +
+ "ssResponse\020\006B\034\n\032com.twine.tango.pmr.comm" +
+ "onb\006proto3"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
diff --git a/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Calculate.java b/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Calculate.java
new file mode 100644
index 000000000..fc87d5456
--- /dev/null
+++ b/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Calculate.java
@@ -0,0 +1,1036 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Calculate.proto
+
+package com.twine.tango.pmr.stubs;
+
+public final class Calculate {
+ private Calculate() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface CalculateRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Stubs.CalculateRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>double A = 1;</code>
+ */
+ double getA();
+
+ /**
+ * <code>double B = 2;</code>
+ */
+ double getB();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.CalculateRequest}
+ */
+ public static final class CalculateRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Stubs.CalculateRequest)
+ CalculateRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CalculateRequest.newBuilder() to construct.
+ private CalculateRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CalculateRequest() {
+ a_ = 0D;
+ b_ = 0D;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CalculateRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 9: {
+
+ a_ = input.readDouble();
+ break;
+ }
+ case 17: {
+
+ b_ = input.readDouble();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Calculate.CalculateRequest.class, com.twine.tango.pmr.stubs.Calculate.CalculateRequest.Builder.class);
+ }
+
+ public static final int A_FIELD_NUMBER = 1;
+ private double a_;
+ /**
+ * <code>double A = 1;</code>
+ */
+ public double getA() {
+ return a_;
+ }
+
+ public static final int B_FIELD_NUMBER = 2;
+ private double b_;
+ /**
+ * <code>double B = 2;</code>
+ */
+ public double getB() {
+ return b_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (a_ != 0D) {
+ output.writeDouble(1, a_);
+ }
+ if (b_ != 0D) {
+ output.writeDouble(2, b_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (a_ != 0D) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(1, a_);
+ }
+ if (b_ != 0D) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(2, b_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.stubs.Calculate.CalculateRequest)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.stubs.Calculate.CalculateRequest other = (com.twine.tango.pmr.stubs.Calculate.CalculateRequest) obj;
+
+ boolean result = true;
+ result = result && (
+ java.lang.Double.doubleToLongBits(getA())
+ == java.lang.Double.doubleToLongBits(
+ other.getA()));
+ result = result && (
+ java.lang.Double.doubleToLongBits(getB())
+ == java.lang.Double.doubleToLongBits(
+ other.getB()));
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + A_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getA()));
+ hash = (37 * hash) + B_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getB()));
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.stubs.Calculate.CalculateRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.CalculateRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Stubs.CalculateRequest)
+ com.twine.tango.pmr.stubs.Calculate.CalculateRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Calculate.CalculateRequest.class, com.twine.tango.pmr.stubs.Calculate.CalculateRequest.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.stubs.Calculate.CalculateRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ a_ = 0D;
+
+ b_ = 0D;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateRequest_descriptor;
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateRequest getDefaultInstanceForType() {
+ return com.twine.tango.pmr.stubs.Calculate.CalculateRequest.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateRequest build() {
+ com.twine.tango.pmr.stubs.Calculate.CalculateRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateRequest buildPartial() {
+ com.twine.tango.pmr.stubs.Calculate.CalculateRequest result = new com.twine.tango.pmr.stubs.Calculate.CalculateRequest(this);
+ result.a_ = a_;
+ result.b_ = b_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.stubs.Calculate.CalculateRequest) {
+ return mergeFrom((com.twine.tango.pmr.stubs.Calculate.CalculateRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.stubs.Calculate.CalculateRequest other) {
+ if (other == com.twine.tango.pmr.stubs.Calculate.CalculateRequest.getDefaultInstance()) return this;
+ if (other.getA() != 0D) {
+ setA(other.getA());
+ }
+ if (other.getB() != 0D) {
+ setB(other.getB());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.stubs.Calculate.CalculateRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.stubs.Calculate.CalculateRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private double a_ ;
+ /**
+ * <code>double A = 1;</code>
+ */
+ public double getA() {
+ return a_;
+ }
+ /**
+ * <code>double A = 1;</code>
+ */
+ public Builder setA(double value) {
+
+ a_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>double A = 1;</code>
+ */
+ public Builder clearA() {
+
+ a_ = 0D;
+ onChanged();
+ return this;
+ }
+
+ private double b_ ;
+ /**
+ * <code>double B = 2;</code>
+ */
+ public double getB() {
+ return b_;
+ }
+ /**
+ * <code>double B = 2;</code>
+ */
+ public Builder setB(double value) {
+
+ b_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>double B = 2;</code>
+ */
+ public Builder clearB() {
+
+ b_ = 0D;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Stubs.CalculateRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.CalculateRequest)
+ private static final com.twine.tango.pmr.stubs.Calculate.CalculateRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.stubs.Calculate.CalculateRequest();
+ }
+
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CalculateRequest>
+ PARSER = new com.google.protobuf.AbstractParser<CalculateRequest>() {
+ public CalculateRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CalculateRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CalculateRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CalculateRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface CalculateResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Stubs.CalculateResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>double Sum = 1;</code>
+ */
+ double getSum();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.CalculateResponse}
+ */
+ public static final class CalculateResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Stubs.CalculateResponse)
+ CalculateResponseOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CalculateResponse.newBuilder() to construct.
+ private CalculateResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CalculateResponse() {
+ sum_ = 0D;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CalculateResponse(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 9: {
+
+ sum_ = input.readDouble();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Calculate.CalculateResponse.class, com.twine.tango.pmr.stubs.Calculate.CalculateResponse.Builder.class);
+ }
+
+ public static final int SUM_FIELD_NUMBER = 1;
+ private double sum_;
+ /**
+ * <code>double Sum = 1;</code>
+ */
+ public double getSum() {
+ return sum_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (sum_ != 0D) {
+ output.writeDouble(1, sum_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (sum_ != 0D) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(1, sum_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.stubs.Calculate.CalculateResponse)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.stubs.Calculate.CalculateResponse other = (com.twine.tango.pmr.stubs.Calculate.CalculateResponse) obj;
+
+ boolean result = true;
+ result = result && (
+ java.lang.Double.doubleToLongBits(getSum())
+ == java.lang.Double.doubleToLongBits(
+ other.getSum()));
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + SUM_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getSum()));
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.stubs.Calculate.CalculateResponse prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.CalculateResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Stubs.CalculateResponse)
+ com.twine.tango.pmr.stubs.Calculate.CalculateResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Calculate.CalculateResponse.class, com.twine.tango.pmr.stubs.Calculate.CalculateResponse.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.stubs.Calculate.CalculateResponse.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ sum_ = 0D;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.stubs.Calculate.internal_static_Tango_PMR_Stubs_CalculateResponse_descriptor;
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateResponse getDefaultInstanceForType() {
+ return com.twine.tango.pmr.stubs.Calculate.CalculateResponse.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateResponse build() {
+ com.twine.tango.pmr.stubs.Calculate.CalculateResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateResponse buildPartial() {
+ com.twine.tango.pmr.stubs.Calculate.CalculateResponse result = new com.twine.tango.pmr.stubs.Calculate.CalculateResponse(this);
+ result.sum_ = sum_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.stubs.Calculate.CalculateResponse) {
+ return mergeFrom((com.twine.tango.pmr.stubs.Calculate.CalculateResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.stubs.Calculate.CalculateResponse other) {
+ if (other == com.twine.tango.pmr.stubs.Calculate.CalculateResponse.getDefaultInstance()) return this;
+ if (other.getSum() != 0D) {
+ setSum(other.getSum());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.stubs.Calculate.CalculateResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.stubs.Calculate.CalculateResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private double sum_ ;
+ /**
+ * <code>double Sum = 1;</code>
+ */
+ public double getSum() {
+ return sum_;
+ }
+ /**
+ * <code>double Sum = 1;</code>
+ */
+ public Builder setSum(double value) {
+
+ sum_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>double Sum = 1;</code>
+ */
+ public Builder clearSum() {
+
+ sum_ = 0D;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Stubs.CalculateResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.CalculateResponse)
+ private static final com.twine.tango.pmr.stubs.Calculate.CalculateResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.stubs.Calculate.CalculateResponse();
+ }
+
+ public static com.twine.tango.pmr.stubs.Calculate.CalculateResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CalculateResponse>
+ PARSER = new com.google.protobuf.AbstractParser<CalculateResponse>() {
+ public CalculateResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CalculateResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CalculateResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CalculateResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.stubs.Calculate.CalculateResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Stubs_CalculateRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Stubs_CalculateRequest_fieldAccessorTable;
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Stubs_CalculateResponse_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Stubs_CalculateResponse_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\017Calculate.proto\022\017Tango.PMR.Stubs\"(\n\020Ca" +
+ "lculateRequest\022\t\n\001A\030\001 \001(\001\022\t\n\001B\030\002 \001(\001\" \n\021" +
+ "CalculateResponse\022\013\n\003Sum\030\001 \001(\001B\033\n\031com.tw" +
+ "ine.tango.pmr.stubsb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ internal_static_Tango_PMR_Stubs_CalculateRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Stubs_CalculateRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Stubs_CalculateRequest_descriptor,
+ new java.lang.String[] { "A", "B", });
+ internal_static_Tango_PMR_Stubs_CalculateResponse_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_Tango_PMR_Stubs_CalculateResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Stubs_CalculateResponse_descriptor,
+ new java.lang.String[] { "Sum", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Progress.java b/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Progress.java
new file mode 100644
index 000000000..4281d4497
--- /dev/null
+++ b/Software/Android-Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/stubs/Progress.java
@@ -0,0 +1,903 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: Progress.proto
+
+package com.twine.tango.pmr.stubs;
+
+public final class Progress {
+ private Progress() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface ProgressRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Stubs.ProgressRequest)
+ com.google.protobuf.MessageOrBuilder {
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.ProgressRequest}
+ */
+ public static final class ProgressRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Stubs.ProgressRequest)
+ ProgressRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ProgressRequest.newBuilder() to construct.
+ private ProgressRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ProgressRequest() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ProgressRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Progress.ProgressRequest.class, com.twine.tango.pmr.stubs.Progress.ProgressRequest.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.stubs.Progress.ProgressRequest)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.stubs.Progress.ProgressRequest other = (com.twine.tango.pmr.stubs.Progress.ProgressRequest) obj;
+
+ boolean result = true;
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.stubs.Progress.ProgressRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.ProgressRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Stubs.ProgressRequest)
+ com.twine.tango.pmr.stubs.Progress.ProgressRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Progress.ProgressRequest.class, com.twine.tango.pmr.stubs.Progress.ProgressRequest.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.stubs.Progress.ProgressRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressRequest_descriptor;
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressRequest getDefaultInstanceForType() {
+ return com.twine.tango.pmr.stubs.Progress.ProgressRequest.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressRequest build() {
+ com.twine.tango.pmr.stubs.Progress.ProgressRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressRequest buildPartial() {
+ com.twine.tango.pmr.stubs.Progress.ProgressRequest result = new com.twine.tango.pmr.stubs.Progress.ProgressRequest(this);
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.stubs.Progress.ProgressRequest) {
+ return mergeFrom((com.twine.tango.pmr.stubs.Progress.ProgressRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.stubs.Progress.ProgressRequest other) {
+ if (other == com.twine.tango.pmr.stubs.Progress.ProgressRequest.getDefaultInstance()) return this;
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.stubs.Progress.ProgressRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.stubs.Progress.ProgressRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Stubs.ProgressRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.ProgressRequest)
+ private static final com.twine.tango.pmr.stubs.Progress.ProgressRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.stubs.Progress.ProgressRequest();
+ }
+
+ public static com.twine.tango.pmr.stubs.Progress.ProgressRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ProgressRequest>
+ PARSER = new com.google.protobuf.AbstractParser<ProgressRequest>() {
+ public ProgressRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ProgressRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ProgressRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ProgressRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface ProgressResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Stubs.ProgressResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>double Progress = 1;</code>
+ */
+ double getProgress();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.ProgressResponse}
+ */
+ public static final class ProgressResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Stubs.ProgressResponse)
+ ProgressResponseOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ProgressResponse.newBuilder() to construct.
+ private ProgressResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ProgressResponse() {
+ progress_ = 0D;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ProgressResponse(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 9: {
+
+ progress_ = input.readDouble();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Progress.ProgressResponse.class, com.twine.tango.pmr.stubs.Progress.ProgressResponse.Builder.class);
+ }
+
+ public static final int PROGRESS_FIELD_NUMBER = 1;
+ private double progress_;
+ /**
+ * <code>double Progress = 1;</code>
+ */
+ public double getProgress() {
+ return progress_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (progress_ != 0D) {
+ output.writeDouble(1, progress_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (progress_ != 0D) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(1, progress_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.twine.tango.pmr.stubs.Progress.ProgressResponse)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.stubs.Progress.ProgressResponse other = (com.twine.tango.pmr.stubs.Progress.ProgressResponse) obj;
+
+ boolean result = true;
+ result = result && (
+ java.lang.Double.doubleToLongBits(getProgress())
+ == java.lang.Double.doubleToLongBits(
+ other.getProgress()));
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + PROGRESS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getProgress()));
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(com.twine.tango.pmr.stubs.Progress.ProgressResponse prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Stubs.ProgressResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Stubs.ProgressResponse)
+ com.twine.tango.pmr.stubs.Progress.ProgressResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.stubs.Progress.ProgressResponse.class, com.twine.tango.pmr.stubs.Progress.ProgressResponse.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.stubs.Progress.ProgressResponse.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ progress_ = 0D;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.stubs.Progress.internal_static_Tango_PMR_Stubs_ProgressResponse_descriptor;
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressResponse getDefaultInstanceForType() {
+ return com.twine.tango.pmr.stubs.Progress.ProgressResponse.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressResponse build() {
+ com.twine.tango.pmr.stubs.Progress.ProgressResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressResponse buildPartial() {
+ com.twine.tango.pmr.stubs.Progress.ProgressResponse result = new com.twine.tango.pmr.stubs.Progress.ProgressResponse(this);
+ result.progress_ = progress_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.twine.tango.pmr.stubs.Progress.ProgressResponse) {
+ return mergeFrom((com.twine.tango.pmr.stubs.Progress.ProgressResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.stubs.Progress.ProgressResponse other) {
+ if (other == com.twine.tango.pmr.stubs.Progress.ProgressResponse.getDefaultInstance()) return this;
+ if (other.getProgress() != 0D) {
+ setProgress(other.getProgress());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ com.twine.tango.pmr.stubs.Progress.ProgressResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.stubs.Progress.ProgressResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private double progress_ ;
+ /**
+ * <code>double Progress = 1;</code>
+ */
+ public double getProgress() {
+ return progress_;
+ }
+ /**
+ * <code>double Progress = 1;</code>
+ */
+ public Builder setProgress(double value) {
+
+ progress_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>double Progress = 1;</code>
+ */
+ public Builder clearProgress() {
+
+ progress_ = 0D;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:Tango.PMR.Stubs.ProgressResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.ProgressResponse)
+ private static final com.twine.tango.pmr.stubs.Progress.ProgressResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.stubs.Progress.ProgressResponse();
+ }
+
+ public static com.twine.tango.pmr.stubs.Progress.ProgressResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ProgressResponse>
+ PARSER = new com.google.protobuf.AbstractParser<ProgressResponse>() {
+ public ProgressResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ProgressResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ProgressResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ProgressResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.stubs.Progress.ProgressResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Stubs_ProgressRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Stubs_ProgressRequest_fieldAccessorTable;
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Stubs_ProgressResponse_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Stubs_ProgressResponse_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\016Progress.proto\022\017Tango.PMR.Stubs\"\021\n\017Pro" +
+ "gressRequest\"$\n\020ProgressResponse\022\020\n\010Prog" +
+ "ress\030\001 \001(\001B\033\n\031com.twine.tango.pmr.stubsb" +
+ "\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ }, assigner);
+ internal_static_Tango_PMR_Stubs_ProgressRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Stubs_ProgressRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Stubs_ProgressRequest_descriptor,
+ new java.lang.String[] { });
+ internal_static_Tango_PMR_Stubs_ProgressResponse_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_Tango_PMR_Stubs_ProgressResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Stubs_ProgressResponse_descriptor,
+ new java.lang.String[] { "Progress", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Visual Studio/Tango.Emulations/Emulators/MobileEmulator.cs b/Software/Visual Studio/Tango.Emulations/Emulators/MobileEmulator.cs
index cea0a7fec..ed2f50db6 100644
--- a/Software/Visual Studio/Tango.Emulations/Emulators/MobileEmulator.cs
+++ b/Software/Visual Studio/Tango.Emulations/Emulators/MobileEmulator.cs
@@ -18,7 +18,7 @@ namespace Tango.Emulations.Emulators
/// <summary>
/// Initializes a new instance of the <see cref="MobileEmulator "/> class.
/// </summary>
- public MobileEmulator () : base()
+ public MobileEmulator() : base()
{
}
@@ -27,7 +27,7 @@ namespace Tango.Emulations.Emulators
/// Initializes a new instance of the <see cref="MobileEmulator "/> class.
/// </summary>
/// <param name="transporter">The transporter.</param>
- public MobileEmulator (ITransporter transporter) : base(transporter)
+ public MobileEmulator(ITransporter transporter) : base(transporter)
{
}
@@ -43,7 +43,18 @@ namespace Tango.Emulations.Emulators
/// <param name="container">The container.</param>
protected override void OnTransporterRequestReceived(object sender, MessageContainer container)
{
+ switch (container.Type)
+ {
+ case MessageType.CalculateRequest:
+ Thread.Sleep(1000);
+ var request = MessageFactory.ParseMessageFromContainer<CalculateRequest>(container);
+ Transporter.SendResponse<CalculateResponse>(new CalculateResponse()
+ {
+ Sum = request.A + request.B,
+ }, container.Token);
+ break;
+ }
}
#endregion
diff --git a/Software/Visual Studio/Tango.PMR/TangoMessage.cs b/Software/Visual Studio/Tango.PMR/TangoMessage.cs
index 082c5c59f..dec963e36 100644
--- a/Software/Visual Studio/Tango.PMR/TangoMessage.cs
+++ b/Software/Visual Studio/Tango.PMR/TangoMessage.cs
@@ -79,9 +79,9 @@ namespace Tango.PMR
/// </returns>
public static implicit operator TangoMessage<T>(T message)
{
- var container = MessageFactory.CreateTangoMessage<T>();
- container.Message = message;
- return container;
+ var tangoMessage = MessageFactory.CreateTangoMessage<T>();
+ tangoMessage.Message = message;
+ return tangoMessage;
}
/// <summary>
diff --git a/Software/Visual Studio/Tango.Stubs/StubBase.cs b/Software/Visual Studio/Tango.Stubs/StubBase.cs
index 59acc4c72..cbeb6d1d3 100644
--- a/Software/Visual Studio/Tango.Stubs/StubBase.cs
+++ b/Software/Visual Studio/Tango.Stubs/StubBase.cs
@@ -74,7 +74,7 @@ namespace Tango.Stubs
{
StubAttribute att = type.GetCustomAttributes(typeof(StubAttribute), true).FirstOrDefault() as StubAttribute;
- if (att.Direction == direction)
+ if (att.Direction.HasFlag(direction))
{
AvailableStub availableStub = new AvailableStub(type, att.Name, att.Description);
results.Add(availableStub);
diff --git a/Software/Visual Studio/Tango.Stubs/StubDirection.cs b/Software/Visual Studio/Tango.Stubs/StubDirection.cs
index 00406f11c..121818865 100644
--- a/Software/Visual Studio/Tango.Stubs/StubDirection.cs
+++ b/Software/Visual Studio/Tango.Stubs/StubDirection.cs
@@ -10,5 +10,6 @@ namespace Tango.Stubs
{
ToMachine,
ToMobile,
+ Both = ToMachine | ToMobile,
}
}
diff --git a/Software/Visual Studio/Tango.Stubs/Stubs/Calculate.cs b/Software/Visual Studio/Tango.Stubs/Stubs/Calculate.cs
index 2f5d15e85..e1bea5454 100644
--- a/Software/Visual Studio/Tango.Stubs/Stubs/Calculate.cs
+++ b/Software/Visual Studio/Tango.Stubs/Stubs/Calculate.cs
@@ -11,7 +11,7 @@ using Tango.Transport;
namespace Tango.Stubs.Stubs
{
- [Stub("Calculate", "Calculate two numbers and return the result.", StubDirection.ToMachine)]
+ [Stub("Calculate", "Calculate two numbers and return the result.", StubDirection.Both)]
public class Calculate : StubBase
{
public Calculate(ITransporter transporter) : base(transporter)
diff --git a/Software/Visual Studio/Tango.Transport/ITransporter.cs b/Software/Visual Studio/Tango.Transport/ITransporter.cs
index 6699e1f58..834c49818 100644
--- a/Software/Visual Studio/Tango.Transport/ITransporter.cs
+++ b/Software/Visual Studio/Tango.Transport/ITransporter.cs
@@ -63,7 +63,7 @@ namespace Tango.Transport
/// <param name="adapter">Transport adapter</param>
/// <param name="responseCallback">The response callback delegate.</param>
/// <returns></returns>
- void SendMultiRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter,Action<Response> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>;
+ void SendMultiRequest<Request, Response>(TangoMessage<Request> request, ITransportAdapter adapter, Action<Response> responseCallback) where Request : IMessage<Request> where Response : IMessage<Response>;
/// <summary>
/// Sends a response.
@@ -74,6 +74,15 @@ namespace Tango.Transport
Task SendResponse<Response>(TangoMessage<Response> response) where Response : IMessage<Response>;
/// <summary>
+ /// Sends a response for the specified token.
+ /// </summary>
+ /// <typeparam name="Response">The type of the response.</typeparam>
+ /// <param name="response">The response.</param>
+ /// <param name="token">The token.</param>
+ /// <returns></returns>
+ Task SendResponse<Response>(TangoMessage<Response> response,String token) where Response : IMessage<Response>;
+
+ /// <summary>
/// Occurs when a new request message has been received.
/// </summary>
event EventHandler<MessageContainer> RequestReceived;
diff --git a/Software/Visual Studio/Tango.Transport/TransporterBase.cs b/Software/Visual Studio/Tango.Transport/TransporterBase.cs
index c0c9fa72f..b3fa3c825 100644
--- a/Software/Visual Studio/Tango.Transport/TransporterBase.cs
+++ b/Software/Visual Studio/Tango.Transport/TransporterBase.cs
@@ -283,7 +283,7 @@ namespace Tango.Transport
/// <returns></returns>
public Task<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 + " on adapter: " + (adapter != null ? adapter.Address : "ALL"));
+ 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>();
@@ -342,17 +342,31 @@ namespace Tango.Transport
/// <returns></returns>
public Task SendResponse<Response>(TangoMessage<Response> response) where Response : IMessage<Response>
{
+ return SendResponse<Response>(response, response.Container.Token);
+ }
+
+ /// <summary>
+ /// Sends a response for the specified token.
+ /// </summary>
+ /// <typeparam name="Response">The type of the response.</typeparam>
+ /// <param name="response">The response.</param>
+ /// <param name="token">The token.</param>
+ /// <returns></returns>
+ public Task SendResponse<Response>(TangoMessage<Response> response, String token) where Response : IMessage<Response>
+ {
+ response.Container.Token = token;
+
LogManager.Log("Queuing response message: " + typeof(Response).Name);
ITransportAdapter adapter = null;
- LogManager.Log("Searching for matching request token...");
+ LogManager.Log("Searching for matching request token: " + token);
- if (_tokenAdapters.TryGetValue(response.Container.Token, out adapter))
+ if (_tokenAdapters.TryGetValue(token, out adapter))
{
- LogManager.Log("Found matching request token: " + response.Container.Token + " on adapter: " + (adapter != null ? adapter.Address : "ALL"));
+ LogManager.Log("Found matching request token: " + token + " on adapter: " + (adapter != null ? adapter.Address : "ALL"));
LogManager.Log("Removing matching request token.");
- _tokenAdapters.Remove(response.Container.Token);
+ _tokenAdapters.Remove(token);
}
else
{
@@ -360,7 +374,7 @@ namespace Tango.Transport
}
TaskCompletionSource<object> source = new TaskCompletionSource<object>();
- TransportMessage<object> message = new TransportMessage<object>(adapter, response.Container.Token, response, TransportMessageDirection.Response, OnSerializeingMessage(response), source);
+ TransportMessage<object> message = new TransportMessage<object>(adapter, token, response, TransportMessageDirection.Response, OnSerializeingMessage(response), source);
_sendingQueue.Enqueue(message);
return source.Task;
}
@@ -369,9 +383,9 @@ namespace Tango.Transport
#region Private Methods
- /// <summary>
- /// Starts the pull and push threads.
- /// </summary>
+ /// <summary>
+ /// Starts the pull and push threads.
+ /// </summary>
private void StartThreads()
{
_pullThread = new Thread(PullThreadMethod);
diff --git a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Tango.MachineEM.UI.csproj b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Tango.MachineEM.UI.csproj
index 3f6c9c657..79e395584 100644
--- a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Tango.MachineEM.UI.csproj
+++ b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Tango.MachineEM.UI.csproj
@@ -143,6 +143,10 @@
<Project>{ac489889-6e50-4f16-9dba-ff4c6f9ec72b}</Project>
<Name>Tango.SharedUI</Name>
</ProjectReference>
+ <ProjectReference Include="..\..\Tango.Stubs\Tango.Stubs.csproj">
+ <Project>{1981b537-39e9-4e7d-8430-27466481aeee}</Project>
+ <Name>Tango.Stubs</Name>
+ </ProjectReference>
<ProjectReference Include="..\..\Tango.Transport\Tango.Transport.csproj">
<Project>{74e700b0-1156-4126-be40-ee450d3c3026}</Project>
<Name>Tango.Transport</Name>
diff --git a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs
index eb8621152..7b70b277e 100644
--- a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/ViewModels/MainViewVM.cs
@@ -7,6 +7,7 @@ using Tango.Emulations.Emulators;
using Tango.Logging;
using Tango.SharedUI;
using Tango.SharedUI.Commands;
+using Tango.Stubs;
using Tango.Transport.Adapters;
using Tango.Transport.Servers;
using Tango.Transport.Transporters;
@@ -16,6 +17,7 @@ namespace Tango.MachineEM.UI.ViewModels
public class MainViewVM : ExtendedObject
{
private TcpServer TcpServer;
+ private bool _running;
#region Properties
@@ -39,6 +41,52 @@ namespace Tango.MachineEM.UI.ViewModels
set { _log = value; RaisePropertyChanged(nameof(Log)); }
}
+ /// <summary>
+ /// Gets or sets the available stubs.
+ /// </summary>
+ public List<AvailableStub> AvailableStubs { get; set; }
+
+ private AvailableStub _selectedAvailableStub;
+ /// <summary>
+ /// Gets or sets the selected available stub.
+ /// </summary>
+ public AvailableStub SelectedAvailableStub
+ {
+ get { return _selectedAvailableStub; }
+ set
+ {
+ _selectedAvailableStub = value; RaisePropertyChanged(nameof(SelectedAvailableStub));
+ OnStubSelected(value);
+ }
+ }
+
+ private StubBase _selectedStub;
+ /// <summary>
+ /// Gets or sets the selected stub.
+ /// </summary>
+ public StubBase SelectedStub
+ {
+ get { return _selectedStub; }
+ set { _selectedStub = value; RaisePropertyChanged(nameof(SelectedStub)); }
+ }
+
+
+ #endregion
+
+ #region Private Methods
+
+ /// <summary>
+ /// Called when available stub is selected.
+ /// </summary>
+ /// <param name="availableStub">The available stub.</param>
+ private void OnStubSelected(AvailableStub availableStub)
+ {
+ if (availableStub != null)
+ {
+ SelectedStub = availableStub.CreateInstance(Emulator.Transporter);
+ }
+ }
+
#endregion
#region Commands
@@ -53,6 +101,21 @@ namespace Tango.MachineEM.UI.ViewModels
/// </summary>
public RelayCommand StopCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the run command.
+ /// </summary>
+ public RelayCommand RunCommand { get; set; }
+
+ /// <summary>
+ /// Gets or sets the cancel command.
+ /// </summary>
+ public RelayCommand CancelCommand { get; set; }
+
+ /// <summary>
+ /// Gets or sets the clear command.
+ /// </summary>
+ public RelayCommand ClearCommand { get; set; }
+
#endregion
#region Constructors
@@ -74,6 +137,11 @@ namespace Tango.MachineEM.UI.ViewModels
StartCommand = new RelayCommand(Start, (x) => !Emulator.IsStarted);
StopCommand = new RelayCommand(Stop,(x) => Emulator.IsStarted);
+ RunCommand = new RelayCommand(RunSelectedStub, (x) => !_running);
+ CancelCommand = new RelayCommand(Cancel, (x) => _running);
+ ClearCommand = new RelayCommand(() => Log = String.Empty);
+
+ AvailableStubs = StubBase.GetAvailableStubs(StubDirection.ToMobile);
}
#endregion
@@ -116,6 +184,32 @@ namespace Tango.MachineEM.UI.ViewModels
InvalidateRelayCommands();
}
+ /// <summary>
+ /// Runs the selected stub.
+ /// </summary>
+ private async void RunSelectedStub()
+ {
+ _running = true;
+ InvalidateRelayCommands();
+ var result = await SelectedStub.Run((response) =>
+ {
+ _running = false;
+ Log += response + Environment.NewLine;
+ InvalidateRelayCommands();
+
+ });
+
+ Log += result + Environment.NewLine;
+
+ _running = false;
+ InvalidateRelayCommands();
+ }
+
+ private async void Cancel()
+ {
+
+ }
+
#endregion
#region Custom Logger
diff --git a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml
index d9156eaec..c2068acf7 100644
--- a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml
+++ b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml
@@ -4,6 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:editors="clr-namespace:Tango.SharedUI.Editors;assembly=Tango.SharedUI"
xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:fa="http://schemas.fontawesome.io/icons/"
xmlns:local="clr-namespace:Tango.MachineEM.UI.Views"
@@ -51,10 +52,23 @@
<RowDefinition Height="70"/>
</Grid.RowDefinitions>
- <TextBlock VerticalAlignment="Center" FontSize="16">STUBS</TextBlock>
-
- <ListBox Grid.Row="1">
+ <TextBlock VerticalAlignment="Center" FontSize="16" Foreground="#BB1404" FontWeight="Bold">STUBS</TextBlock>
+ <ListBox Grid.Row="1" ItemsSource="{Binding AvailableStubs}" SelectedItem="{Binding SelectedAvailableStub}" SelectedIndex="-1">
+ <ListBox.ItemTemplate>
+ <DataTemplate>
+ <Grid>
+ <StackPanel Orientation="Horizontal" Margin="2 10 0 10">
+ <fa:ImageAwesome Icon="Cogs" Foreground="Gray" Width="24" Height="24" VerticalAlignment="Center"></fa:ImageAwesome>
+ <StackPanel Margin="5 0 0 0" VerticalAlignment="Center">
+ <TextBlock Margin="2" FontSize="14" Text="{Binding Name}"></TextBlock>
+ <TextBlock Margin="2" FontSize="12" Text="{Binding Description}"></TextBlock>
+ </StackPanel>
+ </StackPanel>
+ <Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Stroke="Black" StrokeThickness="1"></Rectangle>
+ </Grid>
+ </DataTemplate>
+ </ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Right">
@@ -83,6 +97,22 @@
<RowDefinition Height="107*"/>
<RowDefinition Height="60*"/>
</Grid.RowDefinitions>
+
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="200"/>
+ <ColumnDefinition Width="1*"/>
+ </Grid.ColumnDefinitions>
+
+ <Grid>
+ <GroupBox Header="PARAMETERS" Padding="5">
+ <Grid Background="#252525">
+ <editors:ParameterizedEditor ParameterizedObject="{Binding SelectedStub}" ItemMargin="10" ItemLabelMargin="0 0 0 5" />
+ </Grid>
+ </GroupBox>
+ </Grid>
+ </Grid>
+
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
@@ -94,7 +124,7 @@
</Border>
<Grid Grid.Row="1">
- <TextBox x:Name="txtResponse" TextChanged="txtResponse_TextChanged" Text="{Binding Log}" Background="Black" AcceptsReturn="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Visible" BorderThickness="0" Padding="5" FontSize="11" Foreground="Gainsboro"></TextBox>
+ <TextBox x:Name="txtResponse" IsReadOnly="True" TextChanged="txtResponse_TextChanged" Text="{Binding Log}" Background="Black" AcceptsReturn="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Visible" BorderThickness="0" Padding="5" FontSize="11" Foreground="Gainsboro"></TextBox>
</Grid>
</Grid>
</Grid>
diff --git a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml.cs b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml.cs
index 321852082..9112f28f4 100644
--- a/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml.cs
+++ b/Software/Visual Studio/Utilities/Tango.MachineEM.UI/Views/MainView.xaml.cs
@@ -27,7 +27,7 @@ namespace Tango.MachineEM.UI.Views
private void txtResponse_TextChanged(object sender, TextChangedEventArgs e)
{
- txtResponse.ScrollToEnd();
+ //txtResponse.ScrollToEnd();
}
}
}
diff --git a/Software/Visual Studio/Utilities/Tango.MobileEM.UI/ViewModels/StubViewVM.cs b/Software/Visual Studio/Utilities/Tango.MobileEM.UI/ViewModels/StubViewVM.cs
index 645df6a13..29aed851b 100644
--- a/Software/Visual Studio/Utilities/Tango.MobileEM.UI/ViewModels/StubViewVM.cs
+++ b/Software/Visual Studio/Utilities/Tango.MobileEM.UI/ViewModels/StubViewVM.cs
@@ -43,13 +43,15 @@ namespace Tango.MobileEM.UI.ViewModels
{
_running = true;
InvalidateRelayCommands();
- Response += await Stub.Run((response) =>
+ var result = await Stub.Run((response) =>
{
_running = false;
Response += response + Environment.NewLine;
InvalidateRelayCommands();
- }) + Environment.NewLine;
+ });
+
+ Response += result + Environment.NewLine;
_running = false;
InvalidateRelayCommands();