aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Android_Studio
diff options
context:
space:
mode:
authorRoy <roy.mail.net@gmail.com>2017-12-26 21:16:15 +0200
committerRoy <roy.mail.net@gmail.com>2017-12-26 21:16:15 +0200
commit2ea2bb5bcd96045f1bd6cb4c3d8b8416dbaa05dc (patch)
treea21ff27fff08876e835df82c5242def1f0d09c17 /Software/Android_Studio
parent6450fc175114a6f8d0b75cb21386d1bb0c902711 (diff)
downloadTango-2ea2bb5bcd96045f1bd6cb4c3d8b8416dbaa05dc.tar.gz
Tango-2ea2bb5bcd96045f1bd6cb4c3d8b8416dbaa05dc.zip
MERGE
Diffstat (limited to 'Software/Android_Studio')
-rw-r--r--Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/DateConverter.java4
-rw-r--r--Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/TangoDB.java2
-rw-r--r--Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodbbin557056 -> 557056 bytes
-rw-r--r--Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/providers/MachineIdentityProvider.java8
-rw-r--r--Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/ExternalBridgeService.java9
-rw-r--r--Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/SynchronizationService.java100
-rw-r--r--Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/common/MessageTypeOuterClass.java45
-rw-r--r--Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/DirectSynchronizationRequestOuterClass.java441
-rw-r--r--Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/DirectSynchronizationResponseOuterClass.java508
-rw-r--r--Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/ExternalClientLoginRequestOuterClass.java100
-rw-r--r--Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseRequestOuterClass.java508
-rw-r--r--Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseResponseOuterClass.java506
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransportAdapter.java14
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransporter.java5
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ResponseErrorException.java (renamed from Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/transporters/ResponseErrorException.java)18
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterBase.java51
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterMode.java17
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransporterBase.java14
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/TcpTransportAdapter.java96
-rw-r--r--Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/UsbTransportAdapter.java57
20 files changed, 2394 insertions, 109 deletions
diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/DateConverter.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/DateConverter.java
index 165d0f161..548b1dd09 100644
--- a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/DateConverter.java
+++ b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/DateConverter.java
@@ -21,14 +21,14 @@ public class DateConverter extends TypeConverter<String,DateTime>
@Override
public String getDBValue(DateTime model)
{
- DateTimeFormatter dtfOut = DateTimeFormat.forPattern("yyyy-MM-dd hh:mm:ss");
+ DateTimeFormatter dtfOut = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS");
return dtfOut.print(model);
}
@Override
public DateTime getModelValue(String data)
{
- DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd hh:mm:ss");
+ DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS");
DateTime jodatime = dtf.parseDateTime(data);
return jodatime;
}
diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/TangoDB.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/TangoDB.java
index 367cbc088..53bb6a8e2 100644
--- a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/TangoDB.java
+++ b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/TangoDB.java
@@ -37,7 +37,7 @@ public class TangoDB
{
database_name = "Tango.db";
database_path = ContextHelper.getApplicationContext().getDatabasePath(database_name).getPath();
- database_backup_path = Environment.getExternalStorageDirectory() + "/BACKUP/" + "backup.db";
+ database_backup_path = ContextHelper.getApplicationContext().getDatabasePath("backup").getPath();
try
{
diff --git a/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb b/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb
index 0419b065c..f7af9b52f 100644
--- a/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb
+++ b/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb
Binary files differ
diff --git a/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/providers/MachineIdentityProvider.java b/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/providers/MachineIdentityProvider.java
index b4f2d3c4d..c72b9cea4 100644
--- a/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/providers/MachineIdentityProvider.java
+++ b/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/providers/MachineIdentityProvider.java
@@ -1,4 +1,8 @@
package com.twine.tango.integration.providers;
+import com.twine.tango.dal.dao.TangoDAO;
+import com.twine.tango.dal.entities.Machine;
+
+import static br.com.zbra.androidlinq.Linq.stream;
/**
@@ -6,10 +10,10 @@ package com.twine.tango.integration.providers;
*/
public class MachineIdentityProvider implements IMachineIdentityProvider
{
-
@Override
public String getSerialNumber()
{
- return "1234";
+ Machine machine = stream(TangoDAO.getAllMachines()).firstOrNull();
+ return machine != null ? machine.getSerialNumber() : "0000";
}
}
diff --git a/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/ExternalBridgeService.java b/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/ExternalBridgeService.java
index 709d5a271..24ae72eba 100644
--- a/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/ExternalBridgeService.java
+++ b/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/ExternalBridgeService.java
@@ -22,6 +22,7 @@ import com.twine.tango.pmr.integration.ExternalBridgeUdpDiscoveryPacketOuterClas
import com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest;
import com.twine.tango.pmr.integration.ExternalClientLoginResponseOuterClass.ExternalClientLoginResponse;
import com.twine.tango.transport.ITransportAdapter;
+import com.twine.tango.transport.ResponseErrorException;
import com.twine.tango.transport.adapters.TcpTransportAdapter;
import com.twine.tango.transport.transporters.ProtoTransporter;
@@ -198,7 +199,7 @@ public class ExternalBridgeService extends ProtoTransporter implements IExternal
if (container.getType() == MessageType.ExternalClientLoginRequest)
{
ExternalClientLoginRequest request = MessageFactory.parseMessageFromContainer(container);
- if (request.getKey().equals("1234"))
+ if (request.getPassword().equals("Aa123456")) //TODO: Compare with global machine settings password...
{
getAdapters().get(0).setAuthenticated(true);
sendResponse(MessageFactory.createTangoMessage(
@@ -235,21 +236,23 @@ public class ExternalBridgeService extends ProtoTransporter implements IExternal
//Route to machine...
if (container.getContinuous())
{
+ //noinspection unchecked
machineOperator.sendContinuousRequest(MessageFactory.createTangoMessage(container, message)).subscribe((response) ->
{
sendResponse((TangoMessage<? extends GeneratedMessageV3>) response);
}, (ex) ->
{
-
+ sendResponse((TangoMessage<? extends GeneratedMessageV3>) ((ResponseErrorException)ex).getResponse());
});
} else
{
+ //noinspection unchecked
machineOperator.sendRequest(MessageFactory.createTangoMessage(container, message)).subscribe((response) ->
{
sendResponse((TangoMessage<? extends GeneratedMessageV3>) response);
}, (ex) ->
{
-
+ sendResponse((TangoMessage<? extends GeneratedMessageV3>) ((ResponseErrorException)ex).getResponse());
});
}
}
diff --git a/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/SynchronizationService.java b/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/SynchronizationService.java
index 0f3d98982..53b4c8194 100644
--- a/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/SynchronizationService.java
+++ b/Software/Android_Studio/Tango.Integration/src/main/java/com/twine/tango/integration/services/SynchronizationService.java
@@ -1,5 +1,7 @@
package com.twine.tango.integration.services;
+import android.os.AsyncTask;
+
import com.elvishew.xlog.XLog;
import com.google.protobuf.ByteString;
import com.snatik.storage.Storage;
@@ -10,12 +12,18 @@ import com.twine.tango.integration.services.IExternalBridgeService.MessageReceiv
import com.twine.tango.pmr.MessageFactory;
import com.twine.tango.pmr.TangoMessage;
import com.twine.tango.pmr.common.MessageTypeOuterClass.MessageType;
+import com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest;
+import com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse;
+import com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest;
+import com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse;
import com.twine.tango.pmr.stubs.CalculateRequestOuterClass.CalculateRequest;
import com.twine.tango.pmr.stubs.CalculateResponseOuterClass.CalculateResponse;
import com.twine.tango.pmr.synchronization.SynchronizeDBRequestOuterClass.SynchronizeDBRequest;
import com.twine.tango.web.WebApiFactory;
import com.twine.tango.web.ISynchronizationAPI;
+import java.io.IOException;
+
import javax.inject.Inject;
import io.reactivex.Completable;
@@ -39,14 +47,96 @@ public class SynchronizationService implements ISynchronizationService
{
this.machineIdentityProvider = machineIdentityProvider;
this.bridgeService = bridgeService;
- //this.bridgeService.registerMessageHandler(this::handleCalculateRequest, MessageType.CalculateRequest);
+ this.bridgeService.registerMessageHandler(this::handleDirectSynchronizationRequest, MessageType.DirectSynchronizationRequest);
+ this.bridgeService.<OverrideDataBaseRequest>registerMessageHandler(this::handleOverrideDataBaseRequest, MessageType.OverrideDataBaseRequest);
+
}
- private void handleCalculateRequest(Object o, MessageReceivedArgs<CalculateRequest> e)
+ private void handleOverrideDataBaseRequest(Object o, MessageReceivedArgs<OverrideDataBaseRequest> request)
{
- CalculateResponse response = CalculateResponse.newBuilder().setSum(e.getMessage().getA() + e.getMessage().getB()).build();
- TangoMessage<CalculateResponse> tangoMessage = MessageFactory.createTangoMessage(CalculateResponse.class, response, e.getContainer().getToken());
- bridgeService.sendResponse(tangoMessage);
+ AsyncTask.execute(() ->
+ {
+ try
+ {
+ //Backup DataBase.
+ TangoDB.backup();
+
+ //Replace Database.
+ TangoDB.replace(request.getMessage().getRemoteDB().toByteArray());
+
+ //Create response.
+ OverrideDataBaseResponse response = OverrideDataBaseResponse.newBuilder()
+ .setSuccessful(true)
+ .build();
+
+ TangoMessage<OverrideDataBaseResponse> message = MessageFactory.createTangoMessage(
+ OverrideDataBaseResponse.class,
+ response);
+
+ bridgeService.sendResponse(message, request.getContainer().getToken()).subscribe(() ->
+ {
+
+ },(ex) ->
+ {
+ XLog.e(ex);
+ });
+
+ } catch (Exception e)
+ {
+ XLog.e(e);
+ //Create response.
+ OverrideDataBaseResponse response = OverrideDataBaseResponse.newBuilder()
+ .setSuccessful(false)
+ .build();
+
+ TangoMessage<OverrideDataBaseResponse> message = MessageFactory.createTangoMessage(
+ OverrideDataBaseResponse.class,
+ response);
+
+ bridgeService.sendResponse(message, request.getContainer().getToken()).subscribe(() ->
+ {
+
+ },(ex) ->
+ {
+ XLog.e(ex);
+ });
+ }
+ });
+ }
+
+ private void handleDirectSynchronizationRequest(Object o, MessageReceivedArgs<DirectSynchronizationRequest> request)
+ {
+ AsyncTask.execute(() ->
+ {
+ try
+ {
+ Storage storage = new Storage(ContextHelper.getApplicationContext());
+
+ //Read current DB file bytes.
+ byte[] data = storage.readFile(TangoDB.getDataBasePath());
+
+ //Create synchronization response.
+ DirectSynchronizationResponse response = DirectSynchronizationResponse.newBuilder()
+ .setLocalDB(ByteString.copyFrom(data))
+ .build();
+
+ TangoMessage<DirectSynchronizationResponse> message = MessageFactory.createTangoMessage(
+ DirectSynchronizationResponse.class,
+ response);
+
+ bridgeService.sendResponse(message, request.getContainer().getToken()).subscribe(() ->
+ {
+
+ },(ex) ->
+ {
+ XLog.e(ex);
+ });
+
+ } catch (Exception e)
+ {
+ XLog.e(e);
+ }
+ });
}
@Override
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 27d581c93..c6aaf8d17 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
@@ -163,6 +163,22 @@ public final class MessageTypeOuterClass {
* <code>ExternalClientLoginResponse = 35;</code>
*/
ExternalClientLoginResponse(35),
+ /**
+ * <code>DirectSynchronizationRequest = 36;</code>
+ */
+ DirectSynchronizationRequest(36),
+ /**
+ * <code>DirectSynchronizationResponse = 37;</code>
+ */
+ DirectSynchronizationResponse(37),
+ /**
+ * <code>OverrideDataBaseRequest = 38;</code>
+ */
+ OverrideDataBaseRequest(38),
+ /**
+ * <code>OverrideDataBaseResponse = 39;</code>
+ */
+ OverrideDataBaseResponse(39),
UNRECOGNIZED(-1),
;
@@ -310,6 +326,22 @@ public final class MessageTypeOuterClass {
* <code>ExternalClientLoginResponse = 35;</code>
*/
public static final int ExternalClientLoginResponse_VALUE = 35;
+ /**
+ * <code>DirectSynchronizationRequest = 36;</code>
+ */
+ public static final int DirectSynchronizationRequest_VALUE = 36;
+ /**
+ * <code>DirectSynchronizationResponse = 37;</code>
+ */
+ public static final int DirectSynchronizationResponse_VALUE = 37;
+ /**
+ * <code>OverrideDataBaseRequest = 38;</code>
+ */
+ public static final int OverrideDataBaseRequest_VALUE = 38;
+ /**
+ * <code>OverrideDataBaseResponse = 39;</code>
+ */
+ public static final int OverrideDataBaseResponse_VALUE = 39;
public final int getNumber() {
@@ -366,6 +398,10 @@ public final class MessageTypeOuterClass {
case 33: return ExternalBridgeUdpDiscoveryPacket;
case 34: return ExternalClientLoginRequest;
case 35: return ExternalClientLoginResponse;
+ case 36: return DirectSynchronizationRequest;
+ case 37: return DirectSynchronizationResponse;
+ case 38: return OverrideDataBaseRequest;
+ case 39: return OverrideDataBaseResponse;
default: return null;
}
}
@@ -427,7 +463,7 @@ public final class MessageTypeOuterClass {
descriptor;
static {
java.lang.String[] descriptorData = {
- "\n\021MessageType.proto\022\020Tango.PMR.Common*\326\007" +
+ "\n\021MessageType.proto\022\020Tango.PMR.Common*\326\010" +
"\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" +
@@ -452,8 +488,11 @@ public final class MessageTypeOuterClass {
"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"
+ "lClientLoginResponse\020#\022 \n\034DirectSynchron" +
+ "izationRequest\020$\022!\n\035DirectSynchronizatio" +
+ "nResponse\020%\022\033\n\027OverrideDataBaseRequest\020&" +
+ "\022\034\n\030OverrideDataBaseResponse\020\'B\034\n\032com.tw" +
+ "ine.tango.pmr.commonb\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/integration/DirectSynchronizationRequestOuterClass.java b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/DirectSynchronizationRequestOuterClass.java
new file mode 100644
index 000000000..b2d324b39
--- /dev/null
+++ b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/DirectSynchronizationRequestOuterClass.java
@@ -0,0 +1,441 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: DirectSynchronizationRequest.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class DirectSynchronizationRequestOuterClass {
+ private DirectSynchronizationRequestOuterClass() {}
+ 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 DirectSynchronizationRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.DirectSynchronizationRequest)
+ com.google.protobuf.MessageOrBuilder {
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.DirectSynchronizationRequest}
+ */
+ public static final class DirectSynchronizationRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.DirectSynchronizationRequest)
+ DirectSynchronizationRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use DirectSynchronizationRequest.newBuilder() to construct.
+ private DirectSynchronizationRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DirectSynchronizationRequest() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DirectSynchronizationRequest(
+ 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.integration.DirectSynchronizationRequestOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest.class, com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest.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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest other = (com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest) 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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest 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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest 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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest 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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest 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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest 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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest 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.Integration.DirectSynchronizationRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.DirectSynchronizationRequest)
+ com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest.class, com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest.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.integration.DirectSynchronizationRequestOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest build() {
+ com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest buildPartial() {
+ com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest result = new com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest(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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest) {
+ return mergeFrom((com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest other) {
+ if (other == com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest.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.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest) 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.Integration.DirectSynchronizationRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.DirectSynchronizationRequest)
+ private static final com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest();
+ }
+
+ public static com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DirectSynchronizationRequest>
+ PARSER = new com.google.protobuf.AbstractParser<DirectSynchronizationRequest>() {
+ public DirectSynchronizationRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DirectSynchronizationRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DirectSynchronizationRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DirectSynchronizationRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationRequestOuterClass.DirectSynchronizationRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_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\"DirectSynchronizationRequest.proto\022\025Ta" +
+ "ngo.PMR.Integration\"\036\n\034DirectSynchroniza" +
+ "tionRequestB!\n\037com.twine.tango.pmr.integ" +
+ "rationb\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_Integration_DirectSynchronizationRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_DirectSynchronizationRequest_descriptor,
+ new java.lang.String[] { });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/DirectSynchronizationResponseOuterClass.java b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/DirectSynchronizationResponseOuterClass.java
new file mode 100644
index 000000000..e1187ec4b
--- /dev/null
+++ b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/DirectSynchronizationResponseOuterClass.java
@@ -0,0 +1,508 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: DirectSynchronizationResponse.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class DirectSynchronizationResponseOuterClass {
+ private DirectSynchronizationResponseOuterClass() {}
+ 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 DirectSynchronizationResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.DirectSynchronizationResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>bytes LocalDB = 1;</code>
+ */
+ com.google.protobuf.ByteString getLocalDB();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.DirectSynchronizationResponse}
+ */
+ public static final class DirectSynchronizationResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.DirectSynchronizationResponse)
+ DirectSynchronizationResponseOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use DirectSynchronizationResponse.newBuilder() to construct.
+ private DirectSynchronizationResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DirectSynchronizationResponse() {
+ localDB_ = com.google.protobuf.ByteString.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DirectSynchronizationResponse(
+ 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 10: {
+
+ localDB_ = input.readBytes();
+ 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.integration.DirectSynchronizationResponseOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse.class, com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse.Builder.class);
+ }
+
+ public static final int LOCALDB_FIELD_NUMBER = 1;
+ private com.google.protobuf.ByteString localDB_;
+ /**
+ * <code>bytes LocalDB = 1;</code>
+ */
+ public com.google.protobuf.ByteString getLocalDB() {
+ return localDB_;
+ }
+
+ 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 (!localDB_.isEmpty()) {
+ output.writeBytes(1, localDB_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!localDB_.isEmpty()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(1, localDB_);
+ }
+ 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse other = (com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse) obj;
+
+ boolean result = true;
+ result = result && getLocalDB()
+ .equals(other.getLocalDB());
+ 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) + LOCALDB_FIELD_NUMBER;
+ hash = (53 * hash) + getLocalDB().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse 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.Integration.DirectSynchronizationResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.DirectSynchronizationResponse)
+ com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse.class, com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse.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();
+ localDB_ = com.google.protobuf.ByteString.EMPTY;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse build() {
+ com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse buildPartial() {
+ com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse result = new com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse(this);
+ result.localDB_ = localDB_;
+ 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse) {
+ return mergeFrom((com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse other) {
+ if (other == com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse.getDefaultInstance()) return this;
+ if (other.getLocalDB() != com.google.protobuf.ByteString.EMPTY) {
+ setLocalDB(other.getLocalDB());
+ }
+ 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.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.ByteString localDB_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <code>bytes LocalDB = 1;</code>
+ */
+ public com.google.protobuf.ByteString getLocalDB() {
+ return localDB_;
+ }
+ /**
+ * <code>bytes LocalDB = 1;</code>
+ */
+ public Builder setLocalDB(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ localDB_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>bytes LocalDB = 1;</code>
+ */
+ public Builder clearLocalDB() {
+
+ localDB_ = getDefaultInstance().getLocalDB();
+ 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.Integration.DirectSynchronizationResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.DirectSynchronizationResponse)
+ private static final com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse();
+ }
+
+ public static com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DirectSynchronizationResponse>
+ PARSER = new com.google.protobuf.AbstractParser<DirectSynchronizationResponse>() {
+ public DirectSynchronizationResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DirectSynchronizationResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DirectSynchronizationResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DirectSynchronizationResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.DirectSynchronizationResponseOuterClass.DirectSynchronizationResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_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#DirectSynchronizationResponse.proto\022\025T" +
+ "ango.PMR.Integration\"0\n\035DirectSynchroniz" +
+ "ationResponse\022\017\n\007LocalDB\030\001 \001(\014B!\n\037com.tw" +
+ "ine.tango.pmr.integrationb\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_Integration_DirectSynchronizationResponse_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_DirectSynchronizationResponse_descriptor,
+ new java.lang.String[] { "LocalDB", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/ExternalClientLoginRequestOuterClass.java b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/ExternalClientLoginRequestOuterClass.java
index 9717c3d11..4709d4992 100644
--- a/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/ExternalClientLoginRequestOuterClass.java
+++ b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/ExternalClientLoginRequestOuterClass.java
@@ -19,14 +19,14 @@ public final class ExternalClientLoginRequestOuterClass {
com.google.protobuf.MessageOrBuilder {
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
- java.lang.String getKey();
+ java.lang.String getPassword();
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
com.google.protobuf.ByteString
- getKeyBytes();
+ getPasswordBytes();
}
/**
* Protobuf type {@code Tango.PMR.Integration.ExternalClientLoginRequest}
@@ -41,7 +41,7 @@ public final class ExternalClientLoginRequestOuterClass {
super(builder);
}
private ExternalClientLoginRequest() {
- key_ = "";
+ password_ = "";
}
@java.lang.Override
@@ -75,7 +75,7 @@ public final class ExternalClientLoginRequestOuterClass {
case 10: {
java.lang.String s = input.readStringRequireUtf8();
- key_ = s;
+ password_ = s;
break;
}
}
@@ -102,34 +102,34 @@ public final class ExternalClientLoginRequestOuterClass {
com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest.class, com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest.Builder.class);
}
- public static final int KEY_FIELD_NUMBER = 1;
- private volatile java.lang.Object key_;
+ public static final int PASSWORD_FIELD_NUMBER = 1;
+ private volatile java.lang.Object password_;
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
- public java.lang.String getKey() {
- java.lang.Object ref = key_;
+ public java.lang.String getPassword() {
+ java.lang.Object ref = password_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
- key_ = s;
+ password_ = s;
return s;
}
}
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
public com.google.protobuf.ByteString
- getKeyBytes() {
- java.lang.Object ref = key_;
+ getPasswordBytes() {
+ java.lang.Object ref = password_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
- key_ = b;
+ password_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
@@ -148,8 +148,8 @@ public final class ExternalClientLoginRequestOuterClass {
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
- if (!getKeyBytes().isEmpty()) {
- com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
+ if (!getPasswordBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, password_);
}
unknownFields.writeTo(output);
}
@@ -159,8 +159,8 @@ public final class ExternalClientLoginRequestOuterClass {
if (size != -1) return size;
size = 0;
- if (!getKeyBytes().isEmpty()) {
- size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
+ if (!getPasswordBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, password_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
@@ -178,8 +178,8 @@ public final class ExternalClientLoginRequestOuterClass {
com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest other = (com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest) obj;
boolean result = true;
- result = result && getKey()
- .equals(other.getKey());
+ result = result && getPassword()
+ .equals(other.getPassword());
result = result && unknownFields.equals(other.unknownFields);
return result;
}
@@ -191,8 +191,8 @@ public final class ExternalClientLoginRequestOuterClass {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
- hash = (37 * hash) + KEY_FIELD_NUMBER;
- hash = (53 * hash) + getKey().hashCode();
+ hash = (37 * hash) + PASSWORD_FIELD_NUMBER;
+ hash = (53 * hash) + getPassword().hashCode();
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -322,7 +322,7 @@ public final class ExternalClientLoginRequestOuterClass {
}
public Builder clear() {
super.clear();
- key_ = "";
+ password_ = "";
return this;
}
@@ -346,7 +346,7 @@ public final class ExternalClientLoginRequestOuterClass {
public com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest buildPartial() {
com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest result = new com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest(this);
- result.key_ = key_;
+ result.password_ = password_;
onBuilt();
return result;
}
@@ -388,8 +388,8 @@ public final class ExternalClientLoginRequestOuterClass {
public Builder mergeFrom(com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest other) {
if (other == com.twine.tango.pmr.integration.ExternalClientLoginRequestOuterClass.ExternalClientLoginRequest.getDefaultInstance()) return this;
- if (!other.getKey().isEmpty()) {
- key_ = other.key_;
+ if (!other.getPassword().isEmpty()) {
+ password_ = other.password_;
onChanged();
}
this.mergeUnknownFields(other.unknownFields);
@@ -419,71 +419,71 @@ public final class ExternalClientLoginRequestOuterClass {
return this;
}
- private java.lang.Object key_ = "";
+ private java.lang.Object password_ = "";
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
- public java.lang.String getKey() {
- java.lang.Object ref = key_;
+ public java.lang.String getPassword() {
+ java.lang.Object ref = password_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
- key_ = s;
+ password_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
public com.google.protobuf.ByteString
- getKeyBytes() {
- java.lang.Object ref = key_;
+ getPasswordBytes() {
+ java.lang.Object ref = password_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
- key_ = b;
+ password_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
- public Builder setKey(
+ public Builder setPassword(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
- key_ = value;
+ password_ = value;
onChanged();
return this;
}
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
- public Builder clearKey() {
+ public Builder clearPassword() {
- key_ = getDefaultInstance().getKey();
+ password_ = getDefaultInstance().getPassword();
onChanged();
return this;
}
/**
- * <code>string key = 1;</code>
+ * <code>string Password = 1;</code>
*/
- public Builder setKeyBytes(
+ public Builder setPasswordBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
- key_ = value;
+ password_ = value;
onChanged();
return this;
}
@@ -551,9 +551,9 @@ public final class ExternalClientLoginRequestOuterClass {
static {
java.lang.String[] descriptorData = {
"\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"
+ "o.PMR.Integration\".\n\032ExternalClientLogin" +
+ "Request\022\020\n\010Password\030\001 \001(\tB!\n\037com.twine.t" +
+ "ango.pmr.integrationb\006proto3"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
@@ -572,7 +572,7 @@ public final class ExternalClientLoginRequestOuterClass {
internal_static_Tango_PMR_Integration_ExternalClientLoginRequest_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_Tango_PMR_Integration_ExternalClientLoginRequest_descriptor,
- new java.lang.String[] { "Key", });
+ new java.lang.String[] { "Password", });
}
// @@protoc_insertion_point(outer_class_scope)
diff --git a/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseRequestOuterClass.java b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseRequestOuterClass.java
new file mode 100644
index 000000000..b02fae384
--- /dev/null
+++ b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseRequestOuterClass.java
@@ -0,0 +1,508 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: OverrideDataBaseRequest.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class OverrideDataBaseRequestOuterClass {
+ private OverrideDataBaseRequestOuterClass() {}
+ 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 OverrideDataBaseRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.OverrideDataBaseRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>bytes RemoteDB = 1;</code>
+ */
+ com.google.protobuf.ByteString getRemoteDB();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.OverrideDataBaseRequest}
+ */
+ public static final class OverrideDataBaseRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.OverrideDataBaseRequest)
+ OverrideDataBaseRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use OverrideDataBaseRequest.newBuilder() to construct.
+ private OverrideDataBaseRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private OverrideDataBaseRequest() {
+ remoteDB_ = com.google.protobuf.ByteString.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private OverrideDataBaseRequest(
+ 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 10: {
+
+ remoteDB_ = input.readBytes();
+ 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.integration.OverrideDataBaseRequestOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest.class, com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest.Builder.class);
+ }
+
+ public static final int REMOTEDB_FIELD_NUMBER = 1;
+ private com.google.protobuf.ByteString remoteDB_;
+ /**
+ * <code>bytes RemoteDB = 1;</code>
+ */
+ public com.google.protobuf.ByteString getRemoteDB() {
+ return remoteDB_;
+ }
+
+ 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 (!remoteDB_.isEmpty()) {
+ output.writeBytes(1, remoteDB_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!remoteDB_.isEmpty()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(1, remoteDB_);
+ }
+ 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest other = (com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest) obj;
+
+ boolean result = true;
+ result = result && getRemoteDB()
+ .equals(other.getRemoteDB());
+ 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) + REMOTEDB_FIELD_NUMBER;
+ hash = (53 * hash) + getRemoteDB().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest 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.Integration.OverrideDataBaseRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.OverrideDataBaseRequest)
+ com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest.class, com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest.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();
+ remoteDB_ = com.google.protobuf.ByteString.EMPTY;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest build() {
+ com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest buildPartial() {
+ com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest result = new com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest(this);
+ result.remoteDB_ = remoteDB_;
+ 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest) {
+ return mergeFrom((com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest other) {
+ if (other == com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest.getDefaultInstance()) return this;
+ if (other.getRemoteDB() != com.google.protobuf.ByteString.EMPTY) {
+ setRemoteDB(other.getRemoteDB());
+ }
+ 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.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.ByteString remoteDB_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <code>bytes RemoteDB = 1;</code>
+ */
+ public com.google.protobuf.ByteString getRemoteDB() {
+ return remoteDB_;
+ }
+ /**
+ * <code>bytes RemoteDB = 1;</code>
+ */
+ public Builder setRemoteDB(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ remoteDB_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>bytes RemoteDB = 1;</code>
+ */
+ public Builder clearRemoteDB() {
+
+ remoteDB_ = getDefaultInstance().getRemoteDB();
+ 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.Integration.OverrideDataBaseRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.OverrideDataBaseRequest)
+ private static final com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest();
+ }
+
+ public static com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<OverrideDataBaseRequest>
+ PARSER = new com.google.protobuf.AbstractParser<OverrideDataBaseRequest>() {
+ public OverrideDataBaseRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new OverrideDataBaseRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<OverrideDataBaseRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<OverrideDataBaseRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseRequestOuterClass.OverrideDataBaseRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_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\035OverrideDataBaseRequest.proto\022\025Tango.P" +
+ "MR.Integration\"+\n\027OverrideDataBaseReques" +
+ "t\022\020\n\010RemoteDB\030\001 \001(\014B!\n\037com.twine.tango.p" +
+ "mr.integrationb\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_Integration_OverrideDataBaseRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_OverrideDataBaseRequest_descriptor,
+ new java.lang.String[] { "RemoteDB", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseResponseOuterClass.java b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseResponseOuterClass.java
new file mode 100644
index 000000000..562f4259c
--- /dev/null
+++ b/Software/Android_Studio/Tango.PMR/src/main/java/com/twine/tango/pmr/integration/OverrideDataBaseResponseOuterClass.java
@@ -0,0 +1,506 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: OverrideDataBaseResponse.proto
+
+package com.twine.tango.pmr.integration;
+
+public final class OverrideDataBaseResponseOuterClass {
+ private OverrideDataBaseResponseOuterClass() {}
+ 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 OverrideDataBaseResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:Tango.PMR.Integration.OverrideDataBaseResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>bool Successful = 1;</code>
+ */
+ boolean getSuccessful();
+ }
+ /**
+ * Protobuf type {@code Tango.PMR.Integration.OverrideDataBaseResponse}
+ */
+ public static final class OverrideDataBaseResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:Tango.PMR.Integration.OverrideDataBaseResponse)
+ OverrideDataBaseResponseOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use OverrideDataBaseResponse.newBuilder() to construct.
+ private OverrideDataBaseResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private OverrideDataBaseResponse() {
+ successful_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private OverrideDataBaseResponse(
+ 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 8: {
+
+ successful_ = input.readBool();
+ 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.integration.OverrideDataBaseResponseOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse.class, com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse.Builder.class);
+ }
+
+ public static final int SUCCESSFUL_FIELD_NUMBER = 1;
+ private boolean successful_;
+ /**
+ * <code>bool Successful = 1;</code>
+ */
+ public boolean getSuccessful() {
+ return successful_;
+ }
+
+ 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 (successful_ != false) {
+ output.writeBool(1, successful_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (successful_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, successful_);
+ }
+ 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse)) {
+ return super.equals(obj);
+ }
+ com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse other = (com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse) obj;
+
+ boolean result = true;
+ result = result && (getSuccessful()
+ == other.getSuccessful());
+ 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) + SUCCESSFUL_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getSuccessful());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse 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.Integration.OverrideDataBaseResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:Tango.PMR.Integration.OverrideDataBaseResponse)
+ com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse.class, com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse.Builder.class);
+ }
+
+ // Construct using com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse.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();
+ successful_ = false;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_descriptor;
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse getDefaultInstanceForType() {
+ return com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse.getDefaultInstance();
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse build() {
+ com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse buildPartial() {
+ com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse result = new com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse(this);
+ result.successful_ = successful_;
+ 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse) {
+ return mergeFrom((com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse other) {
+ if (other == com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse.getDefaultInstance()) return this;
+ if (other.getSuccessful() != false) {
+ setSuccessful(other.getSuccessful());
+ }
+ 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.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private boolean successful_ ;
+ /**
+ * <code>bool Successful = 1;</code>
+ */
+ public boolean getSuccessful() {
+ return successful_;
+ }
+ /**
+ * <code>bool Successful = 1;</code>
+ */
+ public Builder setSuccessful(boolean value) {
+
+ successful_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>bool Successful = 1;</code>
+ */
+ public Builder clearSuccessful() {
+
+ successful_ = false;
+ 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.Integration.OverrideDataBaseResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:Tango.PMR.Integration.OverrideDataBaseResponse)
+ private static final com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse();
+ }
+
+ public static com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<OverrideDataBaseResponse>
+ PARSER = new com.google.protobuf.AbstractParser<OverrideDataBaseResponse>() {
+ public OverrideDataBaseResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new OverrideDataBaseResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<OverrideDataBaseResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<OverrideDataBaseResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public com.twine.tango.pmr.integration.OverrideDataBaseResponseOuterClass.OverrideDataBaseResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_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\036OverrideDataBaseResponse.proto\022\025Tango." +
+ "PMR.Integration\".\n\030OverrideDataBaseRespo" +
+ "nse\022\022\n\nSuccessful\030\001 \001(\010B!\n\037com.twine.tan" +
+ "go.pmr.integrationb\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_Integration_OverrideDataBaseResponse_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_Tango_PMR_Integration_OverrideDataBaseResponse_descriptor,
+ new java.lang.String[] { "Successful", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransportAdapter.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransportAdapter.java
index abd12e0f0..2e076b1c8 100644
--- a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransportAdapter.java
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransportAdapter.java
@@ -40,6 +40,20 @@ public interface ITransportAdapter extends ITransportComponent {
*/
void setAddress(String address);
+ /**
+ * Sets the adapter mode.
+ *
+ * @param mode the mode
+ */
+ void setAdapterMode(TransportAdapterMode mode);
+
+ /**
+ * Gets the adapter mode.
+ *
+ * @return the adapter mode
+ */
+ TransportAdapterMode getAdapterMode();
+
/**
* Gets whether this adapter is authenticated.
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransporter.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransporter.java
index 9d2bce329..1ad704829 100644
--- a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransporter.java
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ITransporter.java
@@ -8,6 +8,7 @@ import com.twine.tango.pmr.common.MessageContainerOuterClass.MessageContainer;
import org.joda.time.Period;
+import io.reactivex.Completable;
import io.reactivex.Observable;
import io.reactivex.Single;
@@ -73,7 +74,7 @@ public interface ITransporter extends ITransportComponent {
* @param response the response
* @return the single
*/
- <Response extends GeneratedMessageV3> Single<Response> sendResponse(TangoMessage<Response> response);
+ <Response extends GeneratedMessageV3> Completable sendResponse(TangoMessage<Response> response);
/**
* Sends a response with the specified request token.
@@ -83,7 +84,7 @@ public interface ITransporter extends ITransportComponent {
* @param token the token
* @return the single
*/
- <Response extends GeneratedMessageV3> Single<Response> sendResponse(TangoMessage<Response> response,String token);
+ <Response extends GeneratedMessageV3> Completable sendResponse(TangoMessage<Response> response,String token);
/**
* Sets request received listener.
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/transporters/ResponseErrorException.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ResponseErrorException.java
index 465412f68..896e92b38 100644
--- a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/transporters/ResponseErrorException.java
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/ResponseErrorException.java
@@ -1,5 +1,6 @@
-package com.twine.tango.transport.transporters;
+package com.twine.tango.transport;
+import com.twine.tango.pmr.TangoMessage;
import com.twine.tango.pmr.common.ErrorCodeOuterClass.ErrorCode;
@@ -10,6 +11,18 @@ public class ResponseErrorException extends Exception
{
private ErrorCode error;
+ private TangoMessage response;
+
+ public TangoMessage getResponse()
+ {
+ return response;
+ }
+
+ public void setResponse(TangoMessage response)
+ {
+ this.response = response;
+ }
+
/**
* Gets the error.
*
@@ -35,9 +48,10 @@ public class ResponseErrorException extends Exception
*
* @param error the error
*/
- public ResponseErrorException(ErrorCode error)
+ public ResponseErrorException(ErrorCode error,TangoMessage response)
{
super("Response received with error " + error.toString());
setError(error);
+ setResponse(response);
}
}
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterBase.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterBase.java
index b9221ea27..6d5667ada 100644
--- a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterBase.java
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterBase.java
@@ -6,6 +6,9 @@ import com.twine.tango.core.IEventHandler;
import com.twine.tango.core.ObjectDisposedException;
import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.util.Arrays;
import io.reactivex.Completable;
@@ -15,18 +18,20 @@ import io.reactivex.Completable;
*/
public abstract class TransportAdapterBase implements ITransportAdapter
{
-
+ protected static final int MAX_BUFFER_SIZE = 1024 * 1024 * 10; //10 MB.
private boolean isAuthenticated;
private String address;
private Event<TransportComponentState> stateChangedEvent;
private IEventHandler<byte[]> dataAvailableListener;
private TransportComponentState state;
+ private TransportAdapterMode adapterMode;
/**
* Instantiates a new Transport adapter base.
*/
public TransportAdapterBase()
{
+ setAdapterMode(TransportAdapterMode.NO_HEADER);
stateChangedEvent = new Event<>();
setAuthenticated(true);
}
@@ -56,6 +61,18 @@ public abstract class TransportAdapterBase implements ITransportAdapter
}
@Override
+ public void setAdapterMode(TransportAdapterMode mode)
+ {
+ adapterMode = mode;
+ }
+
+ @Override
+ public TransportAdapterMode getAdapterMode()
+ {
+ return adapterMode;
+ }
+
+ @Override
public boolean isAuthenticated()
{
return isAuthenticated;
@@ -155,4 +172,36 @@ public abstract class TransportAdapterBase implements ITransportAdapter
setState(TransportComponentState.Failed);
XLog.e(ex);
}
+
+ /**
+ * Applies any additional headers if required.
+ *
+ * @param data the data
+ * @return the byte [ ]
+ */
+ protected byte[] postProcessBuffer(byte[] data)
+ {
+ if (adapterMode == TransportAdapterMode.NO_HEADER)
+ {
+ return data;
+ } else
+ {
+ byte[] size = ByteBuffer.allocate(4).order(ByteOrder.LITTLE_ENDIAN).putInt(data.length).array();
+ return concatByteArrays(size, data);
+ }
+ }
+
+ /**
+ * Concat byte arrays byte [ ].
+ *
+ * @param first the first
+ * @param second the second
+ * @return the byte [ ]
+ */
+ protected byte[] concatByteArrays(byte[] first, byte[] second)
+ {
+ byte[] result = Arrays.copyOf(first, first.length + second.length);
+ System.arraycopy(second, 0, result, first.length, second.length);
+ return result;
+ }
}
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterMode.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterMode.java
new file mode 100644
index 000000000..699be758d
--- /dev/null
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransportAdapterMode.java
@@ -0,0 +1,17 @@
+package com.twine.tango.transport;
+
+
+/**
+ * Represents an {@link com.twine.tango.transport.ITransportAdapter} read/write mode.
+ */
+public enum TransportAdapterMode
+{
+ /**
+ * Pure protobuf message with no message size.
+ */
+ NO_HEADER,
+ /**
+ * Prepends and truncates the message size before writing and reading.
+ */
+ PREPEND_HEADER
+}
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransporterBase.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransporterBase.java
index 3c09d547f..ff192bc3b 100644
--- a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransporterBase.java
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/TransporterBase.java
@@ -16,7 +16,6 @@ import com.twine.tango.pmr.MessageFactory;
import com.twine.tango.pmr.TangoMessage;
import com.twine.tango.pmr.common.ErrorCodeOuterClass.ErrorCode;
import com.twine.tango.pmr.common.MessageContainerOuterClass.MessageContainer;
-import com.twine.tango.transport.transporters.ResponseErrorException;
import org.joda.time.Period;
@@ -414,13 +413,13 @@ public abstract class TransporterBase implements ITransporter
}
@Override
- public <Response extends GeneratedMessageV3> Single<Response> sendResponse(TangoMessage<Response> response)
+ public <Response extends GeneratedMessageV3> Completable sendResponse(TangoMessage<Response> response)
{
return sendResponse(response, response.getContainer().getToken());
}
@Override
- public <Response extends GeneratedMessageV3> Single<Response> sendResponse(TangoMessage<Response> response, String token)
+ public <Response extends GeneratedMessageV3> Completable sendResponse(TangoMessage<Response> response, String token)
{
response.getContainer().setToken(token);
@@ -459,7 +458,7 @@ public abstract class TransporterBase implements ITransporter
TransportMessage<Response> message = new TransportMessage<>(adapter, token, response, TransportMessageDirection.Response, onSerializingMessage(response), subject);
sendingQueue.add(message);
- return subject.singleOrError();
+ return subject.singleOrError().toCompletable();
}
//endregion
@@ -537,7 +536,7 @@ public abstract class TransporterBase implements ITransporter
pendingRequests.add(message);
} else
{
- message.setResult(true, true);
+ message.setResult(new Object(), true);
}
} catch (Exception ex)
{
@@ -613,8 +612,7 @@ public abstract class TransporterBase implements ITransporter
} else
{
XLog.i("Parsing inner response message and setting pending request task result...");
- request.setException(new ResponseErrorException(container.getError()));
-
+ request.setException(new ResponseErrorException(container.getError(), onParseTangoMessage(data.second)));
}
} catch (Exception ex)
{
@@ -638,7 +636,7 @@ public abstract class TransporterBase implements ITransporter
} else
{
XLog.i("Response has returned with error: " + container.getError().toString());
- request.setException(new ResponseErrorException(container.getError()));
+ request.setException(new ResponseErrorException(container.getError(), onParseTangoMessage(data.second)));
}
} catch (Exception ex)
{
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/TcpTransportAdapter.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/TcpTransportAdapter.java
index b72d1669b..f2e7a83a8 100644
--- a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/TcpTransportAdapter.java
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/TcpTransportAdapter.java
@@ -5,6 +5,7 @@ import android.os.SystemClock;
import com.elvishew.xlog.XLog;
import com.twine.tango.core.ObjectDisposedException;
import com.twine.tango.transport.TransportAdapterBase;
+import com.twine.tango.transport.TransportAdapterMode;
import com.twine.tango.transport.TransportComponentState;
import java.io.IOException;
@@ -12,6 +13,8 @@ import java.io.InputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketException;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
import java.nio.channels.Selector;
import io.reactivex.Completable;
@@ -36,6 +39,7 @@ public class TcpTransportAdapter extends TransportAdapterBase
super();
setAddress("127.0.0.1");
setPort(9999);
+ setAdapterMode(TransportAdapterMode.PREPEND_HEADER);
}
public TcpTransportAdapter(String address, int port)
@@ -144,7 +148,7 @@ public class TcpTransportAdapter extends TransportAdapterBase
try
{
- socket.getOutputStream().write(data);
+ socket.getOutputStream().write(postProcessBuffer(data));
} catch (IOException e)
{
onFailed(e);
@@ -167,39 +171,59 @@ public class TcpTransportAdapter extends TransportAdapterBase
{
InputStream stream = socket.getInputStream();
- if (stream.available() > 0)
+ if (getAdapterMode() == TransportAdapterMode.NO_HEADER)
{
- byte[] data = new byte[stream.available()];
- int read = stream.read(data);
-
- if (read == -1)
+ if (stream.available() > 0)
{
- throw new SocketException("Error reading from TCP adapter.");
+ byte[] data = new byte[stream.available()];
+ int read = stream.read(data);
+
+ if (read == -1)
+ {
+ throw new SocketException("Error reading from TCP adapter.");
+ }
+
+ onDataAvailable(data);
+ }
+ }
+ else
+ {
+ if (stream.available() > 4)
+ {
+ byte[] size = new byte[4];
+
+ int read = stream.read(size, 0, size.length);
+
+ if (read == -1)
+ {
+ throw new SocketException("Error reading from TCP adapter.");
+ }
+
+ int expectedSize = ByteBuffer.wrap(size).order(ByteOrder.LITTLE_ENDIAN).getInt();
+
+ while (stream.available() < expectedSize)
+ {
+ SystemClock.sleep(10);
+
+ if (getState() != TransportComponentState.Connected)
+ {
+ break;
+ }
+ }
+
+ byte[] data = new byte[expectedSize];
+ read = stream.read(data);
+
+ if (read == -1)
+ {
+ throw new SocketException("Error reading from TCP adapter.");
+ }
+
+ onDataAvailable(data);
}
-
- onDataAvailable(data);
}
SystemClock.sleep(10);
-// counter++;
-
-// if (counter > 200)
-// {
-// try
-// {
-// if (socket.getChannel().keyFor(selector).isWritable() && socket.getChannel().keyFor(selector).isReadable())
-// {
-// onFailed(new SocketTimeoutException("Client disconnected."));
-// return;
-// }
-// } catch (Exception e)
-// {
-// onFailed(e);
-// return;
-// }
-//
-// counter = 0;
-// }
}
} catch (Exception e)
@@ -210,4 +234,20 @@ public class TcpTransportAdapter extends TransportAdapterBase
}
//endregion
+
+ //region Private Methods
+
+ private void setSocketProperties()
+ {
+ try
+ {
+ socket.setReceiveBufferSize(MAX_BUFFER_SIZE);
+ socket.setSendBufferSize(MAX_BUFFER_SIZE);
+ } catch (SocketException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ //endregion
}
diff --git a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/UsbTransportAdapter.java b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/UsbTransportAdapter.java
index 8ad55708c..60efe976a 100644
--- a/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/UsbTransportAdapter.java
+++ b/Software/Android_Studio/Tango.Transport/src/main/java/com/twine/tango/transport/adapters/UsbTransportAdapter.java
@@ -15,9 +15,13 @@ import com.felhr.usbserial.UsbSerialInterface;
import com.twine.tango.core.ContextHelper;
import com.twine.tango.core.ObjectDisposedException;
import com.twine.tango.transport.TransportAdapterBase;
+import com.twine.tango.transport.TransportAdapterMode;
import com.twine.tango.transport.TransportComponentState;
import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.util.Arrays;
import java.util.Map;
import io.reactivex.Completable;
@@ -37,6 +41,8 @@ public class UsbTransportAdapter extends TransportAdapterBase
private UsbManager usbManager;
private boolean hasPermission;
private PublishSubject connectionSubject;
+ private byte[] current_buffer;
+ private int current_buffer_bar;
public UsbTransportAdapter()
{
@@ -51,7 +57,7 @@ public class UsbTransportAdapter extends TransportAdapterBase
@Override
public void write(byte[] data) throws ObjectDisposedException, IOException
{
- serial.write(data);
+ serial.write(postProcessBuffer(data));
}
@Override
@@ -126,7 +132,54 @@ public class UsbTransportAdapter extends TransportAdapterBase
private void onUsbReceiveData(byte[] data)
{
- onDataAvailable(data);
+ if (getAdapterMode() == TransportAdapterMode.NO_HEADER)
+ {
+ onDataAvailable(data);
+ } else
+ {
+ if (current_buffer == null)
+ {
+ byte[] size = Arrays.copyOfRange(data, 0, 4);
+ int expectedSize = ByteBuffer.wrap(size).order(ByteOrder.LITTLE_ENDIAN).getInt();
+ current_buffer = new byte[expectedSize];
+ byte[] rest = Arrays.copyOfRange(data, 4, data.length);
+ if (rest.length == expectedSize)
+ {
+ current_buffer = null;
+ onDataAvailable(rest);
+ } else
+ {
+ current_buffer_bar = rest.length;
+ ByteBuffer.wrap(current_buffer).put(rest);
+ }
+ } else
+ {
+ int remaining = current_buffer.length - current_buffer_bar;
+
+ if (data.length < remaining)
+ {
+ current_buffer_bar += data.length;
+ ByteBuffer.wrap(current_buffer).put(data);
+ } else if (data.length > remaining)
+ {
+ byte[] end = Arrays.copyOfRange(data, 0, remaining);
+ ByteBuffer.wrap(current_buffer).put(end);
+ onDataAvailable(current_buffer);
+ current_buffer = null;
+ current_buffer_bar = 0;
+ byte[] rest = Arrays.copyOfRange(data, remaining, data.length);
+ onUsbReceiveData(rest);
+ }
+ else //Equals
+ {
+ byte[] end = Arrays.copyOfRange(data, 0, remaining);
+ ByteBuffer.wrap(current_buffer).put(end);
+ onDataAvailable(current_buffer);
+ current_buffer = null;
+ current_buffer_bar = 0;
+ }
+ }
+ }
}
@Override