diff --git a/.classpath b/.classpath
index b9a4605a6b..2d5a50750e 100644
--- a/.classpath
+++ b/.classpath
@@ -26,7 +26,7 @@
-
+
diff --git a/src/main/java/dev/slimevr/autobone/AutoBone.java b/src/main/java/dev/slimevr/autobone/AutoBone.java
index 179ccbbdc9..5f4afe23f6 100644
--- a/src/main/java/dev/slimevr/autobone/AutoBone.java
+++ b/src/main/java/dev/slimevr/autobone/AutoBone.java
@@ -17,7 +17,7 @@
import io.eiren.vr.processor.HumanSkeleton;
import io.eiren.vr.processor.HumanSkeletonWithLegs;
import io.eiren.vr.processor.HumanSkeletonWithWaist;
-import io.eiren.vr.processor.TrackerBodyPosition;
+import io.eiren.vr.trackers.TrackerPosition;
import io.eiren.vr.trackers.TrackerUtils;
public class AutoBone {
@@ -93,7 +93,7 @@ public void reloadConfigValues(TrackerFrame[] frame) {
staticConfigs.put("Neck", server.config.getFloat("body.neckLength", HumanSkeletonWithWaist.NECK_LENGTH_DEFAULT));
configs.put("Waist", server.config.getFloat("body.waistDistance", 0.85f));
- if(server.config.getBoolean("autobone.forceChestTracker", false) || (frame != null && TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.CHEST) != null) || TrackerUtils.findTrackerForBodyPosition(server.getAllTrackers(), TrackerBodyPosition.CHEST) != null) {
+ if(server.config.getBoolean("autobone.forceChestTracker", false) || (frame != null && TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.CHEST) != null) || TrackerUtils.findTrackerForBodyPosition(server.getAllTrackers(), TrackerPosition.CHEST) != null) {
// If force enabled or has a chest tracker
configs.put("Chest", server.config.getFloat("body.chestDistance", 0.42f));
} else {
@@ -201,7 +201,7 @@ public float getLengthSum(Map configs) {
public float getMaxHmdHeight(PoseFrame frames) {
float maxHeight = 0f;
for(TrackerFrame[] frame : frames) {
- TrackerFrame hmd = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.HMD);
+ TrackerFrame hmd = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.HMD);
if(hmd != null && hmd.hasData(TrackerFrameData.POSITION) && hmd.position.y > maxHeight) {
maxHeight = hmd.position.y;
}
@@ -361,8 +361,8 @@ public float processFrames(PoseFrame frames, boolean calcInitError, float target
// The change in position of the ankle over time
protected float getSlideErrorDeriv(SimpleSkeleton skeleton1, SimpleSkeleton skeleton2) {
- float slideLeft = skeleton1.getNodePosition(TrackerBodyPosition.LEFT_ANKLE).distance(skeleton2.getNodePosition(TrackerBodyPosition.LEFT_ANKLE));
- float slideRight = skeleton1.getNodePosition(TrackerBodyPosition.RIGHT_ANKLE).distance(skeleton2.getNodePosition(TrackerBodyPosition.RIGHT_ANKLE));
+ float slideLeft = skeleton1.getNodePosition(TrackerPosition.LEFT_ANKLE).distance(skeleton2.getNodePosition(TrackerPosition.LEFT_ANKLE));
+ float slideRight = skeleton1.getNodePosition(TrackerPosition.RIGHT_ANKLE).distance(skeleton2.getNodePosition(TrackerPosition.RIGHT_ANKLE));
// Divide by 4 to halve and average, it's halved because you want to approach a midpoint, not the other point
return (slideLeft + slideRight) / 4f;
@@ -370,11 +370,11 @@ protected float getSlideErrorDeriv(SimpleSkeleton skeleton1, SimpleSkeleton skel
// The offset between both feet at one instant and over time
protected float getOffsetErrorDeriv(SimpleSkeleton skeleton1, SimpleSkeleton skeleton2) {
- float skeleton1Left = skeleton1.getNodePosition(TrackerBodyPosition.LEFT_ANKLE).getY();
- float skeleton1Right = skeleton1.getNodePosition(TrackerBodyPosition.RIGHT_ANKLE).getY();
+ float skeleton1Left = skeleton1.getNodePosition(TrackerPosition.LEFT_ANKLE).getY();
+ float skeleton1Right = skeleton1.getNodePosition(TrackerPosition.RIGHT_ANKLE).getY();
- float skeleton2Left = skeleton2.getNodePosition(TrackerBodyPosition.LEFT_ANKLE).getY();
- float skeleton2Right = skeleton2.getNodePosition(TrackerBodyPosition.RIGHT_ANKLE).getY();
+ float skeleton2Left = skeleton2.getNodePosition(TrackerPosition.LEFT_ANKLE).getY();
+ float skeleton2Right = skeleton2.getNodePosition(TrackerPosition.RIGHT_ANKLE).getY();
float dist1 = Math.abs(skeleton1Left - skeleton1Right);
float dist2 = Math.abs(skeleton2Left - skeleton2Right);
diff --git a/src/main/java/dev/slimevr/autobone/SimpleSkeleton.java b/src/main/java/dev/slimevr/autobone/SimpleSkeleton.java
index 52be559261..cf34c7db6b 100644
--- a/src/main/java/dev/slimevr/autobone/SimpleSkeleton.java
+++ b/src/main/java/dev/slimevr/autobone/SimpleSkeleton.java
@@ -10,8 +10,8 @@
import dev.slimevr.poserecorder.TrackerFrameData;
import io.eiren.vr.processor.HumanSkeletonWithLegs;
import io.eiren.vr.processor.HumanSkeletonWithWaist;
-import io.eiren.vr.processor.TrackerBodyPosition;
import io.eiren.vr.processor.TransformNode;
+import io.eiren.vr.trackers.TrackerPosition;
import io.eiren.vr.trackers.TrackerUtils;
import io.eiren.yaml.YamlFile;
@@ -121,7 +121,7 @@ public SimpleSkeleton(Map configs) {
public void setPoseFromFrame(TrackerFrame[] frame) {
- TrackerFrame hmd = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.HMD);
+ TrackerFrame hmd = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.HMD);
if(hmd != null) {
if(hmd.hasData(TrackerFrameData.ROTATION)) {
@@ -134,24 +134,24 @@ public void setPoseFromFrame(TrackerFrame[] frame) {
}
}
- TrackerFrame chest = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.CHEST, TrackerBodyPosition.WAIST);
+ TrackerFrame chest = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.CHEST, TrackerPosition.WAIST);
setRotation(chest, neckNode);
- TrackerFrame waist = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.WAIST, TrackerBodyPosition.CHEST);
+ TrackerFrame waist = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.WAIST, TrackerPosition.CHEST);
setRotation(waist, chestNode);
- TrackerFrame leftLeg = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.LEFT_LEG);
- TrackerFrame rightLeg = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.RIGHT_LEG);
+ TrackerFrame leftLeg = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.LEFT_LEG);
+ TrackerFrame rightLeg = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.RIGHT_LEG);
averagePelvis(waist, leftLeg, rightLeg);
setRotation(leftLeg, leftHipNode);
setRotation(rightLeg, rightHipNode);
- TrackerFrame leftAnkle = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.LEFT_ANKLE);
+ TrackerFrame leftAnkle = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.LEFT_ANKLE);
setRotation(leftAnkle, rightKneeNode);
- TrackerFrame rightAnkle = TrackerUtils.findTrackerForBodyPosition(frame, TrackerBodyPosition.RIGHT_ANKLE);
+ TrackerFrame rightAnkle = TrackerUtils.findTrackerForBodyPosition(frame, TrackerPosition.RIGHT_ANKLE);
setRotation(rightAnkle, leftKneeNode);
updatePose();
@@ -292,11 +292,11 @@ public TransformNode getNode(String node) {
return nodes.get(node);
}
- public TransformNode getNode(TrackerBodyPosition bodyPosition) {
+ public TransformNode getNode(TrackerPosition bodyPosition) {
return getNode(bodyPosition, false);
}
- public TransformNode getNode(TrackerBodyPosition bodyPosition, boolean rotationNode) {
+ public TransformNode getNode(TrackerPosition bodyPosition, boolean rotationNode) {
if(bodyPosition == null) {
return null;
}
@@ -328,7 +328,7 @@ public Vector3f getNodePosition(String node) {
return transformNode != null ? transformNode.worldTransform.getTranslation() : null;
}
- public Vector3f getNodePosition(TrackerBodyPosition bodyPosition) {
+ public Vector3f getNodePosition(TrackerPosition bodyPosition) {
TransformNode node = getNode(bodyPosition);
if(node == null) {
return null;
diff --git a/src/main/java/dev/slimevr/bridge/Bridge.java b/src/main/java/dev/slimevr/bridge/Bridge.java
new file mode 100644
index 0000000000..31c4e1352d
--- /dev/null
+++ b/src/main/java/dev/slimevr/bridge/Bridge.java
@@ -0,0 +1,43 @@
+package dev.slimevr.bridge;
+
+import io.eiren.util.ann.VRServerThread;
+import io.eiren.vr.trackers.ShareableTracker;
+
+/**
+ * Bridge handles sending and recieving tracker data
+ * between SlimeVR and other systems like VR APIs (SteamVR, OpenXR, etc),
+ * apps and protocols (VMC, WebSocket, TIP). It can create and manage
+ * tracker recieved from the remote side or send shared local
+ * trackers to the other side.
+ */
+public interface Bridge {
+
+ @VRServerThread
+ public void dataRead();
+
+ @VRServerThread
+ public void dataWrite();
+
+ /**
+ * Adds shared tracker to the bridge. Bridge should notify the
+ * other side of this tracker, if it's the type of tracker
+ * this bridge serves, and start sending data each update
+ * @param tracker
+ */
+ @VRServerThread
+ public void addSharedTracker(ShareableTracker tracker);
+
+ /**
+ * Removes tracker from a bridge. If the other side supports
+ * tracker removal, bridge should notify it and stop sending
+ * new data. If it doesn't support tracker removal, the bridge
+ * can either stop sending new data, or keep sending it if it's
+ * available.
+ * @param tracker
+ */
+ @VRServerThread
+ public void removeSharedTracker(ShareableTracker tracker);
+
+ @VRServerThread
+ public void startBridge();
+}
diff --git a/src/main/java/dev/slimevr/bridge/BridgeThread.java b/src/main/java/dev/slimevr/bridge/BridgeThread.java
new file mode 100644
index 0000000000..295a71036d
--- /dev/null
+++ b/src/main/java/dev/slimevr/bridge/BridgeThread.java
@@ -0,0 +1,9 @@
+package dev.slimevr.bridge;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(value = RetentionPolicy.SOURCE)
+public @interface BridgeThread {
+
+}
diff --git a/src/main/java/dev/slimevr/bridge/NamedPipeBridge.java b/src/main/java/dev/slimevr/bridge/NamedPipeBridge.java
new file mode 100644
index 0000000000..b5a3b19b2d
--- /dev/null
+++ b/src/main/java/dev/slimevr/bridge/NamedPipeBridge.java
@@ -0,0 +1,224 @@
+package dev.slimevr.bridge;
+
+import java.io.IOException;
+import java.util.List;
+
+import com.google.protobuf.CodedOutputStream;
+import com.sun.jna.platform.win32.Kernel32;
+import com.sun.jna.platform.win32.WinBase;
+import com.sun.jna.platform.win32.WinError;
+import com.sun.jna.ptr.IntByReference;
+
+import dev.slimevr.bridge.Pipe.PipeState;
+import dev.slimevr.bridge.ProtobufMessages.ProtobufMessage;
+import dev.slimevr.bridge.ProtobufMessages.TrackerAdded;
+import io.eiren.util.ann.VRServerThread;
+import io.eiren.util.logging.LogManager;
+import io.eiren.vr.Main;
+import io.eiren.vr.trackers.HMDTracker;
+import io.eiren.vr.trackers.ShareableTracker;
+import io.eiren.vr.trackers.TrackerPosition;
+import io.eiren.vr.trackers.TrackerRole;
+import io.eiren.vr.trackers.VRTracker;
+
+public class NamedPipeBridge extends ProtobufBridge implements Runnable {
+
+ private final TrackerRole[] defaultRoles = new TrackerRole[] {TrackerRole.WAIST, TrackerRole.LEFT_FOOT, TrackerRole.RIGHT_FOOT};
+
+ private final byte[] buffArray = new byte[2048];
+
+ protected Pipe pipe;
+ protected final String pipeName;
+ protected final String bridgeSettingsKey;
+ protected final Thread runnerThread;
+ private final List extends ShareableTracker> shareableTrackers;
+
+ public NamedPipeBridge(HMDTracker hmd, String bridgeSettingsKey, String bridgeName, String pipeName, List extends ShareableTracker> shareableTrackers) {
+ super(bridgeName, hmd);
+ this.pipeName = pipeName;
+ this.bridgeSettingsKey = bridgeSettingsKey;
+ this.runnerThread = new Thread(this, "Named pipe thread");
+ this.shareableTrackers = shareableTrackers;
+ }
+
+ @Override
+ @VRServerThread
+ public void startBridge() {
+ for(TrackerRole role : defaultRoles) {
+ changeShareSettings(role, Main.vrServer.config.getBoolean("bridge." + bridgeSettingsKey + ".trackers." + role.name().toLowerCase(), true));
+ }
+ for(int i = 0; i < shareableTrackers.size(); ++i) {
+ ShareableTracker tr = shareableTrackers.get(i);
+ TrackerRole role = tr.getTrackerRole();
+ changeShareSettings(role, Main.vrServer.config.getBoolean("bridge." + bridgeSettingsKey + ".trackers." + role.name().toLowerCase(), false));
+ }
+ runnerThread.start();
+ }
+
+ @VRServerThread
+ public boolean getShareSetting(TrackerRole role) {
+ for(int i = 0; i < shareableTrackers.size(); ++i) {
+ ShareableTracker tr = shareableTrackers.get(i);
+ if(tr.getTrackerRole() == role) {
+ return sharedTrackers.contains(tr);
+ }
+ }
+ return false;
+ }
+
+ @VRServerThread
+ public void changeShareSettings(TrackerRole role, boolean share) {
+ if(role == null)
+ return;
+ for(int i = 0; i < shareableTrackers.size(); ++i) {
+ ShareableTracker tr = shareableTrackers.get(i);
+ if(tr.getTrackerRole() == role) {
+ if(share) {
+ addSharedTracker(tr);
+ } else {
+ removeSharedTracker(tr);
+ }
+ Main.vrServer.config.setProperty("bridge." + bridgeSettingsKey + ".trackers." + role.name().toLowerCase(), share);
+ Main.vrServer.saveConfig();
+ }
+ }
+ }
+
+ @Override
+ @VRServerThread
+ protected VRTracker createNewTracker(TrackerAdded trackerAdded) {
+ VRTracker tracker = new VRTracker(trackerAdded.getTrackerId(), trackerAdded.getTrackerSerial(), trackerAdded.getTrackerName(), true, true);
+ TrackerRole role = TrackerRole.getById(trackerAdded.getTrackerRole());
+ if(role != null) {
+ tracker.setBodyPosition(TrackerPosition.getByRole(role));
+ }
+ return tracker;
+ }
+
+ @Override
+ @BridgeThread
+ public void run() {
+ try {
+ createPipe();
+ while(true) {
+ boolean pipesUpdated = false;
+ if(pipe.state == PipeState.CREATED) {
+ tryOpeningPipe(pipe);
+ }
+ if(pipe.state == PipeState.OPEN) {
+ pipesUpdated = updatePipe();
+ updateMessageQueue();
+ }
+ if(pipe.state == PipeState.ERROR) {
+ resetPipe();
+ }
+ if(!pipesUpdated) {
+ try {
+ Thread.sleep(5); // Up to 200Hz
+ } catch(InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ } catch(IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ @BridgeThread
+ protected boolean sendMessageReal(ProtobufMessage message) {
+ if(pipe.state == PipeState.OPEN) {
+ try {
+ int size = message.getSerializedSize();
+ CodedOutputStream os = CodedOutputStream.newInstance(buffArray, 4, size);
+ message.writeTo(os);
+ size += 4;
+ buffArray[0] = (byte) (size & 0xFF);
+ buffArray[1] = (byte) ((size >> 8) & 0xFF);
+ buffArray[2] = (byte) ((size >> 16) & 0xFF);
+ buffArray[3] = (byte) ((size >> 24) & 0xFF);
+ if(Kernel32.INSTANCE.WriteFile(pipe.pipeHandle, buffArray, size, null, null)) {
+ return true;
+ }
+ pipe.state = PipeState.ERROR;
+ LogManager.log.severe("[" + bridgeName + "] Pipe error: " + Kernel32.INSTANCE.GetLastError());
+ } catch(IOException e) {
+ e.printStackTrace();
+ }
+ }
+ return false;
+ }
+
+ private boolean updatePipe() throws IOException {
+ if(pipe.state == PipeState.OPEN) {
+ boolean readAnything = false;
+ IntByReference bytesAvailable = new IntByReference(0);
+ while(Kernel32.INSTANCE.PeekNamedPipe(pipe.pipeHandle, buffArray, 4, null, bytesAvailable, null)) {
+ if(bytesAvailable.getValue() >= 4) { // Got size
+ int messageLength = (buffArray[3] << 24) | (buffArray[2] << 16) | (buffArray[1] << 8) | buffArray[0];
+ if(messageLength > 1024) { // Overflow
+ LogManager.log.severe("[" + bridgeName + "] Pipe overflow. Message length: " + messageLength);
+ pipe.state = PipeState.ERROR;
+ return readAnything;
+ }
+ if(bytesAvailable.getValue() >= messageLength) {
+ if(Kernel32.INSTANCE.ReadFile(pipe.pipeHandle, buffArray, messageLength, bytesAvailable, null)) {
+ ProtobufMessage message = ProtobufMessage.parser().parseFrom(buffArray, 4, messageLength - 4);
+ messageRecieved(message);
+ readAnything = true;
+ } else {
+ pipe.state = PipeState.ERROR;
+ LogManager.log.severe("[" + bridgeName + "] Pipe error: " + Kernel32.INSTANCE.GetLastError());
+ return readAnything;
+ }
+ } else {
+ return readAnything; // Wait for more data
+ }
+ } else {
+ return readAnything; // Wait for more data
+ }
+ }
+ pipe.state = PipeState.ERROR;
+ LogManager.log.severe("[" + bridgeName + "] Pipe error: " + Kernel32.INSTANCE.GetLastError());
+ }
+ return false;
+ }
+
+ private void resetPipe() {
+ Pipe.safeDisconnect(pipe);
+ pipe.state = PipeState.CREATED;
+ Main.vrServer.queueTask(this::disconnected);
+ }
+
+ private void createPipe() throws IOException {
+ try {
+ pipe = new Pipe(Kernel32.INSTANCE.CreateNamedPipe(pipeName, WinBase.PIPE_ACCESS_DUPLEX, // dwOpenMode
+ WinBase.PIPE_TYPE_BYTE | WinBase.PIPE_READMODE_BYTE | WinBase.PIPE_WAIT, // dwPipeMode
+ 1, // nMaxInstances,
+ 1024 * 16, // nOutBufferSize,
+ 1024 * 16, // nInBufferSize,
+ 0, // nDefaultTimeOut,
+ null), pipeName); // lpSecurityAttributes
+ LogManager.log.info("[" + bridgeName + "] Pipe " + pipe.name + " created");
+ if(WinBase.INVALID_HANDLE_VALUE.equals(pipe.pipeHandle))
+ throw new IOException("Can't open " + pipeName + " pipe: " + Kernel32.INSTANCE.GetLastError());
+ LogManager.log.info("[" + bridgeName + "] Pipes are created");
+ } catch(IOException e) {
+ Pipe.safeDisconnect(pipe);
+ throw e;
+ }
+ }
+
+ private boolean tryOpeningPipe(Pipe pipe) {
+ if(Kernel32.INSTANCE.ConnectNamedPipe(pipe.pipeHandle, null) || Kernel32.INSTANCE.GetLastError() == WinError.ERROR_PIPE_CONNECTED) {
+ pipe.state = PipeState.OPEN;
+ LogManager.log.info("[" + bridgeName + "] Pipe " + pipe.name + " is open");
+ Main.vrServer.queueTask(this::reconnected);
+ return true;
+ }
+ LogManager.log.info("[" + bridgeName + "] Error connecting to pipe " + pipe.name + ": " + Kernel32.INSTANCE.GetLastError());
+ return false;
+ }
+}
diff --git a/src/main/java/io/eiren/vr/bridge/NamedPipeVRBridge.java b/src/main/java/dev/slimevr/bridge/NamedPipeVRBridge.java
similarity index 94%
rename from src/main/java/io/eiren/vr/bridge/NamedPipeVRBridge.java
rename to src/main/java/dev/slimevr/bridge/NamedPipeVRBridge.java
index dc6e14ca61..9bc663ab7d 100644
--- a/src/main/java/io/eiren/vr/bridge/NamedPipeVRBridge.java
+++ b/src/main/java/dev/slimevr/bridge/NamedPipeVRBridge.java
@@ -1,4 +1,4 @@
-package io.eiren.vr.bridge;
+package dev.slimevr.bridge;
import java.io.IOException;
import java.nio.charset.Charset;
@@ -12,15 +12,17 @@
import com.sun.jna.platform.win32.WinNT.HANDLE;
import com.sun.jna.ptr.IntByReference;
+import dev.slimevr.bridge.Pipe.PipeState;
import io.eiren.util.collections.FastList;
import io.eiren.util.logging.LogManager;
import io.eiren.vr.VRServer;
import io.eiren.vr.trackers.ComputedTracker;
import io.eiren.vr.trackers.HMDTracker;
+import io.eiren.vr.trackers.ShareableTracker;
import io.eiren.vr.trackers.Tracker;
import io.eiren.vr.trackers.TrackerStatus;
-public class NamedPipeVRBridge extends Thread implements VRBridge {
+public class NamedPipeVRBridge extends Thread implements Bridge {
private static final int MAX_COMMAND_LENGTH = 2048;
public static final String HMDPipeName = "\\\\.\\pipe\\HMDPipe";
@@ -52,7 +54,7 @@ public NamedPipeVRBridge(HMDTracker hmd, List extends Tracker> shareTrackers,
this.internalTrackers = new FastList<>(shareTrackers.size());
for(int i = 0; i < shareTrackers.size(); ++i) {
Tracker t = shareTrackers.get(i);
- ComputedTracker ct = new ComputedTracker("internal://" + t.getName(), true, true);
+ ComputedTracker ct = new ComputedTracker(t.getTrackerId(), "internal://" + t.getName(), true, true);
ct.setStatus(TrackerStatus.OK);
this.internalTrackers.add(ct);
}
@@ -268,4 +270,21 @@ public static void safeDisconnect(Pipe pipe) {
} catch(Exception e) {
}
}
+
+ @Override
+ public void addSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void removeSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void startBridge() {
+ start();
+ }
}
diff --git a/src/main/java/dev/slimevr/bridge/Pipe.java b/src/main/java/dev/slimevr/bridge/Pipe.java
new file mode 100644
index 0000000000..8c4d354ae2
--- /dev/null
+++ b/src/main/java/dev/slimevr/bridge/Pipe.java
@@ -0,0 +1,30 @@
+package dev.slimevr.bridge;
+
+import com.sun.jna.platform.win32.Kernel32;
+import com.sun.jna.platform.win32.WinNT.HANDLE;
+
+public class Pipe {
+
+ public final String name;
+ public final HANDLE pipeHandle;
+ public PipeState state = PipeState.CREATED;
+
+ public Pipe(HANDLE pipeHandle, String name) {
+ this.pipeHandle = pipeHandle;
+ this.name = name;
+ }
+
+ public static void safeDisconnect(Pipe pipe) {
+ try {
+ if(pipe != null && pipe.pipeHandle != null)
+ Kernel32.INSTANCE.DisconnectNamedPipe(pipe.pipeHandle);
+ } catch(Exception e) {
+ }
+ }
+
+ enum PipeState {
+ CREATED,
+ OPEN,
+ ERROR;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/dev/slimevr/bridge/ProtobufBridge.java b/src/main/java/dev/slimevr/bridge/ProtobufBridge.java
new file mode 100644
index 0000000000..cee38b6e06
--- /dev/null
+++ b/src/main/java/dev/slimevr/bridge/ProtobufBridge.java
@@ -0,0 +1,241 @@
+package dev.slimevr.bridge;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Queue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import com.jme3.math.Quaternion;
+import com.jme3.math.Vector3f;
+
+import dev.slimevr.bridge.ProtobufMessages.Position;
+import dev.slimevr.bridge.ProtobufMessages.ProtobufMessage;
+import dev.slimevr.bridge.ProtobufMessages.TrackerAdded;
+import dev.slimevr.bridge.ProtobufMessages.TrackerStatus;
+import dev.slimevr.bridge.ProtobufMessages.UserAction;
+import io.eiren.util.ann.Synchronize;
+import io.eiren.util.ann.ThreadSafe;
+import io.eiren.util.ann.VRServerThread;
+import io.eiren.util.collections.FastList;
+import io.eiren.vr.Main;
+import io.eiren.vr.trackers.ComputedTracker;
+import io.eiren.vr.trackers.HMDTracker;
+import io.eiren.vr.trackers.ShareableTracker;
+import io.eiren.vr.trackers.TrackerRole;
+import io.eiren.vr.trackers.VRTracker;
+
+public abstract class ProtobufBridge implements Bridge {
+
+ private final Vector3f vec1 = new Vector3f();
+ private final Quaternion quat1 = new Quaternion();
+
+ @ThreadSafe
+ private final Queue inputQueue = new LinkedBlockingQueue<>();
+ @ThreadSafe
+ private final Queue outputQueue = new LinkedBlockingQueue<>();
+ @VRServerThread
+ protected final List sharedTrackers = new FastList<>();
+ @Synchronize("self")
+ private final Map remoteTrackersBySerial = new HashMap<>();
+ @Synchronize("self")
+ private final Map remoteTrackersByTrackerId = new HashMap<>();
+
+ private boolean hadNewData = false;
+
+ private T hmdTracker;
+ private final HMDTracker hmd;
+ protected final String bridgeName;
+
+ public ProtobufBridge(String bridgeName, HMDTracker hmd) {
+ this.bridgeName = bridgeName;
+ this.hmd = hmd;
+ }
+
+ @BridgeThread
+ protected abstract boolean sendMessageReal(ProtobufMessage message);
+
+ @BridgeThread
+ protected void messageRecieved(ProtobufMessage message) {
+ inputQueue.add(message);
+ }
+
+ @ThreadSafe
+ protected void sendMessage(ProtobufMessage message) {
+ outputQueue.add(message);
+ }
+
+ @BridgeThread
+ protected void updateMessageQueue() {
+ ProtobufMessage message = null;
+ while((message = outputQueue.poll()) != null) {
+ if(!sendMessageReal(message))
+ return;
+ }
+ }
+
+ @VRServerThread
+ @Override
+ public void dataRead() {
+ hadNewData = false;
+ ProtobufMessage message = null;
+ while((message = inputQueue.poll()) != null) {
+ processMessageRecieved(message);
+ hadNewData = true;
+ }
+ if(hadNewData && hmdTracker != null) {
+ trackerOverrideUpdate(hmdTracker, hmd);
+ }
+ }
+
+ @VRServerThread
+ protected void trackerOverrideUpdate(T source, ComputedTracker target) {
+ target.position.set(source.position);
+ target.rotation.set(source.rotation);
+ target.setStatus(source.getStatus());
+ target.dataTick();
+ }
+
+ @VRServerThread
+ @Override
+ public void dataWrite() {
+ if(!hadNewData) // Don't write anything if no message were recieved, we always process at the speed of the other side
+ return;
+ for(int i = 0; i < sharedTrackers.size(); ++i) {
+ writeTrackerUpdate(sharedTrackers.get(i));
+ }
+ }
+
+ @VRServerThread
+ protected void writeTrackerUpdate(ShareableTracker localTracker) {
+ Position.Builder builder = Position.newBuilder().setTrackerId(localTracker.getTrackerId());
+ if(localTracker.getPosition(vec1)) {
+ builder.setX(vec1.x);
+ builder.setY(vec1.y);
+ builder.setZ(vec1.z);
+ }
+ if(localTracker.getRotation(quat1)) {
+ builder.setQx(quat1.getX());
+ builder.setQy(quat1.getY());
+ builder.setQz(quat1.getZ());
+ builder.setQw(quat1.getW());
+ }
+ sendMessage(ProtobufMessage.newBuilder().setPosition(builder).build());
+ }
+
+ @VRServerThread
+ protected void processMessageRecieved(ProtobufMessage message) {
+ //if(!message.hasPosition())
+ // LogManager.log.info("[" + bridgeName + "] MSG: " + message);
+ if(message.hasPosition()) {
+ positionRecieved(message.getPosition());
+ } else if(message.hasUserAction()) {
+ userActionRecieved(message.getUserAction());
+ } else if(message.hasTrackerStatus()) {
+ trackerStatusRecieved(message.getTrackerStatus());
+ } else if(message.hasTrackerAdded()) {
+ trackerAddedRecieved(message.getTrackerAdded());
+ }
+ }
+
+ @VRServerThread
+ protected void positionRecieved(Position positionMessage) {
+ T tracker = getInternalRemoteTrackerById(positionMessage.getTrackerId());
+ if(tracker != null) {
+ if(positionMessage.hasX())
+ tracker.position.set(positionMessage.getX(), positionMessage.getY(), positionMessage.getZ());
+ tracker.rotation.set(positionMessage.getQx(), positionMessage.getQy(), positionMessage.getQz(), positionMessage.getQw());
+ tracker.dataTick();
+ }
+ }
+
+ @VRServerThread
+ protected abstract T createNewTracker(TrackerAdded trackerAdded);
+
+ @VRServerThread
+ protected void trackerAddedRecieved(TrackerAdded trackerAdded) {
+ T tracker = getInternalRemoteTrackerById(trackerAdded.getTrackerId());
+ if(tracker != null) {
+ // TODO reinit?
+ return;
+ }
+ tracker = createNewTracker(trackerAdded);
+ synchronized(remoteTrackersBySerial) {
+ remoteTrackersBySerial.put(tracker.getName(), tracker);
+ }
+ synchronized(remoteTrackersByTrackerId) {
+ remoteTrackersByTrackerId.put(tracker.getTrackerId(), tracker);
+ }
+ if(trackerAdded.getTrackerRole() == TrackerRole.HMD.id) {
+ hmdTracker = tracker;
+ } else {
+ Main.vrServer.registerTracker(tracker);
+ }
+ }
+
+ @VRServerThread
+ protected void userActionRecieved(UserAction userAction) {
+ switch(userAction.getName()) {
+ case "calibrate":
+ // TODO : Check pose field
+ Main.vrServer.resetTrackers();
+ break;
+ }
+ }
+
+ @VRServerThread
+ protected void trackerStatusRecieved(TrackerStatus trackerStatus) {
+ T tracker = getInternalRemoteTrackerById(trackerStatus.getTrackerId());
+ if(tracker != null) {
+ tracker.setStatus(io.eiren.vr.trackers.TrackerStatus.getById(trackerStatus.getStatusValue()));
+ }
+ }
+
+ @ThreadSafe
+ protected T getInternalRemoteTrackerById(int trackerId) {
+ synchronized(remoteTrackersByTrackerId) {
+ return remoteTrackersByTrackerId.get(trackerId);
+ }
+ }
+
+ @VRServerThread
+ protected void reconnected() {
+ for(int i = 0; i < sharedTrackers.size(); ++i) {
+ ShareableTracker tracker = sharedTrackers.get(i);
+ TrackerAdded.Builder builder = TrackerAdded.newBuilder().setTrackerId(tracker.getTrackerId()).setTrackerName(tracker.getDescriptiveName()).setTrackerSerial(tracker.getName()).setTrackerRole(tracker.getTrackerRole().id);
+ sendMessage(ProtobufMessage.newBuilder().setTrackerAdded(builder).build());
+ }
+ }
+
+ @VRServerThread
+ protected void disconnected() {
+ synchronized(remoteTrackersByTrackerId) {
+ Iterator> iterator = remoteTrackersByTrackerId.entrySet().iterator();
+ while(iterator.hasNext()) {
+ iterator.next().getValue().setStatus(io.eiren.vr.trackers.TrackerStatus.DISCONNECTED);
+ }
+ }
+ if(hmdTracker != null) {
+ hmd.setStatus(io.eiren.vr.trackers.TrackerStatus.DISCONNECTED);
+ }
+ }
+
+ @VRServerThread
+ @Override
+ public void addSharedTracker(ShareableTracker tracker) {
+ if(sharedTrackers.contains(tracker))
+ return;
+ sharedTrackers.add(tracker);
+ TrackerAdded.Builder builder = TrackerAdded.newBuilder().setTrackerId(tracker.getTrackerId()).setTrackerName(tracker.getDescriptiveName()).setTrackerSerial(tracker.getName()).setTrackerRole(tracker.getTrackerRole().id);
+ sendMessage(ProtobufMessage.newBuilder().setTrackerAdded(builder).build());
+ }
+
+ @VRServerThread
+ @Override
+ public void removeSharedTracker(ShareableTracker tracker) {
+ sharedTrackers.remove(tracker);
+ // No message can be sent to the remote side, protocol doesn't support tracker removal (yet)
+ }
+}
diff --git a/src/main/java/dev/slimevr/bridge/ProtobufMessages.java b/src/main/java/dev/slimevr/bridge/ProtobufMessages.java
index 9855b402d4..d7f536a450 100644
--- a/src/main/java/dev/slimevr/bridge/ProtobufMessages.java
+++ b/src/main/java/dev/slimevr/bridge/ProtobufMessages.java
@@ -14,95 +14,30 @@ public static void registerAllExtensions(
registerAllExtensions(
(com.google.protobuf.ExtensionRegistryLite) registry);
}
- public interface PositionOrBuilder extends
- // @@protoc_insertion_point(interface_extends:dev.slimevr.bridge.Position)
+ public interface PingPongOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:messages.PingPong)
com.google.protobuf.MessageOrBuilder {
-
- /**
- * int32 tracker_id = 1;
- * @return The trackerId.
- */
- int getTrackerId();
-
- /**
- * float x = 2;
- * @return The x.
- */
- float getX();
-
- /**
- * float y = 3;
- * @return The y.
- */
- float getY();
-
- /**
- * float z = 4;
- * @return The z.
- */
- float getZ();
-
- /**
- * float qx = 5;
- * @return The qx.
- */
- float getQx();
-
- /**
- * float qy = 6;
- * @return The qy.
- */
- float getQy();
-
- /**
- * float qz = 7;
- * @return The qz.
- */
- float getQz();
-
- /**
- * float qw = 8;
- * @return The qw.
- */
- float getQw();
-
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return Whether the dataSource field is set.
- */
- boolean hasDataSource();
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return The enum numeric value on the wire for dataSource.
- */
- int getDataSourceValue();
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return The dataSource.
- */
- dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource();
}
/**
- * Protobuf type {@code dev.slimevr.bridge.Position}
+ * Protobuf type {@code messages.PingPong}
*/
- public static final class Position extends
+ public static final class PingPong extends
com.google.protobuf.GeneratedMessageV3 implements
- // @@protoc_insertion_point(message_implements:dev.slimevr.bridge.Position)
- PositionOrBuilder {
+ // @@protoc_insertion_point(message_implements:messages.PingPong)
+ PingPongOrBuilder {
private static final long serialVersionUID = 0L;
- // Use Position.newBuilder() to construct.
- private Position(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ // Use PingPong.newBuilder() to construct.
+ private PingPong(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
- private Position() {
- dataSource_ = 0;
+ private PingPong() {
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
- return new Position();
+ return new PingPong();
}
@java.lang.Override
@@ -110,7 +45,7 @@ protected java.lang.Object newInstance(
getUnknownFields() {
return this.unknownFields;
}
- private Position(
+ private PingPong(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
@@ -118,7 +53,6 @@ private Position(
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
- int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
@@ -129,52 +63,6 @@ private Position(
case 0:
done = true;
break;
- case 8: {
-
- trackerId_ = input.readInt32();
- break;
- }
- case 21: {
-
- x_ = input.readFloat();
- break;
- }
- case 29: {
-
- y_ = input.readFloat();
- break;
- }
- case 37: {
-
- z_ = input.readFloat();
- break;
- }
- case 45: {
-
- qx_ = input.readFloat();
- break;
- }
- case 53: {
-
- qy_ = input.readFloat();
- break;
- }
- case 61: {
-
- qz_ = input.readFloat();
- break;
- }
- case 69: {
-
- qw_ = input.readFloat();
- break;
- }
- case 72: {
- int rawValue = input.readEnum();
- bitField0_ |= 0x00000001;
- dataSource_ = rawValue;
- break;
- }
default: {
if (!parseUnknownField(
input, unknownFields, extensionRegistry, tag)) {
@@ -196,1364 +84,829 @@ private Position(
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_Position_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_Position_fieldAccessorTable
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_fieldAccessorTable
.ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.Position.class, dev.slimevr.bridge.ProtobufMessages.Position.Builder.class);
+ dev.slimevr.bridge.ProtobufMessages.PingPong.class, dev.slimevr.bridge.ProtobufMessages.PingPong.Builder.class);
}
- /**
- * Protobuf enum {@code dev.slimevr.bridge.Position.DataSource}
- */
- public enum DataSource
- implements com.google.protobuf.ProtocolMessageEnum {
- /**
- * NONE = 0;
- */
- NONE(0),
- /**
- * IMU = 1;
- */
- IMU(1),
- /**
- * PRECISION = 2;
- */
- PRECISION(2),
- /**
- * FULL = 3;
- */
- FULL(3),
- UNRECOGNIZED(-1),
- ;
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
- /**
- * NONE = 0;
- */
- public static final int NONE_VALUE = 0;
- /**
- * IMU = 1;
- */
- public static final int IMU_VALUE = 1;
- /**
- * PRECISION = 2;
- */
- public static final int PRECISION_VALUE = 2;
- /**
- * FULL = 3;
- */
- public static final int FULL_VALUE = 3;
+ memoizedIsInitialized = 1;
+ return true;
+ }
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ unknownFields.writeTo(output);
+ }
- @Override
- public final int getNumber() {
- if (this == UNRECOGNIZED) {
- throw new java.lang.IllegalArgumentException(
- "Can't get the number of an unknown enum value.");
- }
- return value;
- }
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
- /**
- * @param value The numeric wire value of the corresponding enum entry.
- * @return The enum associated with the given numeric wire value.
- * @deprecated Use {@link #forNumber(int)} instead.
- */
- @java.lang.Deprecated
- public static DataSource valueOf(int value) {
- return forNumber(value);
- }
+ size = 0;
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
- /**
- * @param value The numeric wire value of the corresponding enum entry.
- * @return The enum associated with the given numeric wire value.
- */
- public static DataSource forNumber(int value) {
- switch (value) {
- case 0: return NONE;
- case 1: return IMU;
- case 2: return PRECISION;
- case 3: return FULL;
- default: return null;
- }
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
}
-
- public static com.google.protobuf.Internal.EnumLiteMap
- internalGetValueMap() {
- return internalValueMap;
+ if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.PingPong)) {
+ return super.equals(obj);
}
- private static final com.google.protobuf.Internal.EnumLiteMap<
- DataSource> internalValueMap =
- new com.google.protobuf.Internal.EnumLiteMap() {
- @Override
- public DataSource findValueByNumber(int number) {
- return DataSource.forNumber(number);
- }
- };
+ dev.slimevr.bridge.ProtobufMessages.PingPong other = (dev.slimevr.bridge.ProtobufMessages.PingPong) obj;
- @Override
- public final com.google.protobuf.Descriptors.EnumValueDescriptor
- getValueDescriptor() {
- if (this == UNRECOGNIZED) {
- throw new java.lang.IllegalStateException(
- "Can't get the descriptor of an unrecognized enum value.");
- }
- return getDescriptor().getValues().get(ordinal());
- }
- @Override
- public final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptorForType() {
- return getDescriptor();
- }
- public static final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.Position.getDescriptor().getEnumTypes().get(0);
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @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;
+ }
- private static final DataSource[] VALUES = values();
-
- public static DataSource valueOf(
- com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
- if (desc.getType() != getDescriptor()) {
- throw new java.lang.IllegalArgumentException(
- "EnumValueDescriptor is not for this type.");
- }
- if (desc.getIndex() == -1) {
- return UNRECOGNIZED;
- }
- return VALUES[desc.getIndex()];
- }
-
- private final int value;
-
- private DataSource(int value) {
- this.value = value;
- }
-
- // @@protoc_insertion_point(enum_scope:dev.slimevr.bridge.Position.DataSource)
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
}
-
- private int bitField0_;
- public static final int TRACKER_ID_FIELD_NUMBER = 1;
- private int trackerId_;
- /**
- * int32 tracker_id = 1;
- * @return The trackerId.
- */
- @java.lang.Override
- public int getTrackerId() {
- return trackerId_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
}
-
- public static final int X_FIELD_NUMBER = 2;
- private float x_;
- /**
- * float x = 2;
- * @return The x.
- */
- @java.lang.Override
- public float getX() {
- return x_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
}
-
- public static final int Y_FIELD_NUMBER = 3;
- private float y_;
- /**
- * float y = 3;
- * @return The y.
- */
- @java.lang.Override
- public float getY() {
- return y_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
}
-
- public static final int Z_FIELD_NUMBER = 4;
- private float z_;
- /**
- * float z = 4;
- * @return The z.
- */
- @java.lang.Override
- public float getZ() {
- return z_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
}
-
- public static final int QX_FIELD_NUMBER = 5;
- private float qx_;
- /**
- * float qx = 5;
- * @return The qx.
- */
- @java.lang.Override
- public float getQx() {
- return qx_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
}
-
- public static final int QY_FIELD_NUMBER = 6;
- private float qy_;
- /**
- * float qy = 6;
- * @return The qy.
- */
- @java.lang.Override
- public float getQy() {
- return qy_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
}
-
- public static final int QZ_FIELD_NUMBER = 7;
- private float qz_;
- /**
- * float qz = 7;
- * @return The qz.
- */
- @java.lang.Override
- public float getQz() {
- return qz_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong 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 final int QW_FIELD_NUMBER = 8;
- private float qw_;
- /**
- * float qw = 8;
- * @return The qw.
- */
- @java.lang.Override
- public float getQw() {
- return qw_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
}
-
- public static final int DATA_SOURCE_FIELD_NUMBER = 9;
- private int dataSource_;
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return Whether the dataSource field is set.
- */
- @java.lang.Override public boolean hasDataSource() {
- return ((bitField0_ & 0x00000001) != 0);
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
}
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return The enum numeric value on the wire for dataSource.
- */
- @java.lang.Override public int getDataSourceValue() {
- return dataSource_;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
}
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return The dataSource.
- */
- @java.lang.Override public dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource() {
- @SuppressWarnings("deprecation")
- dev.slimevr.bridge.ProtobufMessages.Position.DataSource result = dev.slimevr.bridge.ProtobufMessages.Position.DataSource.valueOf(dataSource_);
- return result == null ? dev.slimevr.bridge.ProtobufMessages.Position.DataSource.UNRECOGNIZED : result;
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
}
- private byte memoizedIsInitialized = -1;
@java.lang.Override
- public final boolean isInitialized() {
- byte isInitialized = memoizedIsInitialized;
- if (isInitialized == 1) return true;
- if (isInitialized == 0) return false;
-
- memoizedIsInitialized = 1;
- return true;
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.PingPong prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
- public void writeTo(com.google.protobuf.CodedOutputStream output)
- throws java.io.IOException {
- if (trackerId_ != 0) {
- output.writeInt32(1, trackerId_);
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code messages.PingPong}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:messages.PingPong)
+ dev.slimevr.bridge.ProtobufMessages.PingPongOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_descriptor;
}
- if (x_ != 0F) {
- output.writeFloat(2, x_);
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ dev.slimevr.bridge.ProtobufMessages.PingPong.class, dev.slimevr.bridge.ProtobufMessages.PingPong.Builder.class);
}
- if (y_ != 0F) {
- output.writeFloat(3, y_);
+
+ // Construct using dev.slimevr.bridge.ProtobufMessages.PingPong.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
}
- if (z_ != 0F) {
- output.writeFloat(4, z_);
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
}
- if (qx_ != 0F) {
- output.writeFloat(5, qx_);
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
}
- if (qy_ != 0F) {
- output.writeFloat(6, qy_);
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ return this;
}
- if (qz_ != 0F) {
- output.writeFloat(7, qz_);
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_PingPong_descriptor;
}
- if (qw_ != 0F) {
- output.writeFloat(8, qw_);
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.PingPong getDefaultInstanceForType() {
+ return dev.slimevr.bridge.ProtobufMessages.PingPong.getDefaultInstance();
}
- if (((bitField0_ & 0x00000001) != 0)) {
- output.writeEnum(9, dataSource_);
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.PingPong build() {
+ dev.slimevr.bridge.ProtobufMessages.PingPong result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
}
- unknownFields.writeTo(output);
- }
- @java.lang.Override
- public int getSerializedSize() {
- int size = memoizedSize;
- if (size != -1) return size;
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.PingPong buildPartial() {
+ dev.slimevr.bridge.ProtobufMessages.PingPong result = new dev.slimevr.bridge.ProtobufMessages.PingPong(this);
+ onBuilt();
+ return result;
+ }
- size = 0;
- if (trackerId_ != 0) {
- size += com.google.protobuf.CodedOutputStream
- .computeInt32Size(1, trackerId_);
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
}
- if (x_ != 0F) {
- size += com.google.protobuf.CodedOutputStream
- .computeFloatSize(2, x_);
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
}
- if (y_ != 0F) {
- size += com.google.protobuf.CodedOutputStream
- .computeFloatSize(3, y_);
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
}
- if (z_ != 0F) {
- size += com.google.protobuf.CodedOutputStream
- .computeFloatSize(4, z_);
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
}
- if (qx_ != 0F) {
- size += com.google.protobuf.CodedOutputStream
- .computeFloatSize(5, qx_);
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
}
- if (qy_ != 0F) {
- size += com.google.protobuf.CodedOutputStream
- .computeFloatSize(6, qy_);
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
}
- if (qz_ != 0F) {
- size += com.google.protobuf.CodedOutputStream
- .computeFloatSize(7, qz_);
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof dev.slimevr.bridge.ProtobufMessages.PingPong) {
+ return mergeFrom((dev.slimevr.bridge.ProtobufMessages.PingPong)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
}
- if (qw_ != 0F) {
- size += com.google.protobuf.CodedOutputStream
- .computeFloatSize(8, qw_);
+
+ public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.PingPong other) {
+ if (other == dev.slimevr.bridge.ProtobufMessages.PingPong.getDefaultInstance()) return this;
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
}
- if (((bitField0_ & 0x00000001) != 0)) {
- size += com.google.protobuf.CodedOutputStream
- .computeEnumSize(9, dataSource_);
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
}
- size += unknownFields.getSerializedSize();
- memoizedSize = size;
- return size;
- }
- @java.lang.Override
- public boolean equals(final java.lang.Object obj) {
- if (obj == this) {
- return true;
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ dev.slimevr.bridge.ProtobufMessages.PingPong parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (dev.slimevr.bridge.ProtobufMessages.PingPong) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
}
- if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.Position)) {
- return super.equals(obj);
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
}
- dev.slimevr.bridge.ProtobufMessages.Position other = (dev.slimevr.bridge.ProtobufMessages.Position) obj;
- if (getTrackerId()
- != other.getTrackerId()) return false;
- if (java.lang.Float.floatToIntBits(getX())
- != java.lang.Float.floatToIntBits(
- other.getX())) return false;
- if (java.lang.Float.floatToIntBits(getY())
- != java.lang.Float.floatToIntBits(
- other.getY())) return false;
- if (java.lang.Float.floatToIntBits(getZ())
- != java.lang.Float.floatToIntBits(
- other.getZ())) return false;
- if (java.lang.Float.floatToIntBits(getQx())
- != java.lang.Float.floatToIntBits(
- other.getQx())) return false;
- if (java.lang.Float.floatToIntBits(getQy())
- != java.lang.Float.floatToIntBits(
- other.getQy())) return false;
- if (java.lang.Float.floatToIntBits(getQz())
- != java.lang.Float.floatToIntBits(
- other.getQz())) return false;
- if (java.lang.Float.floatToIntBits(getQw())
- != java.lang.Float.floatToIntBits(
- other.getQw())) return false;
- if (hasDataSource() != other.hasDataSource()) return false;
- if (hasDataSource()) {
- if (dataSource_ != other.dataSource_) return false;
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
}
- if (!unknownFields.equals(other.unknownFields)) return false;
- return true;
- }
- @java.lang.Override
- public int hashCode() {
- if (memoizedHashCode != 0) {
- return memoizedHashCode;
- }
- int hash = 41;
- hash = (19 * hash) + getDescriptor().hashCode();
- hash = (37 * hash) + TRACKER_ID_FIELD_NUMBER;
- hash = (53 * hash) + getTrackerId();
- hash = (37 * hash) + X_FIELD_NUMBER;
- hash = (53 * hash) + java.lang.Float.floatToIntBits(
- getX());
- hash = (37 * hash) + Y_FIELD_NUMBER;
- hash = (53 * hash) + java.lang.Float.floatToIntBits(
- getY());
- hash = (37 * hash) + Z_FIELD_NUMBER;
- hash = (53 * hash) + java.lang.Float.floatToIntBits(
- getZ());
- hash = (37 * hash) + QX_FIELD_NUMBER;
- hash = (53 * hash) + java.lang.Float.floatToIntBits(
- getQx());
- hash = (37 * hash) + QY_FIELD_NUMBER;
- hash = (53 * hash) + java.lang.Float.floatToIntBits(
- getQy());
- hash = (37 * hash) + QZ_FIELD_NUMBER;
- hash = (53 * hash) + java.lang.Float.floatToIntBits(
- getQz());
- hash = (37 * hash) + QW_FIELD_NUMBER;
- hash = (53 * hash) + java.lang.Float.floatToIntBits(
- getQw());
- if (hasDataSource()) {
- hash = (37 * hash) + DATA_SOURCE_FIELD_NUMBER;
- hash = (53 * hash) + dataSource_;
- }
- hash = (29 * hash) + unknownFields.hashCode();
- memoizedHashCode = hash;
- return hash;
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
- java.nio.ByteBuffer data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
- java.nio.ByteBuffer data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
- com.google.protobuf.ByteString data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
- com.google.protobuf.ByteString data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(byte[] data)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
- byte[] data,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return PARSER.parseFrom(data, extensionRegistry);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(java.io.InputStream input)
- throws java.io.IOException {
- return com.google.protobuf.GeneratedMessageV3
- .parseWithIOException(PARSER, input);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position 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 dev.slimevr.bridge.ProtobufMessages.Position parseDelimitedFrom(java.io.InputStream input)
- throws java.io.IOException {
- return com.google.protobuf.GeneratedMessageV3
- .parseDelimitedWithIOException(PARSER, input);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseDelimitedFrom(
- java.io.InputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return com.google.protobuf.GeneratedMessageV3
- .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ // @@protoc_insertion_point(builder_scope:messages.PingPong)
}
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
- com.google.protobuf.CodedInputStream input)
- throws java.io.IOException {
- return com.google.protobuf.GeneratedMessageV3
- .parseWithIOException(PARSER, input);
- }
- public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- return com.google.protobuf.GeneratedMessageV3
- .parseWithIOException(PARSER, input, extensionRegistry);
+
+ // @@protoc_insertion_point(class_scope:messages.PingPong)
+ private static final dev.slimevr.bridge.ProtobufMessages.PingPong DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.PingPong();
}
- @java.lang.Override
- public Builder newBuilderForType() { return newBuilder(); }
- public static Builder newBuilder() {
- return DEFAULT_INSTANCE.toBuilder();
+ public static dev.slimevr.bridge.ProtobufMessages.PingPong getDefaultInstance() {
+ return DEFAULT_INSTANCE;
}
- public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.Position prototype) {
- return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public PingPong parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new PingPong(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
}
+
@java.lang.Override
- public Builder toBuilder() {
- return this == DEFAULT_INSTANCE
- ? new Builder() : new Builder().mergeFrom(this);
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
}
@java.lang.Override
- protected Builder newBuilderForType(
- com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
- Builder builder = new Builder(parent);
- return builder;
+ public dev.slimevr.bridge.ProtobufMessages.PingPong getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
}
+
+ }
+
+ public interface PositionOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:messages.Position)
+ com.google.protobuf.MessageOrBuilder {
+
/**
- * Protobuf type {@code dev.slimevr.bridge.Position}
+ * int32 tracker_id = 1;
+ * @return The trackerId.
*/
- public static final class Builder extends
- com.google.protobuf.GeneratedMessageV3.Builder implements
- // @@protoc_insertion_point(builder_implements:dev.slimevr.bridge.Position)
- dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder {
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_Position_descriptor;
- }
-
- @java.lang.Override
- protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_Position_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.Position.class, dev.slimevr.bridge.ProtobufMessages.Position.Builder.class);
- }
+ int getTrackerId();
- // Construct using dev.slimevr.bridge.ProtobufMessages.Position.newBuilder()
- private Builder() {
- maybeForceBuilderInitialization();
- }
+ /**
+ * float x = 2;
+ * @return Whether the x field is set.
+ */
+ boolean hasX();
+ /**
+ * float x = 2;
+ * @return The x.
+ */
+ float getX();
- private Builder(
- com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
- super(parent);
- maybeForceBuilderInitialization();
- }
- private void maybeForceBuilderInitialization() {
- if (com.google.protobuf.GeneratedMessageV3
- .alwaysUseFieldBuilders) {
- }
- }
- @java.lang.Override
- public Builder clear() {
- super.clear();
- trackerId_ = 0;
+ /**
+ * float y = 3;
+ * @return Whether the y field is set.
+ */
+ boolean hasY();
+ /**
+ * float y = 3;
+ * @return The y.
+ */
+ float getY();
- x_ = 0F;
+ /**
+ * float z = 4;
+ * @return Whether the z field is set.
+ */
+ boolean hasZ();
+ /**
+ * float z = 4;
+ * @return The z.
+ */
+ float getZ();
- y_ = 0F;
+ /**
+ * float qx = 5;
+ * @return The qx.
+ */
+ float getQx();
- z_ = 0F;
+ /**
+ * float qy = 6;
+ * @return The qy.
+ */
+ float getQy();
- qx_ = 0F;
+ /**
+ * float qz = 7;
+ * @return The qz.
+ */
+ float getQz();
- qy_ = 0F;
+ /**
+ * float qw = 8;
+ * @return The qw.
+ */
+ float getQw();
- qz_ = 0F;
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @return Whether the dataSource field is set.
+ */
+ boolean hasDataSource();
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @return The enum numeric value on the wire for dataSource.
+ */
+ int getDataSourceValue();
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @return The dataSource.
+ */
+ dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource();
+ }
+ /**
+ * Protobuf type {@code messages.Position}
+ */
+ public static final class Position extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:messages.Position)
+ PositionOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Position.newBuilder() to construct.
+ private Position(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private Position() {
+ dataSource_ = 0;
+ }
- qw_ = 0F;
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new Position();
+ }
- dataSource_ = 0;
- bitField0_ = (bitField0_ & ~0x00000001);
- return this;
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Position(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
}
+ 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;
+ case 8: {
- @java.lang.Override
- public com.google.protobuf.Descriptors.Descriptor
- getDescriptorForType() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_Position_descriptor;
- }
+ trackerId_ = input.readInt32();
+ break;
+ }
+ case 21: {
+ bitField0_ |= 0x00000001;
+ x_ = input.readFloat();
+ break;
+ }
+ case 29: {
+ bitField0_ |= 0x00000002;
+ y_ = input.readFloat();
+ break;
+ }
+ case 37: {
+ bitField0_ |= 0x00000004;
+ z_ = input.readFloat();
+ break;
+ }
+ case 45: {
- @java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstanceForType() {
- return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
- }
+ qx_ = input.readFloat();
+ break;
+ }
+ case 53: {
- @java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.Position build() {
- dev.slimevr.bridge.ProtobufMessages.Position result = buildPartial();
- if (!result.isInitialized()) {
- throw newUninitializedMessageException(result);
- }
- return result;
- }
+ qy_ = input.readFloat();
+ break;
+ }
+ case 61: {
- @java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.Position buildPartial() {
- dev.slimevr.bridge.ProtobufMessages.Position result = new dev.slimevr.bridge.ProtobufMessages.Position(this);
- int from_bitField0_ = bitField0_;
- int to_bitField0_ = 0;
- result.trackerId_ = trackerId_;
- result.x_ = x_;
- result.y_ = y_;
- result.z_ = z_;
- result.qx_ = qx_;
- result.qy_ = qy_;
- result.qz_ = qz_;
- result.qw_ = qw_;
- if (((from_bitField0_ & 0x00000001) != 0)) {
- to_bitField0_ |= 0x00000001;
+ qz_ = input.readFloat();
+ break;
+ }
+ case 69: {
+
+ qw_ = input.readFloat();
+ break;
+ }
+ case 72: {
+ int rawValue = input.readEnum();
+ bitField0_ |= 0x00000008;
+ dataSource_ = rawValue;
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
}
- result.dataSource_ = dataSource_;
- result.bitField0_ = to_bitField0_;
- onBuilt();
- return result;
+ } 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 dev.slimevr.bridge.ProtobufMessages.internal_static_messages_Position_descriptor;
+ }
- @java.lang.Override
- public Builder clone() {
- return super.clone();
- }
- @java.lang.Override
- public Builder setField(
- com.google.protobuf.Descriptors.FieldDescriptor field,
- java.lang.Object value) {
- return super.setField(field, value);
- }
- @java.lang.Override
- public Builder clearField(
- com.google.protobuf.Descriptors.FieldDescriptor field) {
- return super.clearField(field);
- }
- @java.lang.Override
- public Builder clearOneof(
- com.google.protobuf.Descriptors.OneofDescriptor oneof) {
- return super.clearOneof(oneof);
- }
- @java.lang.Override
- public Builder setRepeatedField(
- com.google.protobuf.Descriptors.FieldDescriptor field,
- int index, java.lang.Object value) {
- return super.setRepeatedField(field, index, value);
- }
- @java.lang.Override
- public Builder addRepeatedField(
- com.google.protobuf.Descriptors.FieldDescriptor field,
- java.lang.Object value) {
- return super.addRepeatedField(field, value);
- }
- @java.lang.Override
- public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof dev.slimevr.bridge.ProtobufMessages.Position) {
- return mergeFrom((dev.slimevr.bridge.ProtobufMessages.Position)other);
- } else {
- super.mergeFrom(other);
- return this;
- }
- }
-
- public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.Position other) {
- if (other == dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance()) return this;
- if (other.getTrackerId() != 0) {
- setTrackerId(other.getTrackerId());
- }
- if (other.getX() != 0F) {
- setX(other.getX());
- }
- if (other.getY() != 0F) {
- setY(other.getY());
- }
- if (other.getZ() != 0F) {
- setZ(other.getZ());
- }
- if (other.getQx() != 0F) {
- setQx(other.getQx());
- }
- if (other.getQy() != 0F) {
- setQy(other.getQy());
- }
- if (other.getQz() != 0F) {
- setQz(other.getQz());
- }
- if (other.getQw() != 0F) {
- setQw(other.getQw());
- }
- if (other.hasDataSource()) {
- setDataSource(other.getDataSource());
- }
- this.mergeUnknownFields(other.unknownFields);
- onChanged();
- return this;
- }
-
- @java.lang.Override
- public final boolean isInitialized() {
- return true;
- }
-
- @java.lang.Override
- public Builder mergeFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- dev.slimevr.bridge.ProtobufMessages.Position parsedMessage = null;
- try {
- parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (dev.slimevr.bridge.ProtobufMessages.Position) e.getUnfinishedMessage();
- throw e.unwrapIOException();
- } finally {
- if (parsedMessage != null) {
- mergeFrom(parsedMessage);
- }
- }
- return this;
- }
- private int bitField0_;
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_Position_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ dev.slimevr.bridge.ProtobufMessages.Position.class, dev.slimevr.bridge.ProtobufMessages.Position.Builder.class);
+ }
- private int trackerId_ ;
- /**
- * int32 tracker_id = 1;
- * @return The trackerId.
- */
- @java.lang.Override
- public int getTrackerId() {
- return trackerId_;
- }
+ /**
+ * Protobuf enum {@code messages.Position.DataSource}
+ */
+ public enum DataSource
+ implements com.google.protobuf.ProtocolMessageEnum {
/**
- * int32 tracker_id = 1;
- * @param value The trackerId to set.
- * @return This builder for chaining.
+ * NONE = 0;
*/
- public Builder setTrackerId(int value) {
-
- trackerId_ = value;
- onChanged();
- return this;
- }
+ NONE(0),
/**
- * int32 tracker_id = 1;
- * @return This builder for chaining.
+ * IMU = 1;
*/
- public Builder clearTrackerId() {
-
- trackerId_ = 0;
- onChanged();
- return this;
- }
-
- private float x_ ;
+ IMU(1),
/**
- * float x = 2;
- * @return The x.
+ * PRECISION = 2;
*/
- @java.lang.Override
- public float getX() {
- return x_;
- }
+ PRECISION(2),
/**
- * float x = 2;
- * @param value The x to set.
- * @return This builder for chaining.
+ * FULL = 3;
*/
- public Builder setX(float value) {
-
- x_ = value;
- onChanged();
- return this;
- }
+ FULL(3),
+ UNRECOGNIZED(-1),
+ ;
+
/**
- * float x = 2;
- * @return This builder for chaining.
+ * NONE = 0;
*/
- public Builder clearX() {
-
- x_ = 0F;
- onChanged();
- return this;
- }
-
- private float y_ ;
+ public static final int NONE_VALUE = 0;
/**
- * float y = 3;
- * @return The y.
+ * IMU = 1;
*/
- @java.lang.Override
- public float getY() {
- return y_;
- }
+ public static final int IMU_VALUE = 1;
/**
- * float y = 3;
- * @param value The y to set.
- * @return This builder for chaining.
+ * PRECISION = 2;
*/
- public Builder setY(float value) {
-
- y_ = value;
- onChanged();
- return this;
- }
+ public static final int PRECISION_VALUE = 2;
/**
- * float y = 3;
- * @return This builder for chaining.
+ * FULL = 3;
*/
- public Builder clearY() {
-
- y_ = 0F;
- onChanged();
- return this;
+ public static final int FULL_VALUE = 3;
+
+
+ @Override
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
}
- private float z_ ;
/**
- * float z = 4;
- * @return The z.
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
*/
- @java.lang.Override
- public float getZ() {
- return z_;
+ @java.lang.Deprecated
+ public static DataSource valueOf(int value) {
+ return forNumber(value);
}
+
/**
- * float z = 4;
- * @param value The z to set.
- * @return This builder for chaining.
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
*/
- public Builder setZ(float value) {
-
- z_ = value;
- onChanged();
- return this;
+ public static DataSource forNumber(int value) {
+ switch (value) {
+ case 0: return NONE;
+ case 1: return IMU;
+ case 2: return PRECISION;
+ case 3: return FULL;
+ default: return null;
+ }
}
- /**
- * float z = 4;
- * @return This builder for chaining.
- */
- public Builder clearZ() {
-
- z_ = 0F;
- onChanged();
- return this;
+
+ public static com.google.protobuf.Internal.EnumLiteMap
+ internalGetValueMap() {
+ return internalValueMap;
}
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ DataSource> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap() {
+ @Override
+ public DataSource findValueByNumber(int number) {
+ return DataSource.forNumber(number);
+ }
+ };
- private float qx_ ;
- /**
- * float qx = 5;
- * @return The qx.
- */
- @java.lang.Override
- public float getQx() {
- return qx_;
+ @Override
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalStateException(
+ "Can't get the descriptor of an unrecognized enum value.");
+ }
+ return getDescriptor().getValues().get(ordinal());
}
- /**
- * float qx = 5;
- * @param value The qx to set.
- * @return This builder for chaining.
- */
- public Builder setQx(float value) {
-
- qx_ = value;
- onChanged();
- return this;
- }
- /**
- * float qx = 5;
- * @return This builder for chaining.
- */
- public Builder clearQx() {
-
- qx_ = 0F;
- onChanged();
- return this;
- }
-
- private float qy_ ;
- /**
- * float qy = 6;
- * @return The qy.
- */
- @java.lang.Override
- public float getQy() {
- return qy_;
- }
- /**
- * float qy = 6;
- * @param value The qy to set.
- * @return This builder for chaining.
- */
- public Builder setQy(float value) {
-
- qy_ = value;
- onChanged();
- return this;
- }
- /**
- * float qy = 6;
- * @return This builder for chaining.
- */
- public Builder clearQy() {
-
- qy_ = 0F;
- onChanged();
- return this;
- }
-
- private float qz_ ;
- /**
- * float qz = 7;
- * @return The qz.
- */
- @java.lang.Override
- public float getQz() {
- return qz_;
- }
- /**
- * float qz = 7;
- * @param value The qz to set.
- * @return This builder for chaining.
- */
- public Builder setQz(float value) {
-
- qz_ = value;
- onChanged();
- return this;
+ @Override
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
}
- /**
- * float qz = 7;
- * @return This builder for chaining.
- */
- public Builder clearQz() {
-
- qz_ = 0F;
- onChanged();
- return this;
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return dev.slimevr.bridge.ProtobufMessages.Position.getDescriptor().getEnumTypes().get(0);
}
- private float qw_ ;
- /**
- * float qw = 8;
- * @return The qw.
- */
- @java.lang.Override
- public float getQw() {
- return qw_;
- }
- /**
- * float qw = 8;
- * @param value The qw to set.
- * @return This builder for chaining.
- */
- public Builder setQw(float value) {
-
- qw_ = value;
- onChanged();
- return this;
- }
- /**
- * float qw = 8;
- * @return This builder for chaining.
- */
- public Builder clearQw() {
-
- qw_ = 0F;
- onChanged();
- return this;
- }
+ private static final DataSource[] VALUES = values();
- private int dataSource_ = 0;
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return Whether the dataSource field is set.
- */
- @java.lang.Override public boolean hasDataSource() {
- return ((bitField0_ & 0x00000001) != 0);
- }
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return The enum numeric value on the wire for dataSource.
- */
- @java.lang.Override public int getDataSourceValue() {
- return dataSource_;
- }
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @param value The enum numeric value on the wire for dataSource to set.
- * @return This builder for chaining.
- */
- public Builder setDataSourceValue(int value) {
- bitField0_ |= 0x00000001;
- dataSource_ = value;
- onChanged();
- return this;
- }
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return The dataSource.
- */
- @java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource() {
- @SuppressWarnings("deprecation")
- dev.slimevr.bridge.ProtobufMessages.Position.DataSource result = dev.slimevr.bridge.ProtobufMessages.Position.DataSource.valueOf(dataSource_);
- return result == null ? dev.slimevr.bridge.ProtobufMessages.Position.DataSource.UNRECOGNIZED : result;
- }
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @param value The dataSource to set.
- * @return This builder for chaining.
- */
- public Builder setDataSource(dev.slimevr.bridge.ProtobufMessages.Position.DataSource value) {
- if (value == null) {
- throw new NullPointerException();
+ public static DataSource valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
}
- bitField0_ |= 0x00000001;
- dataSource_ = value.getNumber();
- onChanged();
- return this;
- }
- /**
- * .dev.slimevr.bridge.Position.DataSource data_source = 9;
- * @return This builder for chaining.
- */
- public Builder clearDataSource() {
- bitField0_ = (bitField0_ & ~0x00000001);
- dataSource_ = 0;
- onChanged();
- return this;
- }
- @java.lang.Override
- public final Builder setUnknownFields(
- final com.google.protobuf.UnknownFieldSet unknownFields) {
- return super.setUnknownFields(unknownFields);
- }
-
- @java.lang.Override
- public final Builder mergeUnknownFields(
- final com.google.protobuf.UnknownFieldSet unknownFields) {
- return super.mergeUnknownFields(unknownFields);
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
}
+ private final int value;
- // @@protoc_insertion_point(builder_scope:dev.slimevr.bridge.Position)
- }
-
- // @@protoc_insertion_point(class_scope:dev.slimevr.bridge.Position)
- private static final dev.slimevr.bridge.ProtobufMessages.Position DEFAULT_INSTANCE;
- static {
- DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.Position();
- }
-
- public static dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstance() {
- return DEFAULT_INSTANCE;
- }
-
- private static final com.google.protobuf.Parser
- PARSER = new com.google.protobuf.AbstractParser() {
- @java.lang.Override
- public Position parsePartialFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return new Position(input, extensionRegistry);
+ private DataSource(int value) {
+ this.value = value;
}
- };
-
- public static com.google.protobuf.Parser parser() {
- return PARSER;
- }
- @java.lang.Override
- public com.google.protobuf.Parser getParserForType() {
- return PARSER;
+ // @@protoc_insertion_point(enum_scope:messages.Position.DataSource)
}
+ private int bitField0_;
+ public static final int TRACKER_ID_FIELD_NUMBER = 1;
+ private int trackerId_;
+ /**
+ * int32 tracker_id = 1;
+ * @return The trackerId.
+ */
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstanceForType() {
- return DEFAULT_INSTANCE;
+ public int getTrackerId() {
+ return trackerId_;
}
- }
-
- public interface UserActionOrBuilder extends
- // @@protoc_insertion_point(interface_extends:dev.slimevr.bridge.UserAction)
- com.google.protobuf.MessageOrBuilder {
-
+ public static final int X_FIELD_NUMBER = 2;
+ private float x_;
/**
- * string name = 1;
- * @return The name.
+ * float x = 2;
+ * @return Whether the x field is set.
*/
- java.lang.String getName();
+ @java.lang.Override
+ public boolean hasX() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
/**
- * string name = 1;
- * @return The bytes for name.
+ * float x = 2;
+ * @return The x.
*/
- com.google.protobuf.ByteString
- getNameBytes();
+ @java.lang.Override
+ public float getX() {
+ return x_;
+ }
+ public static final int Y_FIELD_NUMBER = 3;
+ private float y_;
/**
- * map<string, string> action_arguments = 2;
- */
- int getActionArgumentsCount();
- /**
- * map<string, string> action_arguments = 2;
- */
- boolean containsActionArguments(
- java.lang.String key);
- /**
- * Use {@link #getActionArgumentsMap()} instead.
- */
- @java.lang.Deprecated
- java.util.Map
- getActionArguments();
- /**
- * map<string, string> action_arguments = 2;
+ * float y = 3;
+ * @return Whether the y field is set.
*/
- java.util.Map
- getActionArgumentsMap();
+ @java.lang.Override
+ public boolean hasY() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
/**
- * map<string, string> action_arguments = 2;
+ * float y = 3;
+ * @return The y.
*/
+ @java.lang.Override
+ public float getY() {
+ return y_;
+ }
- java.lang.String getActionArgumentsOrDefault(
- java.lang.String key,
- java.lang.String defaultValue);
+ public static final int Z_FIELD_NUMBER = 4;
+ private float z_;
/**
- * map<string, string> action_arguments = 2;
+ * float z = 4;
+ * @return Whether the z field is set.
*/
-
- java.lang.String getActionArgumentsOrThrow(
- java.lang.String key);
- }
- /**
- * Protobuf type {@code dev.slimevr.bridge.UserAction}
- */
- public static final class UserAction extends
- com.google.protobuf.GeneratedMessageV3 implements
- // @@protoc_insertion_point(message_implements:dev.slimevr.bridge.UserAction)
- UserActionOrBuilder {
- private static final long serialVersionUID = 0L;
- // Use UserAction.newBuilder() to construct.
- private UserAction(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
- super(builder);
- }
- private UserAction() {
- name_ = "";
- }
-
@java.lang.Override
- @SuppressWarnings({"unused"})
- protected java.lang.Object newInstance(
- UnusedPrivateParameter unused) {
- return new UserAction();
+ public boolean hasZ() {
+ return ((bitField0_ & 0x00000004) != 0);
}
-
+ /**
+ * float z = 4;
+ * @return The z.
+ */
@java.lang.Override
- public final com.google.protobuf.UnknownFieldSet
- getUnknownFields() {
- return this.unknownFields;
- }
- private UserAction(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- this();
- if (extensionRegistry == null) {
- throw new java.lang.NullPointerException();
- }
- 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;
- case 10: {
- java.lang.String s = input.readStringRequireUtf8();
-
- name_ = s;
- break;
- }
- case 18: {
- if (!((mutable_bitField0_ & 0x00000001) != 0)) {
- actionArguments_ = com.google.protobuf.MapField.newMapField(
- ActionArgumentsDefaultEntryHolder.defaultEntry);
- mutable_bitField0_ |= 0x00000001;
- }
- com.google.protobuf.MapEntry
- actionArguments__ = input.readMessage(
- ActionArgumentsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
- actionArguments_.getMutableMap().put(
- actionArguments__.getKey(), actionArguments__.getValue());
- break;
- }
- default: {
- if (!parseUnknownField(
- 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 dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_UserAction_descriptor;
+ public float getZ() {
+ return z_;
}
- @SuppressWarnings({"rawtypes"})
- @java.lang.Override
- protected com.google.protobuf.MapField internalGetMapField(
- int number) {
- switch (number) {
- case 2:
- return internalGetActionArguments();
- default:
- throw new RuntimeException(
- "Invalid map field number: " + number);
- }
- }
+ public static final int QX_FIELD_NUMBER = 5;
+ private float qx_;
+ /**
+ * float qx = 5;
+ * @return The qx.
+ */
@java.lang.Override
- protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_UserAction_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.UserAction.class, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder.class);
+ public float getQx() {
+ return qx_;
}
- public static final int NAME_FIELD_NUMBER = 1;
- private volatile java.lang.Object name_;
+ public static final int QY_FIELD_NUMBER = 6;
+ private float qy_;
/**
- * string name = 1;
- * @return The name.
+ * float qy = 6;
+ * @return The qy.
*/
@java.lang.Override
- public java.lang.String getName() {
- java.lang.Object ref = name_;
- 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();
- name_ = s;
- return s;
- }
+ public float getQy() {
+ return qy_;
}
+
+ public static final int QZ_FIELD_NUMBER = 7;
+ private float qz_;
/**
- * string name = 1;
- * @return The bytes for name.
+ * float qz = 7;
+ * @return The qz.
*/
@java.lang.Override
- public com.google.protobuf.ByteString
- getNameBytes() {
- java.lang.Object ref = name_;
- if (ref instanceof java.lang.String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- name_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
- }
-
- public static final int ACTION_ARGUMENTS_FIELD_NUMBER = 2;
- private static final class ActionArgumentsDefaultEntryHolder {
- static final com.google.protobuf.MapEntry<
- java.lang.String, java.lang.String> defaultEntry =
- com.google.protobuf.MapEntry
- .newDefaultInstance(
- dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_UserAction_ActionArgumentsEntry_descriptor,
- com.google.protobuf.WireFormat.FieldType.STRING,
- "",
- com.google.protobuf.WireFormat.FieldType.STRING,
- "");
- }
- private com.google.protobuf.MapField<
- java.lang.String, java.lang.String> actionArguments_;
- private com.google.protobuf.MapField
- internalGetActionArguments() {
- if (actionArguments_ == null) {
- return com.google.protobuf.MapField.emptyMapField(
- ActionArgumentsDefaultEntryHolder.defaultEntry);
- }
- return actionArguments_;
+ public float getQz() {
+ return qz_;
}
- @Override
- public int getActionArgumentsCount() {
- return internalGetActionArguments().getMap().size();
- }
+ public static final int QW_FIELD_NUMBER = 8;
+ private float qw_;
/**
- * map<string, string> action_arguments = 2;
+ * float qw = 8;
+ * @return The qw.
*/
-
@java.lang.Override
- public boolean containsActionArguments(
- java.lang.String key) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- return internalGetActionArguments().getMap().containsKey(key);
+ public float getQw() {
+ return qw_;
}
+
+ public static final int DATA_SOURCE_FIELD_NUMBER = 9;
+ private int dataSource_;
/**
- * Use {@link #getActionArgumentsMap()} instead.
+ * .messages.Position.DataSource data_source = 9;
+ * @return Whether the dataSource field is set.
*/
- @java.lang.Override
- @java.lang.Deprecated
- public java.util.Map getActionArguments() {
- return getActionArgumentsMap();
+ @java.lang.Override public boolean hasDataSource() {
+ return ((bitField0_ & 0x00000008) != 0);
}
/**
- * map<string, string> action_arguments = 2;
+ * .messages.Position.DataSource data_source = 9;
+ * @return The enum numeric value on the wire for dataSource.
*/
- @java.lang.Override
-
- public java.util.Map getActionArgumentsMap() {
- return internalGetActionArguments().getMap();
+ @java.lang.Override public int getDataSourceValue() {
+ return dataSource_;
}
/**
- * map<string, string> action_arguments = 2;
+ * .messages.Position.DataSource data_source = 9;
+ * @return The dataSource.
*/
- @java.lang.Override
-
- public java.lang.String getActionArgumentsOrDefault(
- java.lang.String key,
- java.lang.String defaultValue) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- java.util.Map map =
- internalGetActionArguments().getMap();
- return map.containsKey(key) ? map.get(key) : defaultValue;
- }
- /**
- * map<string, string> action_arguments = 2;
- */
- @java.lang.Override
-
- public java.lang.String getActionArgumentsOrThrow(
- java.lang.String key) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- java.util.Map map =
- internalGetActionArguments().getMap();
- if (!map.containsKey(key)) {
- throw new java.lang.IllegalArgumentException();
- }
- return map.get(key);
+ @java.lang.Override public dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource() {
+ @SuppressWarnings("deprecation")
+ dev.slimevr.bridge.ProtobufMessages.Position.DataSource result = dev.slimevr.bridge.ProtobufMessages.Position.DataSource.valueOf(dataSource_);
+ return result == null ? dev.slimevr.bridge.ProtobufMessages.Position.DataSource.UNRECOGNIZED : result;
}
private byte memoizedIsInitialized = -1;
@@ -1570,15 +923,33 @@ public final boolean isInitialized() {
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
- if (!getNameBytes().isEmpty()) {
- com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ if (trackerId_ != 0) {
+ output.writeInt32(1, trackerId_);
+ }
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeFloat(2, x_);
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ output.writeFloat(3, y_);
+ }
+ if (((bitField0_ & 0x00000004) != 0)) {
+ output.writeFloat(4, z_);
+ }
+ if (qx_ != 0F) {
+ output.writeFloat(5, qx_);
+ }
+ if (qy_ != 0F) {
+ output.writeFloat(6, qy_);
+ }
+ if (qz_ != 0F) {
+ output.writeFloat(7, qz_);
+ }
+ if (qw_ != 0F) {
+ output.writeFloat(8, qw_);
+ }
+ if (((bitField0_ & 0x00000008) != 0)) {
+ output.writeEnum(9, dataSource_);
}
- com.google.protobuf.GeneratedMessageV3
- .serializeStringMapTo(
- output,
- internalGetActionArguments(),
- ActionArgumentsDefaultEntryHolder.defaultEntry,
- 2);
unknownFields.writeTo(output);
}
@@ -1588,18 +959,41 @@ public int getSerializedSize() {
if (size != -1) return size;
size = 0;
- if (!getNameBytes().isEmpty()) {
- size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ if (trackerId_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(1, trackerId_);
}
- for (java.util.Map.Entry entry
- : internalGetActionArguments().getMap().entrySet()) {
- com.google.protobuf.MapEntry
- actionArguments__ = ActionArgumentsDefaultEntryHolder.defaultEntry.newBuilderForType()
- .setKey(entry.getKey())
- .setValue(entry.getValue())
- .build();
+ if (((bitField0_ & 0x00000001) != 0)) {
size += com.google.protobuf.CodedOutputStream
- .computeMessageSize(2, actionArguments__);
+ .computeFloatSize(2, x_);
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(3, y_);
+ }
+ if (((bitField0_ & 0x00000004) != 0)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(4, z_);
+ }
+ if (qx_ != 0F) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(5, qx_);
+ }
+ if (qy_ != 0F) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(6, qy_);
+ }
+ if (qz_ != 0F) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(7, qz_);
+ }
+ if (qw_ != 0F) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(8, qw_);
+ }
+ if (((bitField0_ & 0x00000008) != 0)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(9, dataSource_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
@@ -1611,15 +1005,47 @@ public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
- if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.UserAction)) {
+ if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.Position)) {
return super.equals(obj);
}
- dev.slimevr.bridge.ProtobufMessages.UserAction other = (dev.slimevr.bridge.ProtobufMessages.UserAction) obj;
+ dev.slimevr.bridge.ProtobufMessages.Position other = (dev.slimevr.bridge.ProtobufMessages.Position) obj;
- if (!getName()
- .equals(other.getName())) return false;
- if (!internalGetActionArguments().equals(
- other.internalGetActionArguments())) return false;
+ if (getTrackerId()
+ != other.getTrackerId()) return false;
+ if (hasX() != other.hasX()) return false;
+ if (hasX()) {
+ if (java.lang.Float.floatToIntBits(getX())
+ != java.lang.Float.floatToIntBits(
+ other.getX())) return false;
+ }
+ if (hasY() != other.hasY()) return false;
+ if (hasY()) {
+ if (java.lang.Float.floatToIntBits(getY())
+ != java.lang.Float.floatToIntBits(
+ other.getY())) return false;
+ }
+ if (hasZ() != other.hasZ()) return false;
+ if (hasZ()) {
+ if (java.lang.Float.floatToIntBits(getZ())
+ != java.lang.Float.floatToIntBits(
+ other.getZ())) return false;
+ }
+ if (java.lang.Float.floatToIntBits(getQx())
+ != java.lang.Float.floatToIntBits(
+ other.getQx())) return false;
+ if (java.lang.Float.floatToIntBits(getQy())
+ != java.lang.Float.floatToIntBits(
+ other.getQy())) return false;
+ if (java.lang.Float.floatToIntBits(getQz())
+ != java.lang.Float.floatToIntBits(
+ other.getQz())) return false;
+ if (java.lang.Float.floatToIntBits(getQw())
+ != java.lang.Float.floatToIntBits(
+ other.getQw())) return false;
+ if (hasDataSource() != other.hasDataSource()) return false;
+ if (hasDataSource()) {
+ if (dataSource_ != other.dataSource_) return false;
+ }
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -1631,80 +1057,107 @@ public int hashCode() {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
- hash = (37 * hash) + NAME_FIELD_NUMBER;
- hash = (53 * hash) + getName().hashCode();
- if (!internalGetActionArguments().getMap().isEmpty()) {
- hash = (37 * hash) + ACTION_ARGUMENTS_FIELD_NUMBER;
- hash = (53 * hash) + internalGetActionArguments().hashCode();
+ hash = (37 * hash) + TRACKER_ID_FIELD_NUMBER;
+ hash = (53 * hash) + getTrackerId();
+ if (hasX()) {
+ hash = (37 * hash) + X_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getX());
+ }
+ if (hasY()) {
+ hash = (37 * hash) + Y_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getY());
+ }
+ if (hasZ()) {
+ hash = (37 * hash) + Z_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getZ());
+ }
+ hash = (37 * hash) + QX_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getQx());
+ hash = (37 * hash) + QY_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getQy());
+ hash = (37 * hash) + QZ_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getQz());
+ hash = (37 * hash) + QW_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getQw());
+ if (hasDataSource()) {
+ hash = (37 * hash) + DATA_SOURCE_FIELD_NUMBER;
+ hash = (53 * hash) + dataSource_;
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(byte[] data)
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(java.io.InputStream input)
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position 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 dev.slimevr.bridge.ProtobufMessages.UserAction parseDelimitedFrom(java.io.InputStream input)
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseDelimitedFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position 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 dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.Position parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
@@ -1717,7 +1170,7 @@ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
- public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.UserAction prototype) {
+ public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.Position prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
@@ -1733,50 +1186,26 @@ protected Builder newBuilderForType(
return builder;
}
/**
- * Protobuf type {@code dev.slimevr.bridge.UserAction}
+ * Protobuf type {@code messages.Position}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
- // @@protoc_insertion_point(builder_implements:dev.slimevr.bridge.UserAction)
- dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder {
+ // @@protoc_insertion_point(builder_implements:messages.Position)
+ dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_UserAction_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_Position_descriptor;
}
- @Override
- @SuppressWarnings({"rawtypes"})
- protected com.google.protobuf.MapField internalGetMapField(
- int number) {
- switch (number) {
- case 2:
- return internalGetActionArguments();
- default:
- throw new RuntimeException(
- "Invalid map field number: " + number);
- }
- }
- @Override
- @SuppressWarnings({"rawtypes"})
- protected com.google.protobuf.MapField internalGetMutableMapField(
- int number) {
- switch (number) {
- case 2:
- return internalGetMutableActionArguments();
- default:
- throw new RuntimeException(
- "Invalid map field number: " + number);
- }
- }
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_UserAction_fieldAccessorTable
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_Position_fieldAccessorTable
.ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.UserAction.class, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder.class);
+ dev.slimevr.bridge.ProtobufMessages.Position.class, dev.slimevr.bridge.ProtobufMessages.Position.Builder.class);
}
- // Construct using dev.slimevr.bridge.ProtobufMessages.UserAction.newBuilder()
+ // Construct using dev.slimevr.bridge.ProtobufMessages.Position.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
@@ -1794,26 +1223,41 @@ private void maybeForceBuilderInitialization() {
@java.lang.Override
public Builder clear() {
super.clear();
- name_ = "";
+ trackerId_ = 0;
- internalGetMutableActionArguments().clear();
+ x_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ y_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ z_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ qx_ = 0F;
+
+ qy_ = 0F;
+
+ qz_ = 0F;
+
+ qw_ = 0F;
+
+ dataSource_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000008);
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_UserAction_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_Position_descriptor;
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstanceForType() {
- return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
+ public dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstanceForType() {
+ return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.UserAction build() {
- dev.slimevr.bridge.ProtobufMessages.UserAction result = buildPartial();
+ public dev.slimevr.bridge.ProtobufMessages.Position build() {
+ dev.slimevr.bridge.ProtobufMessages.Position result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
@@ -1821,12 +1265,32 @@ public dev.slimevr.bridge.ProtobufMessages.UserAction build() {
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.UserAction buildPartial() {
- dev.slimevr.bridge.ProtobufMessages.UserAction result = new dev.slimevr.bridge.ProtobufMessages.UserAction(this);
+ public dev.slimevr.bridge.ProtobufMessages.Position buildPartial() {
+ dev.slimevr.bridge.ProtobufMessages.Position result = new dev.slimevr.bridge.ProtobufMessages.Position(this);
int from_bitField0_ = bitField0_;
- result.name_ = name_;
- result.actionArguments_ = internalGetActionArguments();
- result.actionArguments_.makeImmutable();
+ int to_bitField0_ = 0;
+ result.trackerId_ = trackerId_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ result.x_ = x_;
+ to_bitField0_ |= 0x00000001;
+ }
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ result.y_ = y_;
+ to_bitField0_ |= 0x00000002;
+ }
+ if (((from_bitField0_ & 0x00000004) != 0)) {
+ result.z_ = z_;
+ to_bitField0_ |= 0x00000004;
+ }
+ result.qx_ = qx_;
+ result.qy_ = qy_;
+ result.qz_ = qz_;
+ result.qw_ = qw_;
+ if (((from_bitField0_ & 0x00000008) != 0)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.dataSource_ = dataSource_;
+ result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
@@ -1865,22 +1329,43 @@ public Builder addRepeatedField(
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof dev.slimevr.bridge.ProtobufMessages.UserAction) {
- return mergeFrom((dev.slimevr.bridge.ProtobufMessages.UserAction)other);
+ if (other instanceof dev.slimevr.bridge.ProtobufMessages.Position) {
+ return mergeFrom((dev.slimevr.bridge.ProtobufMessages.Position)other);
} else {
super.mergeFrom(other);
return this;
}
}
- public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.UserAction other) {
- if (other == dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance()) return this;
- if (!other.getName().isEmpty()) {
- name_ = other.name_;
- onChanged();
+ public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.Position other) {
+ if (other == dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance()) return this;
+ if (other.getTrackerId() != 0) {
+ setTrackerId(other.getTrackerId());
+ }
+ if (other.hasX()) {
+ setX(other.getX());
+ }
+ if (other.hasY()) {
+ setY(other.getY());
+ }
+ if (other.hasZ()) {
+ setZ(other.getZ());
+ }
+ if (other.getQx() != 0F) {
+ setQx(other.getQx());
+ }
+ if (other.getQy() != 0F) {
+ setQy(other.getQy());
+ }
+ if (other.getQz() != 0F) {
+ setQz(other.getQz());
+ }
+ if (other.getQw() != 0F) {
+ setQw(other.getQw());
+ }
+ if (other.hasDataSource()) {
+ setDataSource(other.getDataSource());
}
- internalGetMutableActionArguments().mergeFrom(
- other.internalGetActionArguments());
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -1896,11 +1381,11 @@ public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
- dev.slimevr.bridge.ProtobufMessages.UserAction parsedMessage = null;
+ dev.slimevr.bridge.ProtobufMessages.Position parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (dev.slimevr.bridge.ProtobufMessages.UserAction) e.getUnfinishedMessage();
+ parsedMessage = (dev.slimevr.bridge.ProtobufMessages.Position) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
@@ -1911,480 +1396,2746 @@ public Builder mergeFrom(
}
private int bitField0_;
- private java.lang.Object name_ = "";
+ private int trackerId_ ;
/**
- * string name = 1;
- * @return The name.
+ * int32 tracker_id = 1;
+ * @return The trackerId.
*/
- @Override
- public java.lang.String getName() {
- java.lang.Object ref = name_;
- if (!(ref instanceof java.lang.String)) {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- name_ = s;
- return s;
- } else {
- return (java.lang.String) ref;
- }
+ @java.lang.Override
+ public int getTrackerId() {
+ return trackerId_;
}
/**
- * string name = 1;
- * @return The bytes for name.
+ * int32 tracker_id = 1;
+ * @param value The trackerId to set.
+ * @return This builder for chaining.
*/
- @Override
- public com.google.protobuf.ByteString
- getNameBytes() {
- java.lang.Object ref = name_;
- if (ref instanceof String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- name_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
+ public Builder setTrackerId(int value) {
+
+ trackerId_ = value;
+ onChanged();
+ return this;
}
/**
- * string name = 1;
- * @param value The name to set.
+ * int32 tracker_id = 1;
* @return This builder for chaining.
*/
- public Builder setName(
- java.lang.String value) {
- if (value == null) {
- throw new NullPointerException();
- }
-
- name_ = value;
+ public Builder clearTrackerId() {
+
+ trackerId_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private float x_ ;
+ /**
+ * float x = 2;
+ * @return Whether the x field is set.
+ */
+ @java.lang.Override
+ public boolean hasX() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ * float x = 2;
+ * @return The x.
+ */
+ @java.lang.Override
+ public float getX() {
+ return x_;
+ }
+ /**
+ * float x = 2;
+ * @param value The x to set.
+ * @return This builder for chaining.
+ */
+ public Builder setX(float value) {
+ bitField0_ |= 0x00000001;
+ x_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * float x = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearX() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ x_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float y_ ;
+ /**
+ * float y = 3;
+ * @return Whether the y field is set.
+ */
+ @java.lang.Override
+ public boolean hasY() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ * float y = 3;
+ * @return The y.
+ */
+ @java.lang.Override
+ public float getY() {
+ return y_;
+ }
+ /**
+ * float y = 3;
+ * @param value The y to set.
+ * @return This builder for chaining.
+ */
+ public Builder setY(float value) {
+ bitField0_ |= 0x00000002;
+ y_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * float y = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearY() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ y_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float z_ ;
+ /**
+ * float z = 4;
+ * @return Whether the z field is set.
+ */
+ @java.lang.Override
+ public boolean hasZ() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ * float z = 4;
+ * @return The z.
+ */
+ @java.lang.Override
+ public float getZ() {
+ return z_;
+ }
+ /**
+ * float z = 4;
+ * @param value The z to set.
+ * @return This builder for chaining.
+ */
+ public Builder setZ(float value) {
+ bitField0_ |= 0x00000004;
+ z_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * float z = 4;
+ * @return This builder for chaining.
+ */
+ public Builder clearZ() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ z_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float qx_ ;
+ /**
+ * float qx = 5;
+ * @return The qx.
+ */
+ @java.lang.Override
+ public float getQx() {
+ return qx_;
+ }
+ /**
+ * float qx = 5;
+ * @param value The qx to set.
+ * @return This builder for chaining.
+ */
+ public Builder setQx(float value) {
+
+ qx_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * float qx = 5;
+ * @return This builder for chaining.
+ */
+ public Builder clearQx() {
+
+ qx_ = 0F;
onChanged();
return this;
}
+
+ private float qy_ ;
+ /**
+ * float qy = 6;
+ * @return The qy.
+ */
+ @java.lang.Override
+ public float getQy() {
+ return qy_;
+ }
+ /**
+ * float qy = 6;
+ * @param value The qy to set.
+ * @return This builder for chaining.
+ */
+ public Builder setQy(float value) {
+
+ qy_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * float qy = 6;
+ * @return This builder for chaining.
+ */
+ public Builder clearQy() {
+
+ qy_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float qz_ ;
+ /**
+ * float qz = 7;
+ * @return The qz.
+ */
+ @java.lang.Override
+ public float getQz() {
+ return qz_;
+ }
+ /**
+ * float qz = 7;
+ * @param value The qz to set.
+ * @return This builder for chaining.
+ */
+ public Builder setQz(float value) {
+
+ qz_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * float qz = 7;
+ * @return This builder for chaining.
+ */
+ public Builder clearQz() {
+
+ qz_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float qw_ ;
+ /**
+ * float qw = 8;
+ * @return The qw.
+ */
+ @java.lang.Override
+ public float getQw() {
+ return qw_;
+ }
+ /**
+ * float qw = 8;
+ * @param value The qw to set.
+ * @return This builder for chaining.
+ */
+ public Builder setQw(float value) {
+
+ qw_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * float qw = 8;
+ * @return This builder for chaining.
+ */
+ public Builder clearQw() {
+
+ qw_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private int dataSource_ = 0;
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @return Whether the dataSource field is set.
+ */
+ @java.lang.Override public boolean hasDataSource() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @return The enum numeric value on the wire for dataSource.
+ */
+ @java.lang.Override public int getDataSourceValue() {
+ return dataSource_;
+ }
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @param value The enum numeric value on the wire for dataSource to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDataSourceValue(int value) {
+ bitField0_ |= 0x00000008;
+ dataSource_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @return The dataSource.
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.Position.DataSource getDataSource() {
+ @SuppressWarnings("deprecation")
+ dev.slimevr.bridge.ProtobufMessages.Position.DataSource result = dev.slimevr.bridge.ProtobufMessages.Position.DataSource.valueOf(dataSource_);
+ return result == null ? dev.slimevr.bridge.ProtobufMessages.Position.DataSource.UNRECOGNIZED : result;
+ }
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @param value The dataSource to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDataSource(dev.slimevr.bridge.ProtobufMessages.Position.DataSource value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000008;
+ dataSource_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * .messages.Position.DataSource data_source = 9;
+ * @return This builder for chaining.
+ */
+ public Builder clearDataSource() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ dataSource_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:messages.Position)
+ }
+
+ // @@protoc_insertion_point(class_scope:messages.Position)
+ private static final dev.slimevr.bridge.ProtobufMessages.Position DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.Position();
+ }
+
+ public static dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public Position parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Position(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.Position getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface UserActionOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:messages.UserAction)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * string name = 1;
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ * string name = 1;
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ int getActionArgumentsCount();
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ boolean containsActionArguments(
+ java.lang.String key);
+ /**
+ * Use {@link #getActionArgumentsMap()} instead.
+ */
+ @java.lang.Deprecated
+ java.util.Map
+ getActionArguments();
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ java.util.Map
+ getActionArgumentsMap();
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+
+ java.lang.String getActionArgumentsOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue);
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+
+ java.lang.String getActionArgumentsOrThrow(
+ java.lang.String key);
+ }
+ /**
+ * Protobuf type {@code messages.UserAction}
+ */
+ public static final class UserAction extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:messages.UserAction)
+ UserActionOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use UserAction.newBuilder() to construct.
+ private UserAction(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private UserAction() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new UserAction();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UserAction(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ 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;
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+ actionArguments_ = com.google.protobuf.MapField.newMapField(
+ ActionArgumentsDefaultEntryHolder.defaultEntry);
+ mutable_bitField0_ |= 0x00000001;
+ }
+ com.google.protobuf.MapEntry
+ actionArguments__ = input.readMessage(
+ ActionArgumentsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+ actionArguments_.getMutableMap().put(
+ actionArguments__.getKey(), actionArguments__.getValue());
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ 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 dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ @java.lang.Override
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 2:
+ return internalGetActionArguments();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ dev.slimevr.bridge.ProtobufMessages.UserAction.class, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder.class);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * string name = 1;
+ * @return The name.
+ */
+ @java.lang.Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ 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();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * string name = 1;
+ * @return The bytes for name.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ACTION_ARGUMENTS_FIELD_NUMBER = 2;
+ private static final class ActionArgumentsDefaultEntryHolder {
+ static final com.google.protobuf.MapEntry<
+ java.lang.String, java.lang.String> defaultEntry =
+ com.google.protobuf.MapEntry
+ .newDefaultInstance(
+ dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_ActionArgumentsEntry_descriptor,
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "",
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "");
+ }
+ private com.google.protobuf.MapField<
+ java.lang.String, java.lang.String> actionArguments_;
+ private com.google.protobuf.MapField
+ internalGetActionArguments() {
+ if (actionArguments_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ ActionArgumentsDefaultEntryHolder.defaultEntry);
+ }
+ return actionArguments_;
+ }
+
+ @Override
+ public int getActionArgumentsCount() {
+ return internalGetActionArguments().getMap().size();
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+
+ @java.lang.Override
+ public boolean containsActionArguments(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetActionArguments().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getActionArgumentsMap()} instead.
+ */
+ @java.lang.Override
+ @java.lang.Deprecated
+ public java.util.Map getActionArguments() {
+ return getActionArgumentsMap();
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ @java.lang.Override
+
+ public java.util.Map getActionArgumentsMap() {
+ return internalGetActionArguments().getMap();
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ @java.lang.Override
+
+ public java.lang.String getActionArgumentsOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetActionArguments().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ @java.lang.Override
+
+ public java.lang.String getActionArgumentsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetActionArguments().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ com.google.protobuf.GeneratedMessageV3
+ .serializeStringMapTo(
+ output,
+ internalGetActionArguments(),
+ ActionArgumentsDefaultEntryHolder.defaultEntry,
+ 2);
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ for (java.util.Map.Entry entry
+ : internalGetActionArguments().getMap().entrySet()) {
+ com.google.protobuf.MapEntry
+ actionArguments__ = ActionArgumentsDefaultEntryHolder.defaultEntry.newBuilderForType()
+ .setKey(entry.getKey())
+ .setValue(entry.getValue())
+ .build();
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, actionArguments__);
+ }
+ 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 dev.slimevr.bridge.ProtobufMessages.UserAction)) {
+ return super.equals(obj);
+ }
+ dev.slimevr.bridge.ProtobufMessages.UserAction other = (dev.slimevr.bridge.ProtobufMessages.UserAction) obj;
+
+ if (!getName()
+ .equals(other.getName())) return false;
+ if (!internalGetActionArguments().equals(
+ other.internalGetActionArguments())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ if (!internalGetActionArguments().getMap().isEmpty()) {
+ hash = (37 * hash) + ACTION_ARGUMENTS_FIELD_NUMBER;
+ hash = (53 * hash) + internalGetActionArguments().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction 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 dev.slimevr.bridge.ProtobufMessages.UserAction parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction 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 dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.UserAction prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ 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 messages.UserAction}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:messages.UserAction)
+ dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_descriptor;
+ }
+
+ @Override
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 2:
+ return internalGetActionArguments();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @Override
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMutableMapField(
+ int number) {
+ switch (number) {
+ case 2:
+ return internalGetMutableActionArguments();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ dev.slimevr.bridge.ProtobufMessages.UserAction.class, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder.class);
+ }
+
+ // Construct using dev.slimevr.bridge.ProtobufMessages.UserAction.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ internalGetMutableActionArguments().clear();
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_UserAction_descriptor;
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstanceForType() {
+ return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.UserAction build() {
+ dev.slimevr.bridge.ProtobufMessages.UserAction result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.UserAction buildPartial() {
+ dev.slimevr.bridge.ProtobufMessages.UserAction result = new dev.slimevr.bridge.ProtobufMessages.UserAction(this);
+ int from_bitField0_ = bitField0_;
+ result.name_ = name_;
+ result.actionArguments_ = internalGetActionArguments();
+ result.actionArguments_.makeImmutable();
+ onBuilt();
+ return result;
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
+ }
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof dev.slimevr.bridge.ProtobufMessages.UserAction) {
+ return mergeFrom((dev.slimevr.bridge.ProtobufMessages.UserAction)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.UserAction other) {
+ if (other == dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ internalGetMutableActionArguments().mergeFrom(
+ other.internalGetActionArguments());
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ dev.slimevr.bridge.ProtobufMessages.UserAction parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (dev.slimevr.bridge.ProtobufMessages.UserAction) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object name_ = "";
+ /**
+ * string name = 1;
+ * @return The name.
+ */
+ @Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * string name = 1;
+ * @return The bytes for name.
+ */
+ @Override
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * string name = 1;
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * string name = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * string name = 1;
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.MapField<
+ java.lang.String, java.lang.String> actionArguments_;
+ private com.google.protobuf.MapField
+ internalGetActionArguments() {
+ if (actionArguments_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ ActionArgumentsDefaultEntryHolder.defaultEntry);
+ }
+ return actionArguments_;
+ }
+ private com.google.protobuf.MapField
+ internalGetMutableActionArguments() {
+ onChanged();;
+ if (actionArguments_ == null) {
+ actionArguments_ = com.google.protobuf.MapField.newMapField(
+ ActionArgumentsDefaultEntryHolder.defaultEntry);
+ }
+ if (!actionArguments_.isMutable()) {
+ actionArguments_ = actionArguments_.copy();
+ }
+ return actionArguments_;
+ }
+
+ @Override
+ public int getActionArgumentsCount() {
+ return internalGetActionArguments().getMap().size();
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+
+ @java.lang.Override
+ public boolean containsActionArguments(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetActionArguments().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getActionArgumentsMap()} instead.
+ */
+ @java.lang.Override
+ @java.lang.Deprecated
+ public java.util.Map getActionArguments() {
+ return getActionArgumentsMap();
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ @java.lang.Override
+
+ public java.util.Map getActionArgumentsMap() {
+ return internalGetActionArguments().getMap();
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ @java.lang.Override
+
+ public java.lang.String getActionArgumentsOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetActionArguments().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ @java.lang.Override
+
+ public java.lang.String getActionArgumentsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetActionArguments().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public Builder clearActionArguments() {
+ internalGetMutableActionArguments().getMutableMap()
+ .clear();
+ return this;
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+
+ public Builder removeActionArguments(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableActionArguments().getMutableMap()
+ .remove(key);
+ return this;
+ }
+ /**
+ * Use alternate mutation accessors instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map
+ getMutableActionArguments() {
+ return internalGetMutableActionArguments().getMutableMap();
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+ public Builder putActionArguments(
+ java.lang.String key,
+ java.lang.String value) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ if (value == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableActionArguments().getMutableMap()
+ .put(key, value);
+ return this;
+ }
+ /**
+ * map<string, string> action_arguments = 2;
+ */
+
+ public Builder putAllActionArguments(
+ java.util.Map values) {
+ internalGetMutableActionArguments().getMutableMap()
+ .putAll(values);
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:messages.UserAction)
+ }
+
+ // @@protoc_insertion_point(class_scope:messages.UserAction)
+ private static final dev.slimevr.bridge.ProtobufMessages.UserAction DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.UserAction();
+ }
+
+ public static dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public UserAction parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UserAction(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface TrackerAddedOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:messages.TrackerAdded)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * int32 tracker_id = 1;
+ * @return The trackerId.
+ */
+ int getTrackerId();
+
+ /**
+ * string tracker_serial = 2;
+ * @return The trackerSerial.
+ */
+ java.lang.String getTrackerSerial();
+ /**
+ * string tracker_serial = 2;
+ * @return The bytes for trackerSerial.
+ */
+ com.google.protobuf.ByteString
+ getTrackerSerialBytes();
+
+ /**
+ * string tracker_name = 3;
+ * @return The trackerName.
+ */
+ java.lang.String getTrackerName();
+ /**
+ * string tracker_name = 3;
+ * @return The bytes for trackerName.
+ */
+ com.google.protobuf.ByteString
+ getTrackerNameBytes();
+
+ /**
+ * int32 tracker_role = 4;
+ * @return The trackerRole.
+ */
+ int getTrackerRole();
+ }
+ /**
+ * Protobuf type {@code messages.TrackerAdded}
+ */
+ public static final class TrackerAdded extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:messages.TrackerAdded)
+ TrackerAddedOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use TrackerAdded.newBuilder() to construct.
+ private TrackerAdded(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private TrackerAdded() {
+ trackerSerial_ = "";
+ trackerName_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new TrackerAdded();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TrackerAdded(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ 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;
+ case 8: {
+
+ trackerId_ = input.readInt32();
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ trackerSerial_ = s;
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ trackerName_ = s;
+ break;
+ }
+ case 32: {
+
+ trackerRole_ = input.readInt32();
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ 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 dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded.class, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder.class);
+ }
+
+ public static final int TRACKER_ID_FIELD_NUMBER = 1;
+ private int trackerId_;
+ /**
+ * int32 tracker_id = 1;
+ * @return The trackerId.
+ */
+ @java.lang.Override
+ public int getTrackerId() {
+ return trackerId_;
+ }
+
+ public static final int TRACKER_SERIAL_FIELD_NUMBER = 2;
+ private volatile java.lang.Object trackerSerial_;
+ /**
+ * string tracker_serial = 2;
+ * @return The trackerSerial.
+ */
+ @java.lang.Override
+ public java.lang.String getTrackerSerial() {
+ java.lang.Object ref = trackerSerial_;
+ 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();
+ trackerSerial_ = s;
+ return s;
+ }
+ }
+ /**
+ * string tracker_serial = 2;
+ * @return The bytes for trackerSerial.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getTrackerSerialBytes() {
+ java.lang.Object ref = trackerSerial_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ trackerSerial_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int TRACKER_NAME_FIELD_NUMBER = 3;
+ private volatile java.lang.Object trackerName_;
+ /**
+ * string tracker_name = 3;
+ * @return The trackerName.
+ */
+ @java.lang.Override
+ public java.lang.String getTrackerName() {
+ java.lang.Object ref = trackerName_;
+ 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();
+ trackerName_ = s;
+ return s;
+ }
+ }
+ /**
+ * string tracker_name = 3;
+ * @return The bytes for trackerName.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getTrackerNameBytes() {
+ java.lang.Object ref = trackerName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ trackerName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int TRACKER_ROLE_FIELD_NUMBER = 4;
+ private int trackerRole_;
+ /**
+ * int32 tracker_role = 4;
+ * @return The trackerRole.
+ */
+ @java.lang.Override
+ public int getTrackerRole() {
+ return trackerRole_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (trackerId_ != 0) {
+ output.writeInt32(1, trackerId_);
+ }
+ if (!getTrackerSerialBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, trackerSerial_);
+ }
+ if (!getTrackerNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, trackerName_);
+ }
+ if (trackerRole_ != 0) {
+ output.writeInt32(4, trackerRole_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (trackerId_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(1, trackerId_);
+ }
+ if (!getTrackerSerialBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, trackerSerial_);
+ }
+ if (!getTrackerNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, trackerName_);
+ }
+ if (trackerRole_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(4, trackerRole_);
+ }
+ 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 dev.slimevr.bridge.ProtobufMessages.TrackerAdded)) {
+ return super.equals(obj);
+ }
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded other = (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) obj;
+
+ if (getTrackerId()
+ != other.getTrackerId()) return false;
+ if (!getTrackerSerial()
+ .equals(other.getTrackerSerial())) return false;
+ if (!getTrackerName()
+ .equals(other.getTrackerName())) return false;
+ if (getTrackerRole()
+ != other.getTrackerRole()) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + TRACKER_ID_FIELD_NUMBER;
+ hash = (53 * hash) + getTrackerId();
+ hash = (37 * hash) + TRACKER_SERIAL_FIELD_NUMBER;
+ hash = (53 * hash) + getTrackerSerial().hashCode();
+ hash = (37 * hash) + TRACKER_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getTrackerName().hashCode();
+ hash = (37 * hash) + TRACKER_ROLE_FIELD_NUMBER;
+ hash = (53 * hash) + getTrackerRole();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded 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 dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded 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 dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.TrackerAdded prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ 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 messages.TrackerAdded}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder implements
+ // @@protoc_insertion_point(builder_implements:messages.TrackerAdded)
+ dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded.class, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder.class);
+ }
+
+ // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerAdded.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ trackerId_ = 0;
+
+ trackerSerial_ = "";
+
+ trackerName_ = "";
+
+ trackerRole_ = 0;
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerAdded_descriptor;
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstanceForType() {
+ return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded build() {
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded buildPartial() {
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded result = new dev.slimevr.bridge.ProtobufMessages.TrackerAdded(this);
+ result.trackerId_ = trackerId_;
+ result.trackerSerial_ = trackerSerial_;
+ result.trackerName_ = trackerName_;
+ result.trackerRole_ = trackerRole_;
+ onBuilt();
+ return result;
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
+ }
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof dev.slimevr.bridge.ProtobufMessages.TrackerAdded) {
+ return mergeFrom((dev.slimevr.bridge.ProtobufMessages.TrackerAdded)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.TrackerAdded other) {
+ if (other == dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance()) return this;
+ if (other.getTrackerId() != 0) {
+ setTrackerId(other.getTrackerId());
+ }
+ if (!other.getTrackerSerial().isEmpty()) {
+ trackerSerial_ = other.trackerSerial_;
+ onChanged();
+ }
+ if (!other.getTrackerName().isEmpty()) {
+ trackerName_ = other.trackerName_;
+ onChanged();
+ }
+ if (other.getTrackerRole() != 0) {
+ setTrackerRole(other.getTrackerRole());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private int trackerId_ ;
+ /**
+ * int32 tracker_id = 1;
+ * @return The trackerId.
+ */
+ @java.lang.Override
+ public int getTrackerId() {
+ return trackerId_;
+ }
+ /**
+ * int32 tracker_id = 1;
+ * @param value The trackerId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTrackerId(int value) {
+
+ trackerId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * int32 tracker_id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearTrackerId() {
+
+ trackerId_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object trackerSerial_ = "";
+ /**
+ * string tracker_serial = 2;
+ * @return The trackerSerial.
+ */
+ @Override
+ public java.lang.String getTrackerSerial() {
+ java.lang.Object ref = trackerSerial_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ trackerSerial_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * string tracker_serial = 2;
+ * @return The bytes for trackerSerial.
+ */
+ @Override
+ public com.google.protobuf.ByteString
+ getTrackerSerialBytes() {
+ java.lang.Object ref = trackerSerial_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ trackerSerial_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * string tracker_serial = 2;
+ * @param value The trackerSerial to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTrackerSerial(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ trackerSerial_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * string tracker_serial = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearTrackerSerial() {
+
+ trackerSerial_ = getDefaultInstance().getTrackerSerial();
+ onChanged();
+ return this;
+ }
+ /**
+ * string tracker_serial = 2;
+ * @param value The bytes for trackerSerial to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTrackerSerialBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ trackerSerial_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object trackerName_ = "";
+ /**
+ * string tracker_name = 3;
+ * @return The trackerName.
+ */
+ @Override
+ public java.lang.String getTrackerName() {
+ java.lang.Object ref = trackerName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ trackerName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * string tracker_name = 3;
+ * @return The bytes for trackerName.
+ */
+ @Override
+ public com.google.protobuf.ByteString
+ getTrackerNameBytes() {
+ java.lang.Object ref = trackerName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ trackerName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * string tracker_name = 3;
+ * @param value The trackerName to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTrackerName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ trackerName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * string tracker_name = 3;
+ * @return This builder for chaining.
+ */
+ public Builder clearTrackerName() {
+
+ trackerName_ = getDefaultInstance().getTrackerName();
+ onChanged();
+ return this;
+ }
+ /**
+ * string tracker_name = 3;
+ * @param value The bytes for trackerName to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTrackerNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ trackerName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int trackerRole_ ;
+ /**
+ * int32 tracker_role = 4;
+ * @return The trackerRole.
+ */
+ @java.lang.Override
+ public int getTrackerRole() {
+ return trackerRole_;
+ }
+ /**
+ * int32 tracker_role = 4;
+ * @param value The trackerRole to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTrackerRole(int value) {
+
+ trackerRole_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * int32 tracker_role = 4;
+ * @return This builder for chaining.
+ */
+ public Builder clearTrackerRole() {
+
+ trackerRole_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:messages.TrackerAdded)
+ }
+
+ // @@protoc_insertion_point(class_scope:messages.TrackerAdded)
+ private static final dev.slimevr.bridge.ProtobufMessages.TrackerAdded DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerAdded();
+ }
+
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public TrackerAdded parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TrackerAdded(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface TrackerStatusOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:messages.TrackerStatus)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * int32 tracker_id = 1;
+ * @return The trackerId.
+ */
+ int getTrackerId();
+
+ /**
+ * .messages.TrackerStatus.Status status = 2;
+ * @return The enum numeric value on the wire for status.
+ */
+ int getStatusValue();
+ /**
+ * .messages.TrackerStatus.Status status = 2;
+ * @return The status.
+ */
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus();
+
+ /**
+ * map<string, string> extra = 3;
+ */
+ int getExtraCount();
+ /**
+ * map<string, string> extra = 3;
+ */
+ boolean containsExtra(
+ java.lang.String key);
+ /**
+ * Use {@link #getExtraMap()} instead.
+ */
+ @java.lang.Deprecated
+ java.util.Map
+ getExtra();
+ /**
+ * map<string, string> extra = 3;
+ */
+ java.util.Map
+ getExtraMap();
+ /**
+ * map<string, string> extra = 3;
+ */
+
+ java.lang.String getExtraOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue);
+ /**
+ * map<string, string> extra = 3;
+ */
+
+ java.lang.String getExtraOrThrow(
+ java.lang.String key);
+
+ /**
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return Whether the confidence field is set.
+ */
+ boolean hasConfidence();
+ /**
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return The enum numeric value on the wire for confidence.
+ */
+ int getConfidenceValue();
+ /**
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return The confidence.
+ */
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence();
+ }
+ /**
+ * Protobuf type {@code messages.TrackerStatus}
+ */
+ public static final class TrackerStatus extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:messages.TrackerStatus)
+ TrackerStatusOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use TrackerStatus.newBuilder() to construct.
+ private TrackerStatus(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+ private TrackerStatus() {
+ status_ = 0;
+ confidence_ = 0;
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new TrackerStatus();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TrackerStatus(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ 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;
+ case 8: {
+
+ trackerId_ = input.readInt32();
+ break;
+ }
+ case 16: {
+ int rawValue = input.readEnum();
+
+ status_ = rawValue;
+ break;
+ }
+ case 26: {
+ if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+ extra_ = com.google.protobuf.MapField.newMapField(
+ ExtraDefaultEntryHolder.defaultEntry);
+ mutable_bitField0_ |= 0x00000001;
+ }
+ com.google.protobuf.MapEntry
+ extra__ = input.readMessage(
+ ExtraDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+ extra_.getMutableMap().put(
+ extra__.getKey(), extra__.getValue());
+ break;
+ }
+ case 32: {
+ int rawValue = input.readEnum();
+ bitField0_ |= 0x00000001;
+ confidence_ = rawValue;
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ 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 dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ @java.lang.Override
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 3:
+ return internalGetExtra();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.class, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder.class);
+ }
+
+ /**
+ * Protobuf enum {@code messages.TrackerStatus.Status}
+ */
+ public enum Status
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * DISCONNECTED = 0;
+ */
+ DISCONNECTED(0),
+ /**
+ * OK = 1;
+ */
+ OK(1),
+ /**
+ * BUSY = 2;
+ */
+ BUSY(2),
+ /**
+ * ERROR = 3;
+ */
+ ERROR(3),
+ /**
+ * OCCLUDED = 4;
+ */
+ OCCLUDED(4),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * DISCONNECTED = 0;
+ */
+ public static final int DISCONNECTED_VALUE = 0;
+ /**
+ * OK = 1;
+ */
+ public static final int OK_VALUE = 1;
+ /**
+ * BUSY = 2;
+ */
+ public static final int BUSY_VALUE = 2;
+ /**
+ * ERROR = 3;
+ */
+ public static final int ERROR_VALUE = 3;
+ /**
+ * OCCLUDED = 4;
+ */
+ public static final int OCCLUDED_VALUE = 4;
+
+
+ @Override
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
/**
- * string name = 1;
- * @return This builder for chaining.
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
*/
- public Builder clearName() {
-
- name_ = getDefaultInstance().getName();
- onChanged();
- return this;
+ @java.lang.Deprecated
+ public static Status valueOf(int value) {
+ return forNumber(value);
}
+
/**
- * string name = 1;
- * @param value The bytes for name to set.
- * @return This builder for chaining.
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
*/
- public Builder setNameBytes(
- com.google.protobuf.ByteString value) {
- if (value == null) {
- throw new NullPointerException();
- }
- checkByteStringIsUtf8(value);
-
- name_ = value;
- onChanged();
- return this;
+ public static Status forNumber(int value) {
+ switch (value) {
+ case 0: return DISCONNECTED;
+ case 1: return OK;
+ case 2: return BUSY;
+ case 3: return ERROR;
+ case 4: return OCCLUDED;
+ default: return null;
+ }
}
- private com.google.protobuf.MapField<
- java.lang.String, java.lang.String> actionArguments_;
- private com.google.protobuf.MapField
- internalGetActionArguments() {
- if (actionArguments_ == null) {
- return com.google.protobuf.MapField.emptyMapField(
- ActionArgumentsDefaultEntryHolder.defaultEntry);
+ public static com.google.protobuf.Internal.EnumLiteMap
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ Status> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap() {
+ @Override
+ public Status findValueByNumber(int number) {
+ return Status.forNumber(number);
+ }
+ };
+
+ @Override
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalStateException(
+ "Can't get the descriptor of an unrecognized enum value.");
}
- return actionArguments_;
+ return getDescriptor().getValues().get(ordinal());
}
- private com.google.protobuf.MapField
- internalGetMutableActionArguments() {
- onChanged();;
- if (actionArguments_ == null) {
- actionArguments_ = com.google.protobuf.MapField.newMapField(
- ActionArgumentsDefaultEntryHolder.defaultEntry);
+ @Override
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final Status[] VALUES = values();
+
+ public static Status valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
}
- if (!actionArguments_.isMutable()) {
- actionArguments_ = actionArguments_.copy();
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
}
- return actionArguments_;
+ return VALUES[desc.getIndex()];
}
- @Override
- public int getActionArgumentsCount() {
- return internalGetActionArguments().getMap().size();
- }
- /**
- * map<string, string> action_arguments = 2;
- */
+ private final int value;
- @java.lang.Override
- public boolean containsActionArguments(
- java.lang.String key) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- return internalGetActionArguments().getMap().containsKey(key);
+ private Status(int value) {
+ this.value = value;
}
+
+ // @@protoc_insertion_point(enum_scope:messages.TrackerStatus.Status)
+ }
+
+ /**
+ * Protobuf enum {@code messages.TrackerStatus.Confidence}
+ */
+ public enum Confidence
+ implements com.google.protobuf.ProtocolMessageEnum {
/**
- * Use {@link #getActionArgumentsMap()} instead.
+ * NO = 0;
*/
- @java.lang.Override
- @java.lang.Deprecated
- public java.util.Map getActionArguments() {
- return getActionArgumentsMap();
- }
+ NO(0),
/**
- * map<string, string> action_arguments = 2;
+ * LOW = 1;
*/
- @java.lang.Override
-
- public java.util.Map getActionArgumentsMap() {
- return internalGetActionArguments().getMap();
- }
+ LOW(1),
/**
- * map<string, string> action_arguments = 2;
+ * MEDIUM = 5;
*/
- @java.lang.Override
-
- public java.lang.String getActionArgumentsOrDefault(
- java.lang.String key,
- java.lang.String defaultValue) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- java.util.Map map =
- internalGetActionArguments().getMap();
- return map.containsKey(key) ? map.get(key) : defaultValue;
- }
+ MEDIUM(5),
/**
- * map<string, string> action_arguments = 2;
+ * HIGH = 10;
*/
- @java.lang.Override
-
- public java.lang.String getActionArgumentsOrThrow(
- java.lang.String key) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- java.util.Map map =
- internalGetActionArguments().getMap();
- if (!map.containsKey(key)) {
- throw new java.lang.IllegalArgumentException();
- }
- return map.get(key);
- }
+ HIGH(10),
+ UNRECOGNIZED(-1),
+ ;
- public Builder clearActionArguments() {
- internalGetMutableActionArguments().getMutableMap()
- .clear();
- return this;
- }
/**
- * map<string, string> action_arguments = 2;
+ * NO = 0;
*/
-
- public Builder removeActionArguments(
- java.lang.String key) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- internalGetMutableActionArguments().getMutableMap()
- .remove(key);
- return this;
- }
+ public static final int NO_VALUE = 0;
/**
- * Use alternate mutation accessors instead.
+ * LOW = 1;
*/
- @java.lang.Deprecated
- public java.util.Map
- getMutableActionArguments() {
- return internalGetMutableActionArguments().getMutableMap();
- }
+ public static final int LOW_VALUE = 1;
/**
- * map<string, string> action_arguments = 2;
+ * MEDIUM = 5;
*/
- public Builder putActionArguments(
- java.lang.String key,
- java.lang.String value) {
- if (key == null) { throw new java.lang.NullPointerException(); }
- if (value == null) { throw new java.lang.NullPointerException(); }
- internalGetMutableActionArguments().getMutableMap()
- .put(key, value);
- return this;
- }
+ public static final int MEDIUM_VALUE = 5;
/**
- * map<string, string> action_arguments = 2;
+ * HIGH = 10;
*/
+ public static final int HIGH_VALUE = 10;
- public Builder putAllActionArguments(
- java.util.Map values) {
- internalGetMutableActionArguments().getMutableMap()
- .putAll(values);
- return this;
+
+ @Override
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
}
- @java.lang.Override
- public final Builder setUnknownFields(
- final com.google.protobuf.UnknownFieldSet unknownFields) {
- return super.setUnknownFields(unknownFields);
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static Confidence valueOf(int value) {
+ return forNumber(value);
}
- @java.lang.Override
- public final Builder mergeUnknownFields(
- final com.google.protobuf.UnknownFieldSet unknownFields) {
- return super.mergeUnknownFields(unknownFields);
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static Confidence forNumber(int value) {
+ switch (value) {
+ case 0: return NO;
+ case 1: return LOW;
+ case 5: return MEDIUM;
+ case 10: return HIGH;
+ default: return null;
+ }
}
+ public static com.google.protobuf.Internal.EnumLiteMap
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ Confidence> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap() {
+ @Override
+ public Confidence findValueByNumber(int number) {
+ return Confidence.forNumber(number);
+ }
+ };
- // @@protoc_insertion_point(builder_scope:dev.slimevr.bridge.UserAction)
- }
-
- // @@protoc_insertion_point(class_scope:dev.slimevr.bridge.UserAction)
- private static final dev.slimevr.bridge.ProtobufMessages.UserAction DEFAULT_INSTANCE;
- static {
- DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.UserAction();
- }
+ @Override
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalStateException(
+ "Can't get the descriptor of an unrecognized enum value.");
+ }
+ return getDescriptor().getValues().get(ordinal());
+ }
+ @Override
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(1);
+ }
- public static dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstance() {
- return DEFAULT_INSTANCE;
- }
+ private static final Confidence[] VALUES = values();
- private static final com.google.protobuf.Parser
- PARSER = new com.google.protobuf.AbstractParser() {
- @java.lang.Override
- public UserAction parsePartialFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- return new UserAction(input, extensionRegistry);
+ public static Confidence valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
}
- };
- public static com.google.protobuf.Parser parser() {
- return PARSER;
- }
+ private final int value;
- @java.lang.Override
- public com.google.protobuf.Parser getParserForType() {
- return PARSER;
- }
+ private Confidence(int value) {
+ this.value = value;
+ }
- @java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.UserAction getDefaultInstanceForType() {
- return DEFAULT_INSTANCE;
+ // @@protoc_insertion_point(enum_scope:messages.TrackerStatus.Confidence)
}
- }
-
- public interface TrackerAddedOrBuilder extends
- // @@protoc_insertion_point(interface_extends:dev.slimevr.bridge.TrackerAdded)
- com.google.protobuf.MessageOrBuilder {
-
+ private int bitField0_;
+ public static final int TRACKER_ID_FIELD_NUMBER = 1;
+ private int trackerId_;
/**
* int32 tracker_id = 1;
* @return The trackerId.
*/
- int getTrackerId();
-
- /**
- * string tracker_name = 2;
- * @return The trackerName.
- */
- java.lang.String getTrackerName();
- /**
- * string tracker_name = 2;
- * @return The bytes for trackerName.
- */
- com.google.protobuf.ByteString
- getTrackerNameBytes();
+ @java.lang.Override
+ public int getTrackerId() {
+ return trackerId_;
+ }
+ public static final int STATUS_FIELD_NUMBER = 2;
+ private int status_;
/**
- * string location = 3;
- * @return The location.
+ * .messages.TrackerStatus.Status status = 2;
+ * @return The enum numeric value on the wire for status.
*/
- java.lang.String getLocation();
+ @java.lang.Override public int getStatusValue() {
+ return status_;
+ }
/**
- * string location = 3;
- * @return The bytes for location.
+ * .messages.TrackerStatus.Status status = 2;
+ * @return The status.
*/
- com.google.protobuf.ByteString
- getLocationBytes();
- }
- /**
- * Protobuf type {@code dev.slimevr.bridge.TrackerAdded}
- */
- public static final class TrackerAdded extends
- com.google.protobuf.GeneratedMessageV3 implements
- // @@protoc_insertion_point(message_implements:dev.slimevr.bridge.TrackerAdded)
- TrackerAddedOrBuilder {
- private static final long serialVersionUID = 0L;
- // Use TrackerAdded.newBuilder() to construct.
- private TrackerAdded(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
- super(builder);
- }
- private TrackerAdded() {
- trackerName_ = "";
- location_ = "";
- }
-
- @java.lang.Override
- @SuppressWarnings({"unused"})
- protected java.lang.Object newInstance(
- UnusedPrivateParameter unused) {
- return new TrackerAdded();
+ @java.lang.Override public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus() {
+ @SuppressWarnings("deprecation")
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.valueOf(status_);
+ return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.UNRECOGNIZED : result;
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet
- getUnknownFields() {
- return this.unknownFields;
+ public static final int EXTRA_FIELD_NUMBER = 3;
+ private static final class ExtraDefaultEntryHolder {
+ static final com.google.protobuf.MapEntry<
+ java.lang.String, java.lang.String> defaultEntry =
+ com.google.protobuf.MapEntry
+ .newDefaultInstance(
+ dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_ExtraEntry_descriptor,
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "",
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "");
}
- private TrackerAdded(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws com.google.protobuf.InvalidProtocolBufferException {
- this();
- if (extensionRegistry == null) {
- throw new java.lang.NullPointerException();
- }
- 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;
- case 8: {
-
- trackerId_ = input.readInt32();
- break;
- }
- case 18: {
- java.lang.String s = input.readStringRequireUtf8();
-
- trackerName_ = s;
- break;
- }
- case 26: {
- java.lang.String s = input.readStringRequireUtf8();
-
- location_ = s;
- break;
- }
- default: {
- if (!parseUnknownField(
- 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();
+ private com.google.protobuf.MapField<
+ java.lang.String, java.lang.String> extra_;
+ private com.google.protobuf.MapField
+ internalGetExtra() {
+ if (extra_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ ExtraDefaultEntryHolder.defaultEntry);
}
+ return extra_;
}
- public static final com.google.protobuf.Descriptors.Descriptor
- getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerAdded_descriptor;
+
+ @Override
+ public int getExtraCount() {
+ return internalGetExtra().getMap().size();
}
+ /**
+ * map<string, string> extra = 3;
+ */
@java.lang.Override
- protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerAdded_fieldAccessorTable
- .ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.TrackerAdded.class, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder.class);
+ public boolean containsExtra(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetExtra().getMap().containsKey(key);
}
-
- public static final int TRACKER_ID_FIELD_NUMBER = 1;
- private int trackerId_;
/**
- * int32 tracker_id = 1;
- * @return The trackerId.
+ * Use {@link #getExtraMap()} instead.
*/
@java.lang.Override
- public int getTrackerId() {
- return trackerId_;
+ @java.lang.Deprecated
+ public java.util.Map getExtra() {
+ return getExtraMap();
}
+ /**
+ * map<string, string> extra = 3;
+ */
+ @java.lang.Override
- public static final int TRACKER_NAME_FIELD_NUMBER = 2;
- private volatile java.lang.Object trackerName_;
+ public java.util.Map getExtraMap() {
+ return internalGetExtra().getMap();
+ }
/**
- * string tracker_name = 2;
- * @return The trackerName.
+ * map<string, string> extra = 3;
*/
@java.lang.Override
- public java.lang.String getTrackerName() {
- java.lang.Object ref = trackerName_;
- 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();
- trackerName_ = s;
- return s;
- }
+
+ public java.lang.String getExtraOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetExtra().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
}
/**
- * string tracker_name = 2;
- * @return The bytes for trackerName.
+ * map<string, string> extra = 3;
*/
@java.lang.Override
- public com.google.protobuf.ByteString
- getTrackerNameBytes() {
- java.lang.Object ref = trackerName_;
- if (ref instanceof java.lang.String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- trackerName_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
+
+ public java.lang.String getExtraOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetExtra().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
}
+ return map.get(key);
}
- public static final int LOCATION_FIELD_NUMBER = 3;
- private volatile java.lang.Object location_;
+ public static final int CONFIDENCE_FIELD_NUMBER = 4;
+ private int confidence_;
/**
- * string location = 3;
- * @return The location.
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return Whether the confidence field is set.
*/
- @java.lang.Override
- public java.lang.String getLocation() {
- java.lang.Object ref = location_;
- 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();
- location_ = s;
- return s;
- }
+ @java.lang.Override public boolean hasConfidence() {
+ return ((bitField0_ & 0x00000001) != 0);
}
/**
- * string location = 3;
- * @return The bytes for location.
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return The enum numeric value on the wire for confidence.
*/
- @java.lang.Override
- public com.google.protobuf.ByteString
- getLocationBytes() {
- java.lang.Object ref = location_;
- if (ref instanceof java.lang.String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- location_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
+ @java.lang.Override public int getConfidenceValue() {
+ return confidence_;
+ }
+ /**
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return The confidence.
+ */
+ @java.lang.Override public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence() {
+ @SuppressWarnings("deprecation")
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.valueOf(confidence_);
+ return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.UNRECOGNIZED : result;
}
private byte memoizedIsInitialized = -1;
@@ -2404,11 +4155,17 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
if (trackerId_ != 0) {
output.writeInt32(1, trackerId_);
}
- if (!getTrackerNameBytes().isEmpty()) {
- com.google.protobuf.GeneratedMessageV3.writeString(output, 2, trackerName_);
+ if (status_ != dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.DISCONNECTED.getNumber()) {
+ output.writeEnum(2, status_);
}
- if (!getLocationBytes().isEmpty()) {
- com.google.protobuf.GeneratedMessageV3.writeString(output, 3, location_);
+ com.google.protobuf.GeneratedMessageV3
+ .serializeStringMapTo(
+ output,
+ internalGetExtra(),
+ ExtraDefaultEntryHolder.defaultEntry,
+ 3);
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeEnum(4, confidence_);
}
unknownFields.writeTo(output);
}
@@ -2423,11 +4180,23 @@ public int getSerializedSize() {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(1, trackerId_);
}
- if (!getTrackerNameBytes().isEmpty()) {
- size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, trackerName_);
+ if (status_ != dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.DISCONNECTED.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(2, status_);
+ }
+ for (java.util.Map.Entry entry
+ : internalGetExtra().getMap().entrySet()) {
+ com.google.protobuf.MapEntry
+ extra__ = ExtraDefaultEntryHolder.defaultEntry.newBuilderForType()
+ .setKey(entry.getKey())
+ .setValue(entry.getValue())
+ .build();
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, extra__);
}
- if (!getLocationBytes().isEmpty()) {
- size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, location_);
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(4, confidence_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
@@ -2439,17 +4208,20 @@ public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
- if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.TrackerAdded)) {
+ if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.TrackerStatus)) {
return super.equals(obj);
}
- dev.slimevr.bridge.ProtobufMessages.TrackerAdded other = (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) obj;
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus other = (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) obj;
if (getTrackerId()
!= other.getTrackerId()) return false;
- if (!getTrackerName()
- .equals(other.getTrackerName())) return false;
- if (!getLocation()
- .equals(other.getLocation())) return false;
+ if (status_ != other.status_) return false;
+ if (!internalGetExtra().equals(
+ other.internalGetExtra())) return false;
+ if (hasConfidence() != other.hasConfidence()) return false;
+ if (hasConfidence()) {
+ if (confidence_ != other.confidence_) return false;
+ }
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -2463,78 +4235,84 @@ public int hashCode() {
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + TRACKER_ID_FIELD_NUMBER;
hash = (53 * hash) + getTrackerId();
- hash = (37 * hash) + TRACKER_NAME_FIELD_NUMBER;
- hash = (53 * hash) + getTrackerName().hashCode();
- hash = (37 * hash) + LOCATION_FIELD_NUMBER;
- hash = (53 * hash) + getLocation().hashCode();
+ hash = (37 * hash) + STATUS_FIELD_NUMBER;
+ hash = (53 * hash) + status_;
+ if (!internalGetExtra().getMap().isEmpty()) {
+ hash = (37 * hash) + EXTRA_FIELD_NUMBER;
+ hash = (53 * hash) + internalGetExtra().hashCode();
+ }
+ if (hasConfidence()) {
+ hash = (37 * hash) + CONFIDENCE_FIELD_NUMBER;
+ hash = (53 * hash) + confidence_;
+ }
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(byte[] data)
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(java.io.InputStream input)
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus 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 dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseDelimitedFrom(java.io.InputStream input)
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseDelimitedFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus 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 dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
@@ -2547,7 +4325,7 @@ public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded parseFrom(
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
- public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.TrackerAdded prototype) {
+ public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.TrackerStatus prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
@@ -2563,26 +4341,50 @@ protected Builder newBuilderForType(
return builder;
}
/**
- * Protobuf type {@code dev.slimevr.bridge.TrackerAdded}
+ * Protobuf type {@code messages.TrackerStatus}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
- // @@protoc_insertion_point(builder_implements:dev.slimevr.bridge.TrackerAdded)
- dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder {
+ // @@protoc_insertion_point(builder_implements:messages.TrackerStatus)
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerAdded_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_descriptor;
}
+ @Override
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 3:
+ return internalGetExtra();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @Override
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMutableMapField(
+ int number) {
+ switch (number) {
+ case 3:
+ return internalGetMutableExtra();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerAdded_fieldAccessorTable
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_fieldAccessorTable
.ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.TrackerAdded.class, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder.class);
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.class, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder.class);
}
- // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerAdded.newBuilder()
+ // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerStatus.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
@@ -2602,27 +4404,28 @@ public Builder clear() {
super.clear();
trackerId_ = 0;
- trackerName_ = "";
-
- location_ = "";
+ status_ = 0;
+ internalGetMutableExtra().clear();
+ confidence_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerAdded_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_TrackerStatus_descriptor;
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstanceForType() {
- return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstanceForType() {
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerAdded build() {
- dev.slimevr.bridge.ProtobufMessages.TrackerAdded result = buildPartial();
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus build() {
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
@@ -2630,11 +4433,19 @@ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded build() {
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerAdded buildPartial() {
- dev.slimevr.bridge.ProtobufMessages.TrackerAdded result = new dev.slimevr.bridge.ProtobufMessages.TrackerAdded(this);
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus buildPartial() {
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus result = new dev.slimevr.bridge.ProtobufMessages.TrackerStatus(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
result.trackerId_ = trackerId_;
- result.trackerName_ = trackerName_;
- result.location_ = location_;
+ result.status_ = status_;
+ result.extra_ = internalGetExtra();
+ result.extra_.makeImmutable();
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.confidence_ = confidence_;
+ result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
@@ -2673,26 +4484,26 @@ public Builder addRepeatedField(
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof dev.slimevr.bridge.ProtobufMessages.TrackerAdded) {
- return mergeFrom((dev.slimevr.bridge.ProtobufMessages.TrackerAdded)other);
+ if (other instanceof dev.slimevr.bridge.ProtobufMessages.TrackerStatus) {
+ return mergeFrom((dev.slimevr.bridge.ProtobufMessages.TrackerStatus)other);
} else {
super.mergeFrom(other);
return this;
}
}
- public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.TrackerAdded other) {
- if (other == dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance()) return this;
+ public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.TrackerStatus other) {
+ if (other == dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance()) return this;
if (other.getTrackerId() != 0) {
setTrackerId(other.getTrackerId());
}
- if (!other.getTrackerName().isEmpty()) {
- trackerName_ = other.trackerName_;
- onChanged();
+ if (other.status_ != 0) {
+ setStatusValue(other.getStatusValue());
}
- if (!other.getLocation().isEmpty()) {
- location_ = other.location_;
- onChanged();
+ internalGetMutableExtra().mergeFrom(
+ other.internalGetExtra());
+ if (other.hasConfidence()) {
+ setConfidence(other.getConfidence());
}
this.mergeUnknownFields(other.unknownFields);
onChanged();
@@ -2709,203 +4520,292 @@ public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
- dev.slimevr.bridge.ProtobufMessages.TrackerAdded parsedMessage = null;
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) e.getUnfinishedMessage();
+ parsedMessage = (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) e.getUnfinishedMessage();
throw e.unwrapIOException();
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
- return this;
+ return this;
+ }
+ private int bitField0_;
+
+ private int trackerId_ ;
+ /**
+ * int32 tracker_id = 1;
+ * @return The trackerId.
+ */
+ @java.lang.Override
+ public int getTrackerId() {
+ return trackerId_;
+ }
+ /**
+ * int32 tracker_id = 1;
+ * @param value The trackerId to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTrackerId(int value) {
+
+ trackerId_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * int32 tracker_id = 1;
+ * @return This builder for chaining.
+ */
+ public Builder clearTrackerId() {
+
+ trackerId_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int status_ = 0;
+ /**
+ * .messages.TrackerStatus.Status status = 2;
+ * @return The enum numeric value on the wire for status.
+ */
+ @java.lang.Override public int getStatusValue() {
+ return status_;
+ }
+ /**
+ * .messages.TrackerStatus.Status status = 2;
+ * @param value The enum numeric value on the wire for status to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStatusValue(int value) {
+
+ status_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * .messages.TrackerStatus.Status status = 2;
+ * @return The status.
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus() {
+ @SuppressWarnings("deprecation")
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.valueOf(status_);
+ return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.UNRECOGNIZED : result;
+ }
+ /**
+ * .messages.TrackerStatus.Status status = 2;
+ * @param value The status to set.
+ * @return This builder for chaining.
+ */
+ public Builder setStatus(dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ status_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * .messages.TrackerStatus.Status status = 2;
+ * @return This builder for chaining.
+ */
+ public Builder clearStatus() {
+
+ status_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.MapField<
+ java.lang.String, java.lang.String> extra_;
+ private com.google.protobuf.MapField
+ internalGetExtra() {
+ if (extra_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ ExtraDefaultEntryHolder.defaultEntry);
+ }
+ return extra_;
+ }
+ private com.google.protobuf.MapField
+ internalGetMutableExtra() {
+ onChanged();;
+ if (extra_ == null) {
+ extra_ = com.google.protobuf.MapField.newMapField(
+ ExtraDefaultEntryHolder.defaultEntry);
+ }
+ if (!extra_.isMutable()) {
+ extra_ = extra_.copy();
+ }
+ return extra_;
}
- private int trackerId_ ;
+ @Override
+ public int getExtraCount() {
+ return internalGetExtra().getMap().size();
+ }
/**
- * int32 tracker_id = 1;
- * @return The trackerId.
+ * map<string, string> extra = 3;
*/
+
@java.lang.Override
- public int getTrackerId() {
- return trackerId_;
+ public boolean containsExtra(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetExtra().getMap().containsKey(key);
}
/**
- * int32 tracker_id = 1;
- * @param value The trackerId to set.
- * @return This builder for chaining.
+ * Use {@link #getExtraMap()} instead.
*/
- public Builder setTrackerId(int value) {
-
- trackerId_ = value;
- onChanged();
- return this;
+ @java.lang.Override
+ @java.lang.Deprecated
+ public java.util.Map getExtra() {
+ return getExtraMap();
}
/**
- * int32 tracker_id = 1;
- * @return This builder for chaining.
+ * map<string, string> extra = 3;
*/
- public Builder clearTrackerId() {
-
- trackerId_ = 0;
- onChanged();
- return this;
- }
+ @java.lang.Override
- private java.lang.Object trackerName_ = "";
+ public java.util.Map getExtraMap() {
+ return internalGetExtra().getMap();
+ }
/**
- * string tracker_name = 2;
- * @return The trackerName.
+ * map<string, string> extra = 3;
*/
- @Override
- public java.lang.String getTrackerName() {
- java.lang.Object ref = trackerName_;
- if (!(ref instanceof java.lang.String)) {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- trackerName_ = s;
- return s;
- } else {
- return (java.lang.String) ref;
- }
+ @java.lang.Override
+
+ public java.lang.String getExtraOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetExtra().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
}
/**
- * string tracker_name = 2;
- * @return The bytes for trackerName.
+ * map<string, string> extra = 3;
*/
- @Override
- public com.google.protobuf.ByteString
- getTrackerNameBytes() {
- java.lang.Object ref = trackerName_;
- if (ref instanceof String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- trackerName_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
+ @java.lang.Override
+
+ public java.lang.String getExtraOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map map =
+ internalGetExtra().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
}
+ return map.get(key);
+ }
+
+ public Builder clearExtra() {
+ internalGetMutableExtra().getMutableMap()
+ .clear();
+ return this;
}
/**
- * string tracker_name = 2;
- * @param value The trackerName to set.
- * @return This builder for chaining.
+ * map<string, string> extra = 3;
*/
- public Builder setTrackerName(
- java.lang.String value) {
- if (value == null) {
- throw new NullPointerException();
- }
-
- trackerName_ = value;
- onChanged();
+
+ public Builder removeExtra(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableExtra().getMutableMap()
+ .remove(key);
return this;
}
/**
- * string tracker_name = 2;
- * @return This builder for chaining.
+ * Use alternate mutation accessors instead.
*/
- public Builder clearTrackerName() {
-
- trackerName_ = getDefaultInstance().getTrackerName();
- onChanged();
+ @java.lang.Deprecated
+ public java.util.Map
+ getMutableExtra() {
+ return internalGetMutableExtra().getMutableMap();
+ }
+ /**
+ * map<string, string> extra = 3;
+ */
+ public Builder putExtra(
+ java.lang.String key,
+ java.lang.String value) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ if (value == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableExtra().getMutableMap()
+ .put(key, value);
return this;
}
/**
- * string tracker_name = 2;
- * @param value The bytes for trackerName to set.
- * @return This builder for chaining.
+ * map<string, string> extra = 3;
*/
- public Builder setTrackerNameBytes(
- com.google.protobuf.ByteString value) {
- if (value == null) {
- throw new NullPointerException();
- }
- checkByteStringIsUtf8(value);
-
- trackerName_ = value;
- onChanged();
+
+ public Builder putAllExtra(
+ java.util.Map values) {
+ internalGetMutableExtra().getMutableMap()
+ .putAll(values);
return this;
}
- private java.lang.Object location_ = "";
+ private int confidence_ = 0;
/**
- * string location = 3;
- * @return The location.
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return Whether the confidence field is set.
*/
- @Override
- public java.lang.String getLocation() {
- java.lang.Object ref = location_;
- if (!(ref instanceof java.lang.String)) {
- com.google.protobuf.ByteString bs =
- (com.google.protobuf.ByteString) ref;
- java.lang.String s = bs.toStringUtf8();
- location_ = s;
- return s;
- } else {
- return (java.lang.String) ref;
- }
+ @java.lang.Override public boolean hasConfidence() {
+ return ((bitField0_ & 0x00000002) != 0);
}
/**
- * string location = 3;
- * @return The bytes for location.
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return The enum numeric value on the wire for confidence.
*/
- @Override
- public com.google.protobuf.ByteString
- getLocationBytes() {
- java.lang.Object ref = location_;
- if (ref instanceof String) {
- com.google.protobuf.ByteString b =
- com.google.protobuf.ByteString.copyFromUtf8(
- (java.lang.String) ref);
- location_ = b;
- return b;
- } else {
- return (com.google.protobuf.ByteString) ref;
- }
+ @java.lang.Override public int getConfidenceValue() {
+ return confidence_;
}
/**
- * string location = 3;
- * @param value The location to set.
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @param value The enum numeric value on the wire for confidence to set.
* @return This builder for chaining.
*/
- public Builder setLocation(
- java.lang.String value) {
- if (value == null) {
- throw new NullPointerException();
- }
-
- location_ = value;
+ public Builder setConfidenceValue(int value) {
+ bitField0_ |= 0x00000002;
+ confidence_ = value;
onChanged();
return this;
}
/**
- * string location = 3;
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @return The confidence.
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence() {
+ @SuppressWarnings("deprecation")
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.valueOf(confidence_);
+ return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.UNRECOGNIZED : result;
+ }
+ /**
+ * .messages.TrackerStatus.Confidence confidence = 4;
+ * @param value The confidence to set.
* @return This builder for chaining.
*/
- public Builder clearLocation() {
-
- location_ = getDefaultInstance().getLocation();
+ public Builder setConfidence(dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000002;
+ confidence_ = value.getNumber();
onChanged();
return this;
}
/**
- * string location = 3;
- * @param value The bytes for location to set.
+ * .messages.TrackerStatus.Confidence confidence = 4;
* @return This builder for chaining.
*/
- public Builder setLocationBytes(
- com.google.protobuf.ByteString value) {
- if (value == null) {
- throw new NullPointerException();
- }
- checkByteStringIsUtf8(value);
-
- location_ = value;
+ public Builder clearConfidence() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ confidence_ = 0;
onChanged();
return this;
}
@@ -2922,105 +4822,132 @@ public final Builder mergeUnknownFields(
}
- // @@protoc_insertion_point(builder_scope:dev.slimevr.bridge.TrackerAdded)
+ // @@protoc_insertion_point(builder_scope:messages.TrackerStatus)
}
- // @@protoc_insertion_point(class_scope:dev.slimevr.bridge.TrackerAdded)
- private static final dev.slimevr.bridge.ProtobufMessages.TrackerAdded DEFAULT_INSTANCE;
+ // @@protoc_insertion_point(class_scope:messages.TrackerStatus)
+ private static final dev.slimevr.bridge.ProtobufMessages.TrackerStatus DEFAULT_INSTANCE;
static {
- DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerAdded();
+ DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerStatus();
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstance() {
+ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstance() {
return DEFAULT_INSTANCE;
}
- private static final com.google.protobuf.Parser
- PARSER = new com.google.protobuf.AbstractParser() {
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
- public TrackerAdded parsePartialFrom(
+ public TrackerStatus parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
- return new TrackerAdded(input, extensionRegistry);
+ return new TrackerStatus(input, extensionRegistry);
}
};
- public static com.google.protobuf.Parser parser() {
+ public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
- public com.google.protobuf.Parser getParserForType() {
+ public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getDefaultInstanceForType() {
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
- public interface TrackerStatusOrBuilder extends
- // @@protoc_insertion_point(interface_extends:dev.slimevr.bridge.TrackerStatus)
+ public interface ProtobufMessageOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:messages.ProtobufMessage)
com.google.protobuf.MessageOrBuilder {
/**
- * int32 tracker_id = 1;
- * @return The trackerId.
+ * .messages.Position position = 1;
+ * @return Whether the position field is set.
*/
- int getTrackerId();
+ boolean hasPosition();
+ /**
+ * .messages.Position position = 1;
+ * @return The position.
+ */
+ dev.slimevr.bridge.ProtobufMessages.Position getPosition();
+ /**
+ * .messages.Position position = 1;
+ */
+ dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder getPositionOrBuilder();
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @return The enum numeric value on the wire for status.
+ * .messages.UserAction user_action = 2;
+ * @return Whether the userAction field is set.
*/
- int getStatusValue();
+ boolean hasUserAction();
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @return The status.
+ * .messages.UserAction user_action = 2;
+ * @return The userAction.
*/
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus();
+ dev.slimevr.bridge.ProtobufMessages.UserAction getUserAction();
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder getUserActionOrBuilder();
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return Whether the confidence field is set.
+ * .messages.TrackerAdded tracker_added = 3;
+ * @return Whether the trackerAdded field is set.
*/
- boolean hasConfidence();
+ boolean hasTrackerAdded();
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return The enum numeric value on the wire for confidence.
+ * .messages.TrackerAdded tracker_added = 3;
+ * @return The trackerAdded.
*/
- int getConfidenceValue();
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded getTrackerAdded();
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return The confidence.
+ * .messages.TrackerAdded tracker_added = 3;
*/
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence();
+ dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder getTrackerAddedOrBuilder();
+
+ /**
+ * .messages.TrackerStatus tracker_status = 4;
+ * @return Whether the trackerStatus field is set.
+ */
+ boolean hasTrackerStatus();
+ /**
+ * .messages.TrackerStatus tracker_status = 4;
+ * @return The trackerStatus.
+ */
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus getTrackerStatus();
+ /**
+ * .messages.TrackerStatus tracker_status = 4;
+ */
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder getTrackerStatusOrBuilder();
+
+ public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.MessageCase getMessageCase();
}
/**
- * Protobuf type {@code dev.slimevr.bridge.TrackerStatus}
+ * Protobuf type {@code messages.ProtobufMessage}
*/
- public static final class TrackerStatus extends
+ public static final class ProtobufMessage extends
com.google.protobuf.GeneratedMessageV3 implements
- // @@protoc_insertion_point(message_implements:dev.slimevr.bridge.TrackerStatus)
- TrackerStatusOrBuilder {
+ // @@protoc_insertion_point(message_implements:messages.ProtobufMessage)
+ ProtobufMessageOrBuilder {
private static final long serialVersionUID = 0L;
- // Use TrackerStatus.newBuilder() to construct.
- private TrackerStatus(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ // Use ProtobufMessage.newBuilder() to construct.
+ private ProtobufMessage(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
- private TrackerStatus() {
- status_ = 0;
- confidence_ = 0;
+ private ProtobufMessage() {
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
- return new TrackerStatus();
+ return new ProtobufMessage();
}
@java.lang.Override
@@ -3028,7 +4955,7 @@ protected java.lang.Object newInstance(
getUnknownFields() {
return this.unknownFields;
}
- private TrackerStatus(
+ private ProtobufMessage(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
@@ -3036,7 +4963,6 @@ private TrackerStatus(
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
- int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
@@ -3047,21 +4973,60 @@ private TrackerStatus(
case 0:
done = true;
break;
- case 8: {
-
- trackerId_ = input.readInt32();
+ case 10: {
+ dev.slimevr.bridge.ProtobufMessages.Position.Builder subBuilder = null;
+ if (messageCase_ == 1) {
+ subBuilder = ((dev.slimevr.bridge.ProtobufMessages.Position) message_).toBuilder();
+ }
+ message_ =
+ input.readMessage(dev.slimevr.bridge.ProtobufMessages.Position.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((dev.slimevr.bridge.ProtobufMessages.Position) message_);
+ message_ = subBuilder.buildPartial();
+ }
+ messageCase_ = 1;
break;
}
- case 16: {
- int rawValue = input.readEnum();
-
- status_ = rawValue;
+ case 18: {
+ dev.slimevr.bridge.ProtobufMessages.UserAction.Builder subBuilder = null;
+ if (messageCase_ == 2) {
+ subBuilder = ((dev.slimevr.bridge.ProtobufMessages.UserAction) message_).toBuilder();
+ }
+ message_ =
+ input.readMessage(dev.slimevr.bridge.ProtobufMessages.UserAction.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((dev.slimevr.bridge.ProtobufMessages.UserAction) message_);
+ message_ = subBuilder.buildPartial();
+ }
+ messageCase_ = 2;
break;
}
- case 24: {
- int rawValue = input.readEnum();
- bitField0_ |= 0x00000001;
- confidence_ = rawValue;
+ case 26: {
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder subBuilder = null;
+ if (messageCase_ == 3) {
+ subBuilder = ((dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_).toBuilder();
+ }
+ message_ =
+ input.readMessage(dev.slimevr.bridge.ProtobufMessages.TrackerAdded.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_);
+ message_ = subBuilder.buildPartial();
+ }
+ messageCase_ = 3;
+ break;
+ }
+ case 34: {
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder subBuilder = null;
+ if (messageCase_ == 4) {
+ subBuilder = ((dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_).toBuilder();
+ }
+ message_ =
+ input.readMessage(dev.slimevr.bridge.ProtobufMessages.TrackerStatus.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_);
+ message_ = subBuilder.buildPartial();
+ }
+ messageCase_ = 4;
break;
}
default: {
@@ -3085,341 +5050,186 @@ private TrackerStatus(
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerStatus_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_ProtobufMessage_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerStatus_fieldAccessorTable
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_ProtobufMessage_fieldAccessorTable
.ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.class, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder.class);
- }
-
- /**
- * Protobuf enum {@code dev.slimevr.bridge.TrackerStatus.Status}
- */
- public enum Status
- implements com.google.protobuf.ProtocolMessageEnum {
- /**
- * DISCONNECTED = 0;
- */
- DISCONNECTED(0),
- /**
- * OK = 1;
- */
- OK(1),
- /**
- * BUSY = 2;
- */
- BUSY(2),
- /**
- * ERROR = 3;
- */
- ERROR(3),
- /**
- * OCCLUDED = 4;
- */
- OCCLUDED(4),
- UNRECOGNIZED(-1),
- ;
-
- /**
- * DISCONNECTED = 0;
- */
- public static final int DISCONNECTED_VALUE = 0;
- /**
- * OK = 1;
- */
- public static final int OK_VALUE = 1;
- /**
- * BUSY = 2;
- */
- public static final int BUSY_VALUE = 2;
- /**
- * ERROR = 3;
- */
- public static final int ERROR_VALUE = 3;
- /**
- * OCCLUDED = 4;
- */
- public static final int OCCLUDED_VALUE = 4;
-
-
- @Override
- public final int getNumber() {
- if (this == UNRECOGNIZED) {
- throw new java.lang.IllegalArgumentException(
- "Can't get the number of an unknown enum value.");
- }
- return value;
- }
-
- /**
- * @param value The numeric wire value of the corresponding enum entry.
- * @return The enum associated with the given numeric wire value.
- * @deprecated Use {@link #forNumber(int)} instead.
- */
- @java.lang.Deprecated
- public static Status valueOf(int value) {
- return forNumber(value);
- }
-
- /**
- * @param value The numeric wire value of the corresponding enum entry.
- * @return The enum associated with the given numeric wire value.
- */
- public static Status forNumber(int value) {
- switch (value) {
- case 0: return DISCONNECTED;
- case 1: return OK;
- case 2: return BUSY;
- case 3: return ERROR;
- case 4: return OCCLUDED;
- default: return null;
- }
- }
-
- public static com.google.protobuf.Internal.EnumLiteMap
- internalGetValueMap() {
- return internalValueMap;
- }
- private static final com.google.protobuf.Internal.EnumLiteMap<
- Status> internalValueMap =
- new com.google.protobuf.Internal.EnumLiteMap() {
- @Override
- public Status findValueByNumber(int number) {
- return Status.forNumber(number);
- }
- };
-
- @Override
- public final com.google.protobuf.Descriptors.EnumValueDescriptor
- getValueDescriptor() {
- if (this == UNRECOGNIZED) {
- throw new java.lang.IllegalStateException(
- "Can't get the descriptor of an unrecognized enum value.");
- }
- return getDescriptor().getValues().get(ordinal());
- }
- @Override
- public final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptorForType() {
- return getDescriptor();
- }
- public static final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(0);
- }
-
- private static final Status[] VALUES = values();
-
- public static Status valueOf(
- com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
- if (desc.getType() != getDescriptor()) {
- throw new java.lang.IllegalArgumentException(
- "EnumValueDescriptor is not for this type.");
- }
- if (desc.getIndex() == -1) {
- return UNRECOGNIZED;
- }
- return VALUES[desc.getIndex()];
- }
-
+ dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.class, dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.Builder.class);
+ }
+
+ private int messageCase_ = 0;
+ private java.lang.Object message_;
+ public enum MessageCase
+ implements com.google.protobuf.Internal.EnumLite,
+ com.google.protobuf.AbstractMessage.InternalOneOfEnum {
+ POSITION(1),
+ USER_ACTION(2),
+ TRACKER_ADDED(3),
+ TRACKER_STATUS(4),
+ MESSAGE_NOT_SET(0);
private final int value;
-
- private Status(int value) {
+ private MessageCase(int value) {
this.value = value;
}
-
- // @@protoc_insertion_point(enum_scope:dev.slimevr.bridge.TrackerStatus.Status)
- }
-
- /**
- * Protobuf enum {@code dev.slimevr.bridge.TrackerStatus.Confidence}
- */
- public enum Confidence
- implements com.google.protobuf.ProtocolMessageEnum {
- /**
- * NO = 0;
- */
- NO(0),
- /**
- * LOW = 1;
- */
- LOW(1),
- /**
- * MEDIUM = 5;
- */
- MEDIUM(5),
- /**
- * HIGH = 10;
- */
- HIGH(10),
- UNRECOGNIZED(-1),
- ;
-
- /**
- * NO = 0;
- */
- public static final int NO_VALUE = 0;
- /**
- * LOW = 1;
- */
- public static final int LOW_VALUE = 1;
- /**
- * MEDIUM = 5;
- */
- public static final int MEDIUM_VALUE = 5;
- /**
- * HIGH = 10;
- */
- public static final int HIGH_VALUE = 10;
-
-
- @Override
- public final int getNumber() {
- if (this == UNRECOGNIZED) {
- throw new java.lang.IllegalArgumentException(
- "Can't get the number of an unknown enum value.");
- }
- return value;
- }
-
/**
- * @param value The numeric wire value of the corresponding enum entry.
- * @return The enum associated with the given numeric wire value.
+ * @param value The number of the enum to look for.
+ * @return The enum associated with the given number.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
- public static Confidence valueOf(int value) {
+ public static MessageCase valueOf(int value) {
return forNumber(value);
}
- /**
- * @param value The numeric wire value of the corresponding enum entry.
- * @return The enum associated with the given numeric wire value.
- */
- public static Confidence forNumber(int value) {
+ public static MessageCase forNumber(int value) {
switch (value) {
- case 0: return NO;
- case 1: return LOW;
- case 5: return MEDIUM;
- case 10: return HIGH;
+ case 1: return POSITION;
+ case 2: return USER_ACTION;
+ case 3: return TRACKER_ADDED;
+ case 4: return TRACKER_STATUS;
+ case 0: return MESSAGE_NOT_SET;
default: return null;
}
}
-
- public static com.google.protobuf.Internal.EnumLiteMap
- internalGetValueMap() {
- return internalValueMap;
- }
- private static final com.google.protobuf.Internal.EnumLiteMap<
- Confidence> internalValueMap =
- new com.google.protobuf.Internal.EnumLiteMap() {
- @Override
- public Confidence findValueByNumber(int number) {
- return Confidence.forNumber(number);
- }
- };
-
- @Override
- public final com.google.protobuf.Descriptors.EnumValueDescriptor
- getValueDescriptor() {
- if (this == UNRECOGNIZED) {
- throw new java.lang.IllegalStateException(
- "Can't get the descriptor of an unrecognized enum value.");
- }
- return getDescriptor().getValues().get(ordinal());
- }
@Override
- public final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptorForType() {
- return getDescriptor();
- }
- public static final com.google.protobuf.Descriptors.EnumDescriptor
- getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDescriptor().getEnumTypes().get(1);
- }
-
- private static final Confidence[] VALUES = values();
-
- public static Confidence valueOf(
- com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
- if (desc.getType() != getDescriptor()) {
- throw new java.lang.IllegalArgumentException(
- "EnumValueDescriptor is not for this type.");
- }
- if (desc.getIndex() == -1) {
- return UNRECOGNIZED;
- }
- return VALUES[desc.getIndex()];
+ public int getNumber() {
+ return this.value;
}
+ };
- private final int value;
+ @Override
+ public MessageCase
+ getMessageCase() {
+ return MessageCase.forNumber(
+ messageCase_);
+ }
- private Confidence(int value) {
- this.value = value;
+ public static final int POSITION_FIELD_NUMBER = 1;
+ /**
+ * .messages.Position position = 1;
+ * @return Whether the position field is set.
+ */
+ @java.lang.Override
+ public boolean hasPosition() {
+ return messageCase_ == 1;
+ }
+ /**
+ * .messages.Position position = 1;
+ * @return The position.
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.Position getPosition() {
+ if (messageCase_ == 1) {
+ return (dev.slimevr.bridge.ProtobufMessages.Position) message_;
}
-
- // @@protoc_insertion_point(enum_scope:dev.slimevr.bridge.TrackerStatus.Confidence)
+ return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder getPositionOrBuilder() {
+ if (messageCase_ == 1) {
+ return (dev.slimevr.bridge.ProtobufMessages.Position) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
}
- private int bitField0_;
- public static final int TRACKER_ID_FIELD_NUMBER = 1;
- private int trackerId_;
+ public static final int USER_ACTION_FIELD_NUMBER = 2;
/**
- * int32 tracker_id = 1;
- * @return The trackerId.
+ * .messages.UserAction user_action = 2;
+ * @return Whether the userAction field is set.
*/
@java.lang.Override
- public int getTrackerId() {
- return trackerId_;
+ public boolean hasUserAction() {
+ return messageCase_ == 2;
+ }
+ /**
+ * .messages.UserAction user_action = 2;
+ * @return The userAction.
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.UserAction getUserAction() {
+ if (messageCase_ == 2) {
+ return (dev.slimevr.bridge.ProtobufMessages.UserAction) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
+ }
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder getUserActionOrBuilder() {
+ if (messageCase_ == 2) {
+ return (dev.slimevr.bridge.ProtobufMessages.UserAction) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
}
- public static final int STATUS_FIELD_NUMBER = 2;
- private int status_;
+ public static final int TRACKER_ADDED_FIELD_NUMBER = 3;
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @return The enum numeric value on the wire for status.
+ * .messages.TrackerAdded tracker_added = 3;
+ * @return Whether the trackerAdded field is set.
*/
- @java.lang.Override public int getStatusValue() {
- return status_;
+ @java.lang.Override
+ public boolean hasTrackerAdded() {
+ return messageCase_ == 3;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @return The status.
+ * .messages.TrackerAdded tracker_added = 3;
+ * @return The trackerAdded.
*/
- @java.lang.Override public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus() {
- @SuppressWarnings("deprecation")
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.valueOf(status_);
- return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.UNRECOGNIZED : result;
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getTrackerAdded() {
+ if (messageCase_ == 3) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
+ }
+ /**
+ * .messages.TrackerAdded tracker_added = 3;
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder getTrackerAddedOrBuilder() {
+ if (messageCase_ == 3) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
}
- public static final int CONFIDENCE_FIELD_NUMBER = 3;
- private int confidence_;
+ public static final int TRACKER_STATUS_FIELD_NUMBER = 4;
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return Whether the confidence field is set.
+ * .messages.TrackerStatus tracker_status = 4;
+ * @return Whether the trackerStatus field is set.
*/
- @java.lang.Override public boolean hasConfidence() {
- return ((bitField0_ & 0x00000001) != 0);
+ @java.lang.Override
+ public boolean hasTrackerStatus() {
+ return messageCase_ == 4;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return The enum numeric value on the wire for confidence.
+ * .messages.TrackerStatus tracker_status = 4;
+ * @return The trackerStatus.
*/
- @java.lang.Override public int getConfidenceValue() {
- return confidence_;
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getTrackerStatus() {
+ if (messageCase_ == 4) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return The confidence.
+ * .messages.TrackerStatus tracker_status = 4;
*/
- @java.lang.Override public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence() {
- @SuppressWarnings("deprecation")
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.valueOf(confidence_);
- return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.UNRECOGNIZED : result;
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder getTrackerStatusOrBuilder() {
+ if (messageCase_ == 4) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
}
private byte memoizedIsInitialized = -1;
@@ -3436,14 +5246,17 @@ public final boolean isInitialized() {
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
- if (trackerId_ != 0) {
- output.writeInt32(1, trackerId_);
+ if (messageCase_ == 1) {
+ output.writeMessage(1, (dev.slimevr.bridge.ProtobufMessages.Position) message_);
}
- if (status_ != dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.DISCONNECTED.getNumber()) {
- output.writeEnum(2, status_);
+ if (messageCase_ == 2) {
+ output.writeMessage(2, (dev.slimevr.bridge.ProtobufMessages.UserAction) message_);
}
- if (((bitField0_ & 0x00000001) != 0)) {
- output.writeEnum(3, confidence_);
+ if (messageCase_ == 3) {
+ output.writeMessage(3, (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_);
+ }
+ if (messageCase_ == 4) {
+ output.writeMessage(4, (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_);
}
unknownFields.writeTo(output);
}
@@ -3454,17 +5267,21 @@ public int getSerializedSize() {
if (size != -1) return size;
size = 0;
- if (trackerId_ != 0) {
+ if (messageCase_ == 1) {
size += com.google.protobuf.CodedOutputStream
- .computeInt32Size(1, trackerId_);
+ .computeMessageSize(1, (dev.slimevr.bridge.ProtobufMessages.Position) message_);
}
- if (status_ != dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.DISCONNECTED.getNumber()) {
+ if (messageCase_ == 2) {
size += com.google.protobuf.CodedOutputStream
- .computeEnumSize(2, status_);
+ .computeMessageSize(2, (dev.slimevr.bridge.ProtobufMessages.UserAction) message_);
}
- if (((bitField0_ & 0x00000001) != 0)) {
+ if (messageCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_);
+ }
+ if (messageCase_ == 4) {
size += com.google.protobuf.CodedOutputStream
- .computeEnumSize(3, confidence_);
+ .computeMessageSize(4, (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_);
}
size += unknownFields.getSerializedSize();
memoizedSize = size;
@@ -3476,17 +5293,31 @@ public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
- if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.TrackerStatus)) {
+ if (!(obj instanceof dev.slimevr.bridge.ProtobufMessages.ProtobufMessage)) {
return super.equals(obj);
}
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus other = (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) obj;
+ dev.slimevr.bridge.ProtobufMessages.ProtobufMessage other = (dev.slimevr.bridge.ProtobufMessages.ProtobufMessage) obj;
- if (getTrackerId()
- != other.getTrackerId()) return false;
- if (status_ != other.status_) return false;
- if (hasConfidence() != other.hasConfidence()) return false;
- if (hasConfidence()) {
- if (confidence_ != other.confidence_) return false;
+ if (!getMessageCase().equals(other.getMessageCase())) return false;
+ switch (messageCase_) {
+ case 1:
+ if (!getPosition()
+ .equals(other.getPosition())) return false;
+ break;
+ case 2:
+ if (!getUserAction()
+ .equals(other.getUserAction())) return false;
+ break;
+ case 3:
+ if (!getTrackerAdded()
+ .equals(other.getTrackerAdded())) return false;
+ break;
+ case 4:
+ if (!getTrackerStatus()
+ .equals(other.getTrackerStatus())) return false;
+ break;
+ case 0:
+ default:
}
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
@@ -3499,82 +5330,94 @@ public int hashCode() {
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
- hash = (37 * hash) + TRACKER_ID_FIELD_NUMBER;
- hash = (53 * hash) + getTrackerId();
- hash = (37 * hash) + STATUS_FIELD_NUMBER;
- hash = (53 * hash) + status_;
- if (hasConfidence()) {
- hash = (37 * hash) + CONFIDENCE_FIELD_NUMBER;
- hash = (53 * hash) + confidence_;
+ switch (messageCase_) {
+ case 1:
+ hash = (37 * hash) + POSITION_FIELD_NUMBER;
+ hash = (53 * hash) + getPosition().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + USER_ACTION_FIELD_NUMBER;
+ hash = (53 * hash) + getUserAction().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + TRACKER_ADDED_FIELD_NUMBER;
+ hash = (53 * hash) + getTrackerAdded().hashCode();
+ break;
+ case 4:
+ hash = (37 * hash) + TRACKER_STATUS_FIELD_NUMBER;
+ hash = (53 * hash) + getTrackerStatus().hashCode();
+ break;
+ case 0:
+ default:
}
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(
java.nio.ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(byte[] data)
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(java.io.InputStream input)
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage 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 dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseDelimitedFrom(java.io.InputStream input)
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseDelimitedWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseDelimitedFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage 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 dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3
.parseWithIOException(PARSER, input);
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
@@ -3587,7 +5430,7 @@ public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus parseFrom(
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
- public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.TrackerStatus prototype) {
+ public static Builder newBuilder(dev.slimevr.bridge.ProtobufMessages.ProtobufMessage prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
@@ -3603,26 +5446,26 @@ protected Builder newBuilderForType(
return builder;
}
/**
- * Protobuf type {@code dev.slimevr.bridge.TrackerStatus}
+ * Protobuf type {@code messages.ProtobufMessage}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessageV3.Builder implements
- // @@protoc_insertion_point(builder_implements:dev.slimevr.bridge.TrackerStatus)
- dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder {
+ // @@protoc_insertion_point(builder_implements:messages.ProtobufMessage)
+ dev.slimevr.bridge.ProtobufMessages.ProtobufMessageOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerStatus_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_ProtobufMessage_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerStatus_fieldAccessorTable
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_ProtobufMessage_fieldAccessorTable
.ensureFieldAccessorsInitialized(
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.class, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder.class);
+ dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.class, dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.Builder.class);
}
- // Construct using dev.slimevr.bridge.ProtobufMessages.TrackerStatus.newBuilder()
+ // Construct using dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
@@ -3640,29 +5483,25 @@ private void maybeForceBuilderInitialization() {
@java.lang.Override
public Builder clear() {
super.clear();
- trackerId_ = 0;
-
- status_ = 0;
-
- confidence_ = 0;
- bitField0_ = (bitField0_ & ~0x00000001);
+ messageCase_ = 0;
+ message_ = null;
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
- return dev.slimevr.bridge.ProtobufMessages.internal_static_dev_slimevr_bridge_TrackerStatus_descriptor;
+ return dev.slimevr.bridge.ProtobufMessages.internal_static_messages_ProtobufMessage_descriptor;
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstanceForType() {
- return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
+ public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage getDefaultInstanceForType() {
+ return dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.getDefaultInstance();
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerStatus build() {
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus result = buildPartial();
+ public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage build() {
+ dev.slimevr.bridge.ProtobufMessages.ProtobufMessage result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
@@ -3670,17 +5509,37 @@ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus build() {
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerStatus buildPartial() {
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus result = new dev.slimevr.bridge.ProtobufMessages.TrackerStatus(this);
- int from_bitField0_ = bitField0_;
- int to_bitField0_ = 0;
- result.trackerId_ = trackerId_;
- result.status_ = status_;
- if (((from_bitField0_ & 0x00000001) != 0)) {
- to_bitField0_ |= 0x00000001;
+ public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage buildPartial() {
+ dev.slimevr.bridge.ProtobufMessages.ProtobufMessage result = new dev.slimevr.bridge.ProtobufMessages.ProtobufMessage(this);
+ if (messageCase_ == 1) {
+ if (positionBuilder_ == null) {
+ result.message_ = message_;
+ } else {
+ result.message_ = positionBuilder_.build();
+ }
}
- result.confidence_ = confidence_;
- result.bitField0_ = to_bitField0_;
+ if (messageCase_ == 2) {
+ if (userActionBuilder_ == null) {
+ result.message_ = message_;
+ } else {
+ result.message_ = userActionBuilder_.build();
+ }
+ }
+ if (messageCase_ == 3) {
+ if (trackerAddedBuilder_ == null) {
+ result.message_ = message_;
+ } else {
+ result.message_ = trackerAddedBuilder_.build();
+ }
+ }
+ if (messageCase_ == 4) {
+ if (trackerStatusBuilder_ == null) {
+ result.message_ = message_;
+ } else {
+ result.message_ = trackerStatusBuilder_.build();
+ }
+ }
+ result.messageCase_ = messageCase_;
onBuilt();
return result;
}
@@ -3718,201 +5577,646 @@ public Builder addRepeatedField(
return super.addRepeatedField(field, value);
}
@java.lang.Override
- public Builder mergeFrom(com.google.protobuf.Message other) {
- if (other instanceof dev.slimevr.bridge.ProtobufMessages.TrackerStatus) {
- return mergeFrom((dev.slimevr.bridge.ProtobufMessages.TrackerStatus)other);
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof dev.slimevr.bridge.ProtobufMessages.ProtobufMessage) {
+ return mergeFrom((dev.slimevr.bridge.ProtobufMessages.ProtobufMessage)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.ProtobufMessage other) {
+ if (other == dev.slimevr.bridge.ProtobufMessages.ProtobufMessage.getDefaultInstance()) return this;
+ switch (other.getMessageCase()) {
+ case POSITION: {
+ mergePosition(other.getPosition());
+ break;
+ }
+ case USER_ACTION: {
+ mergeUserAction(other.getUserAction());
+ break;
+ }
+ case TRACKER_ADDED: {
+ mergeTrackerAdded(other.getTrackerAdded());
+ break;
+ }
+ case TRACKER_STATUS: {
+ mergeTrackerStatus(other.getTrackerStatus());
+ break;
+ }
+ case MESSAGE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ dev.slimevr.bridge.ProtobufMessages.ProtobufMessage parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (dev.slimevr.bridge.ProtobufMessages.ProtobufMessage) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int messageCase_ = 0;
+ private java.lang.Object message_;
+ @Override
+ public MessageCase
+ getMessageCase() {
+ return MessageCase.forNumber(
+ messageCase_);
+ }
+
+ public Builder clearMessage() {
+ messageCase_ = 0;
+ message_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.Position, dev.slimevr.bridge.ProtobufMessages.Position.Builder, dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder> positionBuilder_;
+ /**
+ * .messages.Position position = 1;
+ * @return Whether the position field is set.
+ */
+ @java.lang.Override
+ public boolean hasPosition() {
+ return messageCase_ == 1;
+ }
+ /**
+ * .messages.Position position = 1;
+ * @return The position.
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.Position getPosition() {
+ if (positionBuilder_ == null) {
+ if (messageCase_ == 1) {
+ return (dev.slimevr.bridge.ProtobufMessages.Position) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
+ } else {
+ if (messageCase_ == 1) {
+ return positionBuilder_.getMessage();
+ }
+ return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
+ }
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ public Builder setPosition(dev.slimevr.bridge.ProtobufMessages.Position value) {
+ if (positionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ message_ = value;
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(value);
+ }
+ messageCase_ = 1;
+ return this;
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ public Builder setPosition(
+ dev.slimevr.bridge.ProtobufMessages.Position.Builder builderForValue) {
+ if (positionBuilder_ == null) {
+ message_ = builderForValue.build();
+ onChanged();
+ } else {
+ positionBuilder_.setMessage(builderForValue.build());
+ }
+ messageCase_ = 1;
+ return this;
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ public Builder mergePosition(dev.slimevr.bridge.ProtobufMessages.Position value) {
+ if (positionBuilder_ == null) {
+ if (messageCase_ == 1 &&
+ message_ != dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance()) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.Position.newBuilder((dev.slimevr.bridge.ProtobufMessages.Position) message_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ message_ = value;
+ }
+ onChanged();
+ } else {
+ if (messageCase_ == 1) {
+ positionBuilder_.mergeFrom(value);
+ }
+ positionBuilder_.setMessage(value);
+ }
+ messageCase_ = 1;
+ return this;
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ public Builder clearPosition() {
+ if (positionBuilder_ == null) {
+ if (messageCase_ == 1) {
+ messageCase_ = 0;
+ message_ = null;
+ onChanged();
+ }
+ } else {
+ if (messageCase_ == 1) {
+ messageCase_ = 0;
+ message_ = null;
+ }
+ positionBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ public dev.slimevr.bridge.ProtobufMessages.Position.Builder getPositionBuilder() {
+ return getPositionFieldBuilder().getBuilder();
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder getPositionOrBuilder() {
+ if ((messageCase_ == 1) && (positionBuilder_ != null)) {
+ return positionBuilder_.getMessageOrBuilder();
+ } else {
+ if (messageCase_ == 1) {
+ return (dev.slimevr.bridge.ProtobufMessages.Position) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
+ }
+ }
+ /**
+ * .messages.Position position = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.Position, dev.slimevr.bridge.ProtobufMessages.Position.Builder, dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder>
+ getPositionFieldBuilder() {
+ if (positionBuilder_ == null) {
+ if (!(messageCase_ == 1)) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.Position.getDefaultInstance();
+ }
+ positionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.Position, dev.slimevr.bridge.ProtobufMessages.Position.Builder, dev.slimevr.bridge.ProtobufMessages.PositionOrBuilder>(
+ (dev.slimevr.bridge.ProtobufMessages.Position) message_,
+ getParentForChildren(),
+ isClean());
+ message_ = null;
+ }
+ messageCase_ = 1;
+ onChanged();;
+ return positionBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.UserAction, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder, dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder> userActionBuilder_;
+ /**
+ * .messages.UserAction user_action = 2;
+ * @return Whether the userAction field is set.
+ */
+ @java.lang.Override
+ public boolean hasUserAction() {
+ return messageCase_ == 2;
+ }
+ /**
+ * .messages.UserAction user_action = 2;
+ * @return The userAction.
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.UserAction getUserAction() {
+ if (userActionBuilder_ == null) {
+ if (messageCase_ == 2) {
+ return (dev.slimevr.bridge.ProtobufMessages.UserAction) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
} else {
- super.mergeFrom(other);
- return this;
+ if (messageCase_ == 2) {
+ return userActionBuilder_.getMessage();
+ }
+ return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
}
}
-
- public Builder mergeFrom(dev.slimevr.bridge.ProtobufMessages.TrackerStatus other) {
- if (other == dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance()) return this;
- if (other.getTrackerId() != 0) {
- setTrackerId(other.getTrackerId());
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ public Builder setUserAction(dev.slimevr.bridge.ProtobufMessages.UserAction value) {
+ if (userActionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ message_ = value;
+ onChanged();
+ } else {
+ userActionBuilder_.setMessage(value);
}
- if (other.status_ != 0) {
- setStatusValue(other.getStatusValue());
+ messageCase_ = 2;
+ return this;
+ }
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ public Builder setUserAction(
+ dev.slimevr.bridge.ProtobufMessages.UserAction.Builder builderForValue) {
+ if (userActionBuilder_ == null) {
+ message_ = builderForValue.build();
+ onChanged();
+ } else {
+ userActionBuilder_.setMessage(builderForValue.build());
}
- if (other.hasConfidence()) {
- setConfidence(other.getConfidence());
+ messageCase_ = 2;
+ return this;
+ }
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ public Builder mergeUserAction(dev.slimevr.bridge.ProtobufMessages.UserAction value) {
+ if (userActionBuilder_ == null) {
+ if (messageCase_ == 2 &&
+ message_ != dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance()) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.UserAction.newBuilder((dev.slimevr.bridge.ProtobufMessages.UserAction) message_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ message_ = value;
+ }
+ onChanged();
+ } else {
+ if (messageCase_ == 2) {
+ userActionBuilder_.mergeFrom(value);
+ }
+ userActionBuilder_.setMessage(value);
}
- this.mergeUnknownFields(other.unknownFields);
- onChanged();
+ messageCase_ = 2;
return this;
}
-
- @java.lang.Override
- public final boolean isInitialized() {
- return true;
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ public Builder clearUserAction() {
+ if (userActionBuilder_ == null) {
+ if (messageCase_ == 2) {
+ messageCase_ = 0;
+ message_ = null;
+ onChanged();
+ }
+ } else {
+ if (messageCase_ == 2) {
+ messageCase_ = 0;
+ message_ = null;
+ }
+ userActionBuilder_.clear();
+ }
+ return this;
}
-
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ public dev.slimevr.bridge.ProtobufMessages.UserAction.Builder getUserActionBuilder() {
+ return getUserActionFieldBuilder().getBuilder();
+ }
+ /**
+ * .messages.UserAction user_action = 2;
+ */
@java.lang.Override
- public Builder mergeFrom(
- com.google.protobuf.CodedInputStream input,
- com.google.protobuf.ExtensionRegistryLite extensionRegistry)
- throws java.io.IOException {
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus parsedMessage = null;
- try {
- parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
- } catch (com.google.protobuf.InvalidProtocolBufferException e) {
- parsedMessage = (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) e.getUnfinishedMessage();
- throw e.unwrapIOException();
- } finally {
- if (parsedMessage != null) {
- mergeFrom(parsedMessage);
+ public dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder getUserActionOrBuilder() {
+ if ((messageCase_ == 2) && (userActionBuilder_ != null)) {
+ return userActionBuilder_.getMessageOrBuilder();
+ } else {
+ if (messageCase_ == 2) {
+ return (dev.slimevr.bridge.ProtobufMessages.UserAction) message_;
}
+ return dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
}
- return this;
}
- private int bitField0_;
+ /**
+ * .messages.UserAction user_action = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.UserAction, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder, dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder>
+ getUserActionFieldBuilder() {
+ if (userActionBuilder_ == null) {
+ if (!(messageCase_ == 2)) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.UserAction.getDefaultInstance();
+ }
+ userActionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.UserAction, dev.slimevr.bridge.ProtobufMessages.UserAction.Builder, dev.slimevr.bridge.ProtobufMessages.UserActionOrBuilder>(
+ (dev.slimevr.bridge.ProtobufMessages.UserAction) message_,
+ getParentForChildren(),
+ isClean());
+ message_ = null;
+ }
+ messageCase_ = 2;
+ onChanged();;
+ return userActionBuilder_;
+ }
- private int trackerId_ ;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder> trackerAddedBuilder_;
/**
- * int32 tracker_id = 1;
- * @return The trackerId.
+ * .messages.TrackerAdded tracker_added = 3;
+ * @return Whether the trackerAdded field is set.
*/
@java.lang.Override
- public int getTrackerId() {
- return trackerId_;
+ public boolean hasTrackerAdded() {
+ return messageCase_ == 3;
}
/**
- * int32 tracker_id = 1;
- * @param value The trackerId to set.
- * @return This builder for chaining.
+ * .messages.TrackerAdded tracker_added = 3;
+ * @return The trackerAdded.
*/
- public Builder setTrackerId(int value) {
-
- trackerId_ = value;
- onChanged();
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded getTrackerAdded() {
+ if (trackerAddedBuilder_ == null) {
+ if (messageCase_ == 3) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
+ } else {
+ if (messageCase_ == 3) {
+ return trackerAddedBuilder_.getMessage();
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
+ }
+ }
+ /**
+ * .messages.TrackerAdded tracker_added = 3;
+ */
+ public Builder setTrackerAdded(dev.slimevr.bridge.ProtobufMessages.TrackerAdded value) {
+ if (trackerAddedBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ message_ = value;
+ onChanged();
+ } else {
+ trackerAddedBuilder_.setMessage(value);
+ }
+ messageCase_ = 3;
return this;
}
/**
- * int32 tracker_id = 1;
- * @return This builder for chaining.
+ * .messages.TrackerAdded tracker_added = 3;
*/
- public Builder clearTrackerId() {
-
- trackerId_ = 0;
- onChanged();
+ public Builder setTrackerAdded(
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder builderForValue) {
+ if (trackerAddedBuilder_ == null) {
+ message_ = builderForValue.build();
+ onChanged();
+ } else {
+ trackerAddedBuilder_.setMessage(builderForValue.build());
+ }
+ messageCase_ = 3;
return this;
}
-
- private int status_ = 0;
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @return The enum numeric value on the wire for status.
+ * .messages.TrackerAdded tracker_added = 3;
*/
- @java.lang.Override public int getStatusValue() {
- return status_;
+ public Builder mergeTrackerAdded(dev.slimevr.bridge.ProtobufMessages.TrackerAdded value) {
+ if (trackerAddedBuilder_ == null) {
+ if (messageCase_ == 3 &&
+ message_ != dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance()) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.TrackerAdded.newBuilder((dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ message_ = value;
+ }
+ onChanged();
+ } else {
+ if (messageCase_ == 3) {
+ trackerAddedBuilder_.mergeFrom(value);
+ }
+ trackerAddedBuilder_.setMessage(value);
+ }
+ messageCase_ = 3;
+ return this;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @param value The enum numeric value on the wire for status to set.
- * @return This builder for chaining.
+ * .messages.TrackerAdded tracker_added = 3;
*/
- public Builder setStatusValue(int value) {
-
- status_ = value;
- onChanged();
+ public Builder clearTrackerAdded() {
+ if (trackerAddedBuilder_ == null) {
+ if (messageCase_ == 3) {
+ messageCase_ = 0;
+ message_ = null;
+ onChanged();
+ }
+ } else {
+ if (messageCase_ == 3) {
+ messageCase_ = 0;
+ message_ = null;
+ }
+ trackerAddedBuilder_.clear();
+ }
return this;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @return The status.
+ * .messages.TrackerAdded tracker_added = 3;
*/
- @java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status getStatus() {
- @SuppressWarnings("deprecation")
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.valueOf(status_);
- return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status.UNRECOGNIZED : result;
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder getTrackerAddedBuilder() {
+ return getTrackerAddedFieldBuilder().getBuilder();
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @param value The status to set.
- * @return This builder for chaining.
+ * .messages.TrackerAdded tracker_added = 3;
*/
- public Builder setStatus(dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Status value) {
- if (value == null) {
- throw new NullPointerException();
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder getTrackerAddedOrBuilder() {
+ if ((messageCase_ == 3) && (trackerAddedBuilder_ != null)) {
+ return trackerAddedBuilder_.getMessageOrBuilder();
+ } else {
+ if (messageCase_ == 3) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
}
-
- status_ = value.getNumber();
- onChanged();
- return this;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Status status = 2;
- * @return This builder for chaining.
+ * .messages.TrackerAdded tracker_added = 3;
*/
- public Builder clearStatus() {
-
- status_ = 0;
- onChanged();
- return this;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder>
+ getTrackerAddedFieldBuilder() {
+ if (trackerAddedBuilder_ == null) {
+ if (!(messageCase_ == 3)) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.TrackerAdded.getDefaultInstance();
+ }
+ trackerAddedBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.TrackerAdded, dev.slimevr.bridge.ProtobufMessages.TrackerAdded.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerAddedOrBuilder>(
+ (dev.slimevr.bridge.ProtobufMessages.TrackerAdded) message_,
+ getParentForChildren(),
+ isClean());
+ message_ = null;
+ }
+ messageCase_ = 3;
+ onChanged();;
+ return trackerAddedBuilder_;
}
- private int confidence_ = 0;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder> trackerStatusBuilder_;
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return Whether the confidence field is set.
+ * .messages.TrackerStatus tracker_status = 4;
+ * @return Whether the trackerStatus field is set.
*/
- @java.lang.Override public boolean hasConfidence() {
- return ((bitField0_ & 0x00000001) != 0);
+ @java.lang.Override
+ public boolean hasTrackerStatus() {
+ return messageCase_ == 4;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return The enum numeric value on the wire for confidence.
+ * .messages.TrackerStatus tracker_status = 4;
+ * @return The trackerStatus.
*/
- @java.lang.Override public int getConfidenceValue() {
- return confidence_;
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getTrackerStatus() {
+ if (trackerStatusBuilder_ == null) {
+ if (messageCase_ == 4) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
+ } else {
+ if (messageCase_ == 4) {
+ return trackerStatusBuilder_.getMessage();
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
+ }
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @param value The enum numeric value on the wire for confidence to set.
- * @return This builder for chaining.
+ * .messages.TrackerStatus tracker_status = 4;
*/
- public Builder setConfidenceValue(int value) {
- bitField0_ |= 0x00000001;
- confidence_ = value;
- onChanged();
+ public Builder setTrackerStatus(dev.slimevr.bridge.ProtobufMessages.TrackerStatus value) {
+ if (trackerStatusBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ message_ = value;
+ onChanged();
+ } else {
+ trackerStatusBuilder_.setMessage(value);
+ }
+ messageCase_ = 4;
return this;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return The confidence.
+ * .messages.TrackerStatus tracker_status = 4;
*/
- @java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence getConfidence() {
- @SuppressWarnings("deprecation")
- dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence result = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.valueOf(confidence_);
- return result == null ? dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence.UNRECOGNIZED : result;
+ public Builder setTrackerStatus(
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder builderForValue) {
+ if (trackerStatusBuilder_ == null) {
+ message_ = builderForValue.build();
+ onChanged();
+ } else {
+ trackerStatusBuilder_.setMessage(builderForValue.build());
+ }
+ messageCase_ = 4;
+ return this;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @param value The confidence to set.
- * @return This builder for chaining.
+ * .messages.TrackerStatus tracker_status = 4;
*/
- public Builder setConfidence(dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Confidence value) {
- if (value == null) {
- throw new NullPointerException();
+ public Builder mergeTrackerStatus(dev.slimevr.bridge.ProtobufMessages.TrackerStatus value) {
+ if (trackerStatusBuilder_ == null) {
+ if (messageCase_ == 4 &&
+ message_ != dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance()) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.newBuilder((dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ message_ = value;
+ }
+ onChanged();
+ } else {
+ if (messageCase_ == 4) {
+ trackerStatusBuilder_.mergeFrom(value);
+ }
+ trackerStatusBuilder_.setMessage(value);
}
- bitField0_ |= 0x00000001;
- confidence_ = value.getNumber();
- onChanged();
+ messageCase_ = 4;
return this;
}
/**
- * .dev.slimevr.bridge.TrackerStatus.Confidence confidence = 3;
- * @return This builder for chaining.
+ * .messages.TrackerStatus tracker_status = 4;
*/
- public Builder clearConfidence() {
- bitField0_ = (bitField0_ & ~0x00000001);
- confidence_ = 0;
- onChanged();
+ public Builder clearTrackerStatus() {
+ if (trackerStatusBuilder_ == null) {
+ if (messageCase_ == 4) {
+ messageCase_ = 0;
+ message_ = null;
+ onChanged();
+ }
+ } else {
+ if (messageCase_ == 4) {
+ messageCase_ = 0;
+ message_ = null;
+ }
+ trackerStatusBuilder_.clear();
+ }
return this;
}
+ /**
+ * .messages.TrackerStatus tracker_status = 4;
+ */
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder getTrackerStatusBuilder() {
+ return getTrackerStatusFieldBuilder().getBuilder();
+ }
+ /**
+ * .messages.TrackerStatus tracker_status = 4;
+ */
+ @java.lang.Override
+ public dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder getTrackerStatusOrBuilder() {
+ if ((messageCase_ == 4) && (trackerStatusBuilder_ != null)) {
+ return trackerStatusBuilder_.getMessageOrBuilder();
+ } else {
+ if (messageCase_ == 4) {
+ return (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_;
+ }
+ return dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
+ }
+ }
+ /**
+ * .messages.TrackerStatus tracker_status = 4;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder>
+ getTrackerStatusFieldBuilder() {
+ if (trackerStatusBuilder_ == null) {
+ if (!(messageCase_ == 4)) {
+ message_ = dev.slimevr.bridge.ProtobufMessages.TrackerStatus.getDefaultInstance();
+ }
+ trackerStatusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ dev.slimevr.bridge.ProtobufMessages.TrackerStatus, dev.slimevr.bridge.ProtobufMessages.TrackerStatus.Builder, dev.slimevr.bridge.ProtobufMessages.TrackerStatusOrBuilder>(
+ (dev.slimevr.bridge.ProtobufMessages.TrackerStatus) message_,
+ getParentForChildren(),
+ isClean());
+ message_ = null;
+ }
+ messageCase_ = 4;
+ onChanged();;
+ return trackerStatusBuilder_;
+ }
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
@@ -3926,71 +6230,86 @@ public final Builder mergeUnknownFields(
}
- // @@protoc_insertion_point(builder_scope:dev.slimevr.bridge.TrackerStatus)
+ // @@protoc_insertion_point(builder_scope:messages.ProtobufMessage)
}
- // @@protoc_insertion_point(class_scope:dev.slimevr.bridge.TrackerStatus)
- private static final dev.slimevr.bridge.ProtobufMessages.TrackerStatus DEFAULT_INSTANCE;
+ // @@protoc_insertion_point(class_scope:messages.ProtobufMessage)
+ private static final dev.slimevr.bridge.ProtobufMessages.ProtobufMessage DEFAULT_INSTANCE;
static {
- DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.TrackerStatus();
+ DEFAULT_INSTANCE = new dev.slimevr.bridge.ProtobufMessages.ProtobufMessage();
}
- public static dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstance() {
+ public static dev.slimevr.bridge.ProtobufMessages.ProtobufMessage getDefaultInstance() {
return DEFAULT_INSTANCE;
}
- private static final com.google.protobuf.Parser
- PARSER = new com.google.protobuf.AbstractParser() {
+ private static final com.google.protobuf.Parser
+ PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
- public TrackerStatus parsePartialFrom(
+ public ProtobufMessage parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
- return new TrackerStatus(input, extensionRegistry);
+ return new ProtobufMessage(input, extensionRegistry);
}
};
- public static com.google.protobuf.Parser parser() {
+ public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
- public com.google.protobuf.Parser getParserForType() {
+ public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
- public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstanceForType() {
+ public dev.slimevr.bridge.ProtobufMessages.ProtobufMessage getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
private static final com.google.protobuf.Descriptors.Descriptor
- internal_static_dev_slimevr_bridge_Position_descriptor;
+ internal_static_messages_PingPong_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_messages_PingPong_fieldAccessorTable;
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_messages_Position_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_messages_Position_fieldAccessorTable;
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_messages_UserAction_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_messages_UserAction_fieldAccessorTable;
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_messages_UserAction_ActionArgumentsEntry_descriptor;
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internal_static_dev_slimevr_bridge_Position_fieldAccessorTable;
+ internal_static_messages_UserAction_ActionArgumentsEntry_fieldAccessorTable;
private static final com.google.protobuf.Descriptors.Descriptor
- internal_static_dev_slimevr_bridge_UserAction_descriptor;
+ internal_static_messages_TrackerAdded_descriptor;
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internal_static_dev_slimevr_bridge_UserAction_fieldAccessorTable;
+ internal_static_messages_TrackerAdded_fieldAccessorTable;
private static final com.google.protobuf.Descriptors.Descriptor
- internal_static_dev_slimevr_bridge_UserAction_ActionArgumentsEntry_descriptor;
+ internal_static_messages_TrackerStatus_descriptor;
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internal_static_dev_slimevr_bridge_UserAction_ActionArgumentsEntry_fieldAccessorTable;
+ internal_static_messages_TrackerStatus_fieldAccessorTable;
private static final com.google.protobuf.Descriptors.Descriptor
- internal_static_dev_slimevr_bridge_TrackerAdded_descriptor;
+ internal_static_messages_TrackerStatus_ExtraEntry_descriptor;
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internal_static_dev_slimevr_bridge_TrackerAdded_fieldAccessorTable;
+ internal_static_messages_TrackerStatus_ExtraEntry_fieldAccessorTable;
private static final com.google.protobuf.Descriptors.Descriptor
- internal_static_dev_slimevr_bridge_TrackerStatus_descriptor;
+ internal_static_messages_ProtobufMessage_descriptor;
private static final
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
- internal_static_dev_slimevr_bridge_TrackerStatus_fieldAccessorTable;
+ internal_static_messages_ProtobufMessage_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
@@ -4000,63 +6319,90 @@ public dev.slimevr.bridge.ProtobufMessages.TrackerStatus getDefaultInstanceForTy
descriptor;
static {
java.lang.String[] descriptorData = {
- "\n\026ProtobufMessages.proto\022\022dev.slimevr.br" +
- "idge\"\374\001\n\010Position\022\022\n\ntracker_id\030\001 \001(\005\022\t\n" +
- "\001x\030\002 \001(\002\022\t\n\001y\030\003 \001(\002\022\t\n\001z\030\004 \001(\002\022\n\n\002qx\030\005 \001" +
- "(\002\022\n\n\002qy\030\006 \001(\002\022\n\n\002qz\030\007 \001(\002\022\n\n\002qw\030\010 \001(\002\022A" +
- "\n\013data_source\030\t \001(\0162\'.dev.slimevr.bridge" +
- ".Position.DataSourceH\000\210\001\001\"8\n\nDataSource\022" +
- "\010\n\004NONE\020\000\022\007\n\003IMU\020\001\022\r\n\tPRECISION\020\002\022\010\n\004FUL" +
- "L\020\003B\016\n\014_data_source\"\241\001\n\nUserAction\022\014\n\004na" +
- "me\030\001 \001(\t\022M\n\020action_arguments\030\002 \003(\01323.dev" +
- ".slimevr.bridge.UserAction.ActionArgumen" +
- "tsEntry\0326\n\024ActionArgumentsEntry\022\013\n\003key\030\001" +
- " \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"J\n\014TrackerAdded\022" +
- "\022\n\ntracker_id\030\001 \001(\005\022\024\n\014tracker_name\030\002 \001(" +
- "\t\022\020\n\010location\030\003 \001(\t\"\257\002\n\rTrackerStatus\022\022\n" +
- "\ntracker_id\030\001 \001(\005\0228\n\006status\030\002 \001(\0162(.dev." +
- "slimevr.bridge.TrackerStatus.Status\022E\n\nc" +
- "onfidence\030\003 \001(\0162,.dev.slimevr.bridge.Tra" +
- "ckerStatus.ConfidenceH\000\210\001\001\"E\n\006Status\022\020\n\014" +
+ "\n\026ProtobufMessages.proto\022\010messages\"\n\n\010Pi" +
+ "ngPong\"\223\002\n\010Position\022\022\n\ntracker_id\030\001 \001(\005\022" +
+ "\016\n\001x\030\002 \001(\002H\000\210\001\001\022\016\n\001y\030\003 \001(\002H\001\210\001\001\022\016\n\001z\030\004 \001" +
+ "(\002H\002\210\001\001\022\n\n\002qx\030\005 \001(\002\022\n\n\002qy\030\006 \001(\002\022\n\n\002qz\030\007 " +
+ "\001(\002\022\n\n\002qw\030\010 \001(\002\0227\n\013data_source\030\t \001(\0162\035.m" +
+ "essages.Position.DataSourceH\003\210\001\001\"8\n\nData" +
+ "Source\022\010\n\004NONE\020\000\022\007\n\003IMU\020\001\022\r\n\tPRECISION\020\002" +
+ "\022\010\n\004FULL\020\003B\004\n\002_xB\004\n\002_yB\004\n\002_zB\016\n\014_data_so" +
+ "urce\"\227\001\n\nUserAction\022\014\n\004name\030\001 \001(\t\022C\n\020act" +
+ "ion_arguments\030\002 \003(\0132).messages.UserActio" +
+ "n.ActionArgumentsEntry\0326\n\024ActionArgument" +
+ "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"f" +
+ "\n\014TrackerAdded\022\022\n\ntracker_id\030\001 \001(\005\022\026\n\016tr" +
+ "acker_serial\030\002 \001(\t\022\024\n\014tracker_name\030\003 \001(\t" +
+ "\022\024\n\014tracker_role\030\004 \001(\005\"\374\002\n\rTrackerStatus" +
+ "\022\022\n\ntracker_id\030\001 \001(\005\022.\n\006status\030\002 \001(\0162\036.m" +
+ "essages.TrackerStatus.Status\0221\n\005extra\030\003 " +
+ "\003(\0132\".messages.TrackerStatus.ExtraEntry\022" +
+ ";\n\nconfidence\030\004 \001(\0162\".messages.TrackerSt" +
+ "atus.ConfidenceH\000\210\001\001\032,\n\nExtraEntry\022\013\n\003ke" +
+ "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"E\n\006Status\022\020\n\014" +
"DISCONNECTED\020\000\022\006\n\002OK\020\001\022\010\n\004BUSY\020\002\022\t\n\005ERRO" +
"R\020\003\022\014\n\010OCCLUDED\020\004\"3\n\nConfidence\022\006\n\002NO\020\000\022" +
"\007\n\003LOW\020\001\022\n\n\006MEDIUM\020\005\022\010\n\004HIGH\020\nB\r\n\013_confi" +
- "denceb\006proto3"
+ "dence\"\325\001\n\017ProtobufMessage\022&\n\010position\030\001 " +
+ "\001(\0132\022.messages.PositionH\000\022+\n\013user_action" +
+ "\030\002 \001(\0132\024.messages.UserActionH\000\022/\n\rtracke" +
+ "r_added\030\003 \001(\0132\026.messages.TrackerAddedH\000\022" +
+ "1\n\016tracker_status\030\004 \001(\0132\027.messages.Track" +
+ "erStatusH\000B\t\n\007messageB&\n\022dev.slimevr.bri" +
+ "dgeB\020ProtobufMessagesb\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
});
- internal_static_dev_slimevr_bridge_Position_descriptor =
+ internal_static_messages_PingPong_descriptor =
getDescriptor().getMessageTypes().get(0);
- internal_static_dev_slimevr_bridge_Position_fieldAccessorTable = new
+ internal_static_messages_PingPong_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
- internal_static_dev_slimevr_bridge_Position_descriptor,
- new java.lang.String[] { "TrackerId", "X", "Y", "Z", "Qx", "Qy", "Qz", "Qw", "DataSource", "DataSource", });
- internal_static_dev_slimevr_bridge_UserAction_descriptor =
+ internal_static_messages_PingPong_descriptor,
+ new java.lang.String[] { });
+ internal_static_messages_Position_descriptor =
getDescriptor().getMessageTypes().get(1);
- internal_static_dev_slimevr_bridge_UserAction_fieldAccessorTable = new
+ internal_static_messages_Position_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
- internal_static_dev_slimevr_bridge_UserAction_descriptor,
+ internal_static_messages_Position_descriptor,
+ new java.lang.String[] { "TrackerId", "X", "Y", "Z", "Qx", "Qy", "Qz", "Qw", "DataSource", "X", "Y", "Z", "DataSource", });
+ internal_static_messages_UserAction_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_messages_UserAction_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_messages_UserAction_descriptor,
new java.lang.String[] { "Name", "ActionArguments", });
- internal_static_dev_slimevr_bridge_UserAction_ActionArgumentsEntry_descriptor =
- internal_static_dev_slimevr_bridge_UserAction_descriptor.getNestedTypes().get(0);
- internal_static_dev_slimevr_bridge_UserAction_ActionArgumentsEntry_fieldAccessorTable = new
+ internal_static_messages_UserAction_ActionArgumentsEntry_descriptor =
+ internal_static_messages_UserAction_descriptor.getNestedTypes().get(0);
+ internal_static_messages_UserAction_ActionArgumentsEntry_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
- internal_static_dev_slimevr_bridge_UserAction_ActionArgumentsEntry_descriptor,
+ internal_static_messages_UserAction_ActionArgumentsEntry_descriptor,
new java.lang.String[] { "Key", "Value", });
- internal_static_dev_slimevr_bridge_TrackerAdded_descriptor =
- getDescriptor().getMessageTypes().get(2);
- internal_static_dev_slimevr_bridge_TrackerAdded_fieldAccessorTable = new
- com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
- internal_static_dev_slimevr_bridge_TrackerAdded_descriptor,
- new java.lang.String[] { "TrackerId", "TrackerName", "Location", });
- internal_static_dev_slimevr_bridge_TrackerStatus_descriptor =
+ internal_static_messages_TrackerAdded_descriptor =
getDescriptor().getMessageTypes().get(3);
- internal_static_dev_slimevr_bridge_TrackerStatus_fieldAccessorTable = new
+ internal_static_messages_TrackerAdded_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_messages_TrackerAdded_descriptor,
+ new java.lang.String[] { "TrackerId", "TrackerSerial", "TrackerName", "TrackerRole", });
+ internal_static_messages_TrackerStatus_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_messages_TrackerStatus_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_messages_TrackerStatus_descriptor,
+ new java.lang.String[] { "TrackerId", "Status", "Extra", "Confidence", "Confidence", });
+ internal_static_messages_TrackerStatus_ExtraEntry_descriptor =
+ internal_static_messages_TrackerStatus_descriptor.getNestedTypes().get(0);
+ internal_static_messages_TrackerStatus_ExtraEntry_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_messages_TrackerStatus_ExtraEntry_descriptor,
+ new java.lang.String[] { "Key", "Value", });
+ internal_static_messages_ProtobufMessage_descriptor =
+ getDescriptor().getMessageTypes().get(5);
+ internal_static_messages_ProtobufMessage_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
- internal_static_dev_slimevr_bridge_TrackerStatus_descriptor,
- new java.lang.String[] { "TrackerId", "Status", "Confidence", "Confidence", });
+ internal_static_messages_ProtobufMessage_descriptor,
+ new java.lang.String[] { "Position", "UserAction", "TrackerAdded", "TrackerStatus", "Message", });
}
// @@protoc_insertion_point(outer_class_scope)
diff --git a/src/main/java/io/eiren/vr/bridge/SteamVRPipeInputBridge.java b/src/main/java/dev/slimevr/bridge/SteamVRPipeInputBridge.java
similarity index 69%
rename from src/main/java/io/eiren/vr/bridge/SteamVRPipeInputBridge.java
rename to src/main/java/dev/slimevr/bridge/SteamVRPipeInputBridge.java
index d3dc15e006..c9ee5a4070 100644
--- a/src/main/java/io/eiren/vr/bridge/SteamVRPipeInputBridge.java
+++ b/src/main/java/dev/slimevr/bridge/SteamVRPipeInputBridge.java
@@ -1,4 +1,4 @@
-package io.eiren.vr.bridge;
+package dev.slimevr.bridge;
import java.io.IOException;
import java.util.HashMap;
@@ -13,16 +13,19 @@
import com.jme3.math.Vector3f;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.WinBase;
+import com.sun.jna.platform.win32.WinError;
import com.sun.jna.ptr.IntByReference;
+import dev.slimevr.bridge.Pipe.PipeState;
import io.eiren.util.collections.FastList;
import io.eiren.util.logging.LogManager;
import io.eiren.vr.VRServer;
-import io.eiren.vr.processor.TrackerBodyPosition;
-import io.eiren.vr.trackers.SteamVRTracker;
+import io.eiren.vr.trackers.VRTracker;
+import io.eiren.vr.trackers.ShareableTracker;
+import io.eiren.vr.trackers.TrackerPosition;
import io.eiren.vr.trackers.TrackerStatus;
-public class SteamVRPipeInputBridge extends Thread implements VRBridge {
+public class SteamVRPipeInputBridge extends Thread implements Bridge {
private static final int MAX_COMMAND_LENGTH = 2048;
public static final String PipeName = "\\\\.\\pipe\\SlimeVRInput";
@@ -30,8 +33,8 @@ public class SteamVRPipeInputBridge extends Thread implements VRBridge {
private final byte[] buffArray = new byte[1024];
private final VRServer server;
private final StringBuilder commandBuilder = new StringBuilder(1024);
- private final List trackers = new FastList<>();
- private final Map trackersInternal = new HashMap<>();
+ private final List trackers = new FastList<>();
+ private final Map trackersInternal = new HashMap<>();
private AtomicBoolean newData = new AtomicBoolean(false);
private final Vector3f vBuffer = new Vector3f();
private final Quaternion qBuffer = new Quaternion();
@@ -46,14 +49,22 @@ public void run() {
try {
createPipes();
while(true) {
- waitForPipesToOpen();
- if(areAllPipesOpen()) {
- boolean pipesUpdated = updatePipes(); // Update at HMDs frequency
- if(!pipesUpdated) {
+ boolean pipesUpdated = false;
+ if(pipe.state == PipeState.CREATED) {
+ tryOpeningPipe(pipe);
+ }
+ if(pipe.state == PipeState.OPEN) {
+ pipesUpdated = updatePipes();
+ }
+ if(pipe.state == PipeState.ERROR) {
+ resetPipe();
+ }
+ if(!pipesUpdated) {
+ try {
Thread.sleep(5); // Up to 200Hz
+ } catch(InterruptedException e) {
+ e.printStackTrace();
}
- } else {
- Thread.sleep(10);
}
}
} catch(Exception e) {
@@ -61,12 +72,6 @@ public void run() {
}
}
- private void waitForPipesToOpen() {
- if(pipe.state == PipeState.CREATED) {
- tryOpeningPipe(pipe);
- }
- }
-
public boolean updatePipes() throws IOException {
if(pipe.state == PipeState.OPEN) {
IntByReference bytesAvailable = new IntByReference(0);
@@ -88,11 +93,15 @@ public boolean updatePipes() throws IOException {
}
}
if(bytesRead < buffArray.length)
- break; // Don't repeat, we read all available bytes
+ return true; // All pipe data read
}
- return true;
+ } else {
+ return false; // Pipe was empty, it's okay
}
}
+ // PeekNamedPipe or ReadFile returned an error
+ pipe.state = PipeState.ERROR;
+ LogManager.log.severe("[SteamVRPipeInputBridge] Pipe error: " + Kernel32.INSTANCE.GetLastError());
}
return false;
}
@@ -105,15 +114,15 @@ private void executeInputCommand() throws IOException {
LogManager.log.severe("[SteamVRPipeInputBridge] Error in ADD command. Command requires at least 4 arguments. Supplied: " + commandBuilder.toString());
return;
}
- SteamVRTracker internalTracker = new SteamVRTracker(Integer.parseInt(command[1]), StringUtils.join(command, " ", 3, command.length), true, true);
+ VRTracker internalTracker = new VRTracker(Integer.parseInt(command[1]), StringUtils.join(command, " ", 3, command.length), true, true);
int roleId = Integer.parseInt(command[2]);
if(roleId >= 0 && roleId < SteamVRInputRoles.values.length) {
SteamVRInputRoles svrRole = SteamVRInputRoles.values[roleId];
internalTracker.bodyPosition = svrRole.bodyPosition;
}
- SteamVRTracker oldTracker;
+ VRTracker oldTracker;
synchronized(trackersInternal) {
- oldTracker = trackersInternal.put(internalTracker.id, internalTracker);
+ oldTracker = trackersInternal.put(internalTracker.getTrackerId(), internalTracker);
}
if(oldTracker != null) {
LogManager.log.severe("[SteamVRPipeInputBridge] New tracker added with the same id. Supplied: " + commandBuilder.toString());
@@ -165,25 +174,20 @@ private void executeInputCommand() throws IOException {
@Override
public void dataRead() {
- // Not used, only input
- }
-
- @Override
- public void dataWrite() {
if(newData.getAndSet(false)) {
if(trackers.size() < trackersInternal.size()) {
// Add new trackers
synchronized(trackersInternal) {
- Iterator iterator = trackersInternal.values().iterator();
+ Iterator iterator = trackersInternal.values().iterator();
internal: while(iterator.hasNext()) {
- SteamVRTracker internalTracker = iterator.next();
+ VRTracker internalTracker = iterator.next();
for(int i = 0; i < trackers.size(); ++i) {
- SteamVRTracker t = trackers.get(i);
- if(t.id == internalTracker.id)
+ VRTracker t = trackers.get(i);
+ if(t.getTrackerId() == internalTracker.getTrackerId())
continue internal;
}
// Tracker is not found in current trackers
- SteamVRTracker tracker = new SteamVRTracker(internalTracker.id, internalTracker.getName(), true, true);
+ VRTracker tracker = new VRTracker(internalTracker.getTrackerId(), internalTracker.getName(), true, true);
tracker.bodyPosition = internalTracker.bodyPosition;
trackers.add(tracker);
server.registerTracker(tracker);
@@ -191,10 +195,10 @@ public void dataWrite() {
}
}
for(int i = 0; i < trackers.size(); ++i) {
- SteamVRTracker tracker = trackers.get(i);
- SteamVRTracker internal = trackersInternal.get(tracker.id);
+ VRTracker tracker = trackers.get(i);
+ VRTracker internal = trackersInternal.get(tracker.getTrackerId());
if(internal == null)
- throw new NullPointerException("Lost internal tracker somehow: " + tracker.id); // Shouln't really happen even, but better to catch it like this
+ throw new NullPointerException("Lost internal tracker somehow: " + tracker.getTrackerId()); // Shouln't really happen even, but better to catch it like this
if(internal.getPosition(vBuffer))
tracker.position.set(vBuffer);
if(internal.getRotation(qBuffer))
@@ -205,8 +209,19 @@ public void dataWrite() {
}
}
+ @Override
+ public void dataWrite() {
+ // Not used, only input
+ }
+
+ private void resetPipe() {
+ Pipe.safeDisconnect(pipe);
+ pipe.state = PipeState.CREATED;
+ //Main.vrServer.queueTask(this::disconnected);
+ }
+
private boolean tryOpeningPipe(Pipe pipe) {
- if(Kernel32.INSTANCE.ConnectNamedPipe(pipe.pipeHandle, null)) {
+ if(Kernel32.INSTANCE.ConnectNamedPipe(pipe.pipeHandle, null) || Kernel32.INSTANCE.GetLastError() == WinError.ERROR_PIPE_CONNECTED) {
pipe.state = PipeState.OPEN;
LogManager.log.info("[SteamVRPipeInputBridge] Pipe " + pipe.name + " is open");
return true;
@@ -216,13 +231,6 @@ private boolean tryOpeningPipe(Pipe pipe) {
return false;
}
- private boolean areAllPipesOpen() {
- if(pipe == null || pipe.state == PipeState.CREATED) {
- return false;
- }
- return true;
- }
-
private void createPipes() throws IOException {
try {
pipe = new Pipe(Kernel32.INSTANCE.CreateNamedPipe(PipeName, WinBase.PIPE_ACCESS_DUPLEX, // dwOpenMode
@@ -237,40 +245,49 @@ private void createPipes() throws IOException {
throw new IOException("Can't open " + PipeName + " pipe: " + Kernel32.INSTANCE.GetLastError());
LogManager.log.info("[SteamVRPipeInputBridge] Pipes are open");
} catch(IOException e) {
- safeDisconnect(pipe);
+ Pipe.safeDisconnect(pipe);
throw e;
}
}
-
- public static void safeDisconnect(Pipe pipe) {
- try {
- if(pipe != null && pipe.pipeHandle != null)
- Kernel32.INSTANCE.DisconnectNamedPipe(pipe.pipeHandle);
- } catch(Exception e) {
- }
+
+ @Override
+ public void addSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void removeSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
}
public enum SteamVRInputRoles {
- HEAD(TrackerBodyPosition.HMD),
- LEFT_HAND(TrackerBodyPosition.LEFT_CONTROLLER),
- RIGHT_HAND(TrackerBodyPosition.RIGHT_CONTROLLER),
- LEFT_FOOT(TrackerBodyPosition.LEFT_FOOT),
- RIGHT_FOOT(TrackerBodyPosition.RIGHT_FOOT),
- LEFT_SHOULDER(TrackerBodyPosition.NONE),
- RIGHT_SHOULDER(TrackerBodyPosition.NONE),
- LEFT_ELBOW(TrackerBodyPosition.NONE),
- RIGHT_ELBOW(TrackerBodyPosition.NONE),
- LEFT_KNEE(TrackerBodyPosition.LEFT_LEG),
- RIGHT_KNEE(TrackerBodyPosition.RIGHT_LEG),
- WAIST(TrackerBodyPosition.WAIST),
- CHEST(TrackerBodyPosition.CHEST),
+ HEAD(TrackerPosition.HMD),
+ LEFT_HAND(TrackerPosition.LEFT_CONTROLLER),
+ RIGHT_HAND(TrackerPosition.RIGHT_CONTROLLER),
+ LEFT_FOOT(TrackerPosition.LEFT_FOOT),
+ RIGHT_FOOT(TrackerPosition.RIGHT_FOOT),
+ LEFT_SHOULDER(TrackerPosition.NONE),
+ RIGHT_SHOULDER(TrackerPosition.NONE),
+ LEFT_ELBOW(TrackerPosition.NONE),
+ RIGHT_ELBOW(TrackerPosition.NONE),
+ LEFT_KNEE(TrackerPosition.LEFT_LEG),
+ RIGHT_KNEE(TrackerPosition.RIGHT_LEG),
+ WAIST(TrackerPosition.WAIST),
+ CHEST(TrackerPosition.CHEST),
;
private static final SteamVRInputRoles[] values = values();
- public final TrackerBodyPosition bodyPosition;
+ public final TrackerPosition bodyPosition;
- private SteamVRInputRoles(TrackerBodyPosition slimeVrPosition) {
+ private SteamVRInputRoles(TrackerPosition slimeVrPosition) {
this.bodyPosition = slimeVrPosition;
}
}
+
+ @Override
+ public void startBridge() {
+ start();
+ }
}
diff --git a/src/main/java/io/eiren/vr/bridge/VMCBridge.java b/src/main/java/dev/slimevr/bridge/VMCBridge.java
similarity index 57%
rename from src/main/java/io/eiren/vr/bridge/VMCBridge.java
rename to src/main/java/dev/slimevr/bridge/VMCBridge.java
index 0e0cf69762..fa083039a6 100644
--- a/src/main/java/io/eiren/vr/bridge/VMCBridge.java
+++ b/src/main/java/dev/slimevr/bridge/VMCBridge.java
@@ -1,8 +1,11 @@
-package io.eiren.vr.bridge;
+package dev.slimevr.bridge;
import java.net.InetAddress;
-public class VMCBridge extends Thread implements VRBridge {
+import io.eiren.vr.trackers.ShareableTracker;
+import io.eiren.vr.trackers.Tracker;
+
+public class VMCBridge extends Thread implements Bridge {
public final int readPort;
public final int writePort;
@@ -28,5 +31,22 @@ public void dataWrite() {
// TODO Auto-generated method stub
}
+
+ @Override
+ public void addSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void removeSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void startBridge() {
+ start();
+ }
}
diff --git a/src/main/java/io/eiren/vr/bridge/WebSocketVRBridge.java b/src/main/java/dev/slimevr/bridge/WebSocketVRBridge.java
similarity index 88%
rename from src/main/java/io/eiren/vr/bridge/WebSocketVRBridge.java
rename to src/main/java/dev/slimevr/bridge/WebSocketVRBridge.java
index c4eb59537e..bd24bdbb91 100644
--- a/src/main/java/io/eiren/vr/bridge/WebSocketVRBridge.java
+++ b/src/main/java/dev/slimevr/bridge/WebSocketVRBridge.java
@@ -1,4 +1,4 @@
-package io.eiren.vr.bridge;
+package dev.slimevr.bridge;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
@@ -23,29 +23,30 @@
import io.eiren.vr.VRServer;
import io.eiren.vr.trackers.ComputedTracker;
import io.eiren.vr.trackers.HMDTracker;
+import io.eiren.vr.trackers.ShareableTracker;
import io.eiren.vr.trackers.Tracker;
import io.eiren.vr.trackers.TrackerStatus;
-public class WebSocketVRBridge extends WebSocketServer implements VRBridge {
+public class WebSocketVRBridge extends WebSocketServer implements Bridge {
private final Vector3f vBuffer = new Vector3f();
private final Quaternion qBuffer = new Quaternion();
private final HMDTracker hmd;
- private final List extends Tracker> shareTrackers;
+ private final List extends ShareableTracker> shareTrackers;
private final List internalTrackers;
private final HMDTracker internalHMDTracker = new HMDTracker("itnernal://HMD");
private final AtomicBoolean newHMDData = new AtomicBoolean(false);
- public WebSocketVRBridge(HMDTracker hmd, List extends Tracker> shareTrackers, VRServer server) {
+ public WebSocketVRBridge(HMDTracker hmd, List extends ShareableTracker> shareTrackers, VRServer server) {
super(new InetSocketAddress(21110), Collections.singletonList(new Draft_6455()));
this.hmd = hmd;
this.shareTrackers = new FastList<>(shareTrackers);
this.internalTrackers = new FastList<>(shareTrackers.size());
for(int i = 0; i < shareTrackers.size(); ++i) {
Tracker t = shareTrackers.get(i);
- ComputedTracker ct = new ComputedTracker("internal://" + t.getName(), true, true);
+ ComputedTracker ct = new ComputedTracker(t.getTrackerId(), "internal://" + t.getName(), true, true);
ct.setStatus(TrackerStatus.OK);
ct.bodyPosition = t.getBodyPosition();
this.internalTrackers.add(ct);
@@ -81,7 +82,7 @@ public void onOpen(WebSocket conn, ClientHandshake handshake) {
JSONObject message = new JSONObject();
message.put("type", "config");
message.put("tracker_id", "SlimeVR Tracker " + (i + 1));
- message.put("location", internalTrackers.get(i).bodyPosition.designation);
+ message.put("location", shareTrackers.get(i).getTrackerRole().name().toLowerCase());
message.put("tracker_type", message.optString("location"));
conn.send(message.toString());
}
@@ -173,4 +174,21 @@ public void onStart() {
setConnectionLostTimeout(0);
setConnectionLostTimeout(1);
}
+
+ @Override
+ public void addSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void removeSharedTracker(ShareableTracker tracker) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void startBridge() {
+ start();
+ }
}
diff --git a/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java b/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java
index 74af74cc41..9b8e3bad0a 100644
--- a/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java
+++ b/src/main/java/dev/slimevr/poserecorder/PoseFrameIO.java
@@ -13,7 +13,7 @@
import io.eiren.util.collections.FastList;
import io.eiren.util.logging.LogManager;
-import io.eiren.vr.processor.TrackerBodyPosition;
+import io.eiren.vr.trackers.TrackerPosition;
public final class PoseFrameIO {
@@ -91,9 +91,9 @@ public static PoseFrame readFrames(DataInputStream inputStream) {
for(int j = 0; j < trackerFrameCount; j++) {
int dataFlags = inputStream.readInt();
- TrackerBodyPosition designation = null;
+ TrackerPosition designation = null;
if(TrackerFrameData.DESIGNATION.check(dataFlags)) {
- designation = TrackerBodyPosition.getByDesignation(inputStream.readUTF());
+ designation = TrackerPosition.getByDesignation(inputStream.readUTF());
}
Quaternion rotation = null;
diff --git a/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java b/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java
index 7970b833d1..533aeb27fc 100644
--- a/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java
+++ b/src/main/java/dev/slimevr/poserecorder/PoseFrameTracker.java
@@ -6,9 +6,9 @@
import com.jme3.math.Vector3f;
import io.eiren.util.collections.FastList;
-import io.eiren.vr.processor.TrackerBodyPosition;
import io.eiren.vr.trackers.Tracker;
import io.eiren.vr.trackers.TrackerConfig;
+import io.eiren.vr.trackers.TrackerPosition;
import io.eiren.vr.trackers.TrackerStatus;
public class PoseFrameTracker implements Tracker, Iterable {
@@ -17,6 +17,7 @@ public class PoseFrameTracker implements Tracker, Iterable {
private final FastList frames;
private int frameCursor = 0;
+ private final int trackerId = Tracker.getNextLocalTrackerId();
public PoseFrameTracker(String name, FastList frames) {
if(frames == null) {
@@ -193,13 +194,13 @@ public void tick() {
}
@Override
- public TrackerBodyPosition getBodyPosition() {
+ public TrackerPosition getBodyPosition() {
TrackerFrame frame = safeGetFrame();
return frame == null ? null : frame.designation;
}
@Override
- public void setBodyPosition(TrackerBodyPosition position) {
+ public void setBodyPosition(TrackerPosition position) {
throw new UnsupportedOperationException("PoseFrameTracker does not allow setting the body position");
}
@@ -230,4 +231,9 @@ public boolean isComputed() {
public Iterator iterator() {
return frames.iterator();
}
+
+ @Override
+ public int getTrackerId() {
+ return this.trackerId;
+ }
}
diff --git a/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java b/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java
index a1a132493f..78cb55364f 100644
--- a/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java
+++ b/src/main/java/dev/slimevr/poserecorder/TrackerFrame.java
@@ -3,20 +3,21 @@
import com.jme3.math.Quaternion;
import com.jme3.math.Vector3f;
-import io.eiren.vr.processor.TrackerBodyPosition;
import io.eiren.vr.trackers.Tracker;
import io.eiren.vr.trackers.TrackerConfig;
+import io.eiren.vr.trackers.TrackerPosition;
import io.eiren.vr.trackers.TrackerStatus;
public final class TrackerFrame implements Tracker {
private int dataFlags = 0;
- public final TrackerBodyPosition designation;
+ public final TrackerPosition designation;
public final Quaternion rotation;
public final Vector3f position;
+ private final int trackerId = Tracker.getNextLocalTrackerId();
- public TrackerFrame(TrackerBodyPosition designation, Quaternion rotation, Vector3f position) {
+ public TrackerFrame(TrackerPosition designation, Quaternion rotation, Vector3f position) {
this.designation = designation;
if(designation != null) {
dataFlags |= TrackerFrameData.DESIGNATION.flag;
@@ -141,12 +142,12 @@ public void tick() {
}
@Override
- public TrackerBodyPosition getBodyPosition() {
+ public TrackerPosition getBodyPosition() {
return designation;
}
@Override
- public void setBodyPosition(TrackerBodyPosition position) {
+ public void setBodyPosition(TrackerPosition position) {
throw new UnsupportedOperationException("TrackerFrame does not allow setting the body position");
}
@@ -170,4 +171,9 @@ public boolean isComputed() {
return true;
}
//#endregion
+
+ @Override
+ public int getTrackerId() {
+ return this.trackerId;
+ }
}
diff --git a/src/main/java/io/eiren/gui/TrackersList.java b/src/main/java/io/eiren/gui/TrackersList.java
index a4798d2d13..0b0a7b3e4b 100644
--- a/src/main/java/io/eiren/gui/TrackersList.java
+++ b/src/main/java/io/eiren/gui/TrackersList.java
@@ -24,7 +24,6 @@
import io.eiren.util.ann.ThreadSafe;
import io.eiren.util.collections.FastList;
import io.eiren.vr.VRServer;
-import io.eiren.vr.processor.TrackerBodyPosition;
import io.eiren.vr.trackers.ReferenceAdjustedTracker;
import io.eiren.vr.trackers.ComputedTracker;
import io.eiren.vr.trackers.HMDTracker;
@@ -32,6 +31,7 @@
import io.eiren.vr.trackers.Tracker;
import io.eiren.vr.trackers.TrackerConfig;
import io.eiren.vr.trackers.TrackerMountingRotation;
+import io.eiren.vr.trackers.TrackerPosition;
import io.eiren.vr.trackers.TrackerWithBattery;
import io.eiren.vr.trackers.TrackerWithTPS;
@@ -161,7 +161,7 @@ public TrackerPanel build() {
realTracker = ((ReferenceAdjustedTracker extends Tracker>) t).getTracker();
removeAll();
JLabel nameLabel;
- add(nameLabel = new JLabel(t.getName()), s(c(0, row, 2, GridBagConstraints.FIRST_LINE_START), 4, 1));
+ add(nameLabel = new JLabel(t.getDescriptiveName()), s(c(0, row, 2, GridBagConstraints.FIRST_LINE_START), 4, 1));
nameLabel.setFont(nameLabel.getFont().deriveFont(Font.BOLD));
row++;
@@ -169,18 +169,18 @@ public TrackerPanel build() {
TrackerConfig cfg = server.getTrackerConfig(t);
JComboBox desSelect;
add(desSelect = new JComboBox<>(), s(c(0, row, 2, GridBagConstraints.FIRST_LINE_START), 2, 1));
- for(TrackerBodyPosition p : TrackerBodyPosition.values) {
+ for(TrackerPosition p : TrackerPosition.values) {
desSelect.addItem(p.name());
}
if(cfg.designation != null) {
- TrackerBodyPosition p = TrackerBodyPosition.getByDesignation(cfg.designation);
+ TrackerPosition p = TrackerPosition.getByDesignation(cfg.designation);
if(p != null)
desSelect.setSelectedItem(p.name());
}
desSelect.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
- TrackerBodyPosition p = TrackerBodyPosition.valueOf(String.valueOf(desSelect.getSelectedItem()));
+ TrackerPosition p = TrackerPosition.valueOf(String.valueOf(desSelect.getSelectedItem()));
t.setBodyPosition(p);
server.trackerUpdated(t);
}
diff --git a/src/main/java/io/eiren/gui/VRServerGUI.java b/src/main/java/io/eiren/gui/VRServerGUI.java
index 7d13d3d114..f4278b922f 100644
--- a/src/main/java/io/eiren/gui/VRServerGUI.java
+++ b/src/main/java/io/eiren/gui/VRServerGUI.java
@@ -5,7 +5,10 @@
import javax.swing.border.EmptyBorder;
import javax.swing.event.MouseInputAdapter;
+import dev.slimevr.bridge.NamedPipeBridge;
+import dev.slimevr.bridge.NamedPipeVRBridge;
import dev.slimevr.gui.swing.ButtonTimer;
+import dev.slimevr.gui.swing.EJBagNoStretch;
import dev.slimevr.gui.swing.EJBox;
import dev.slimevr.gui.swing.EJBoxNoStretch;
import io.eiren.util.MacOSX;
@@ -14,7 +17,7 @@
import io.eiren.util.ann.AWTThread;
import io.eiren.vr.Main;
import io.eiren.vr.VRServer;
-import io.eiren.vr.bridge.NamedPipeVRBridge;
+import io.eiren.vr.trackers.TrackerRole;
import java.awt.Component;
import java.awt.Container;
@@ -186,67 +189,86 @@ public void mouseClicked(MouseEvent e) {
setBorder(new EmptyBorder(i(5)));
add(new EJBoxNoStretch(PAGE_AXIS, false, true) {{
setAlignmentY(TOP_ALIGNMENT);
- add(new JLabel("Trackers list"));
+ JLabel l;
+ add(l = new JLabel("Trackers list"));
+ l.setFont(l.getFont().deriveFont(Font.BOLD));
+ l.setAlignmentX(0.5f);
add(trackersList);
add(Box.createVerticalGlue());
}});
add(new EJBoxNoStretch(PAGE_AXIS, false, true) {{
setAlignmentY(TOP_ALIGNMENT);
- add(new JLabel("Body proportions"));
+ JLabel l;
+ add(l = new JLabel("Body proportions"));
+ l.setFont(l.getFont().deriveFont(Font.BOLD));
+ l.setAlignmentX(0.5f);
add(new SkeletonConfig(server, VRServerGUI.this));
add(Box.createVerticalStrut(10));
-
- if(server.hasBridge(NamedPipeVRBridge.class)) {
- add(new JLabel("SteamVR trackers"));
- JComboBox trackersSelect;
- add(trackersSelect = new JComboBox<>());
- trackersSelect.addItem("Waist");
- trackersSelect.addItem("Waist + Legs");
- trackersSelect.addItem("Waist + Legs + Chest");
- trackersSelect.addItem("Waist + Legs + Knees");
- trackersSelect.addItem("Waist + Legs + Chest + Knees");
- switch(server.config.getInt("virtualtrackers", 3)) {
- case 1:
- trackersSelect.setSelectedIndex(0);
- break;
- case 3:
- trackersSelect.setSelectedIndex(1);
- break;
- case 4:
- trackersSelect.setSelectedIndex(2);
- break;
- case 5:
- trackersSelect.setSelectedIndex(3);
- break;
- case 6:
- trackersSelect.setSelectedIndex(4);
- break;
- }
- trackersSelect.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- switch(trackersSelect.getSelectedIndex()) {
- case 0:
- server.config.setProperty("virtualtrackers", 1);
- break;
- case 1:
- server.config.setProperty("virtualtrackers", 3);
- break;
- case 2:
- server.config.setProperty("virtualtrackers", 4);
- break;
- case 3:
- server.config.setProperty("virtualtrackers", 5);
- break;
- case 4:
- server.config.setProperty("virtualtrackers", 6);
- break;
+ if(server.hasBridge(NamedPipeBridge.class)) {
+ NamedPipeBridge br = server.getVRBridge(NamedPipeBridge.class);
+ add(l = new JLabel("SteamVR Trackers"));
+ l.setFont(l.getFont().deriveFont(Font.BOLD));
+ l.setAlignmentX(0.5f);
+ add(l = new JLabel("Changes may require restart of SteamVR"));
+ l.setFont(l.getFont().deriveFont(Font.ITALIC));
+ l.setAlignmentX(0.5f);
+
+ add(new EJBagNoStretch(false, true) {{
+ JCheckBox waistCb;
+ add(waistCb = new JCheckBox("Waist"), c(1, 1));
+ waistCb.setSelected(br.getShareSetting(TrackerRole.WAIST));
+ waistCb.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ server.queueTask(() -> {
+ br.changeShareSettings(TrackerRole.WAIST, waistCb.isSelected());
+ });
+ }
+ });
+
+ JCheckBox legsCb;
+ add(legsCb = new JCheckBox("Legs"), c(2, 1));
+ legsCb.setSelected(br.getShareSetting(TrackerRole.LEFT_FOOT) && br.getShareSetting(TrackerRole.RIGHT_FOOT));
+ legsCb.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ server.queueTask(() -> {
+ br.changeShareSettings(TrackerRole.LEFT_FOOT, legsCb.isSelected());
+ br.changeShareSettings(TrackerRole.RIGHT_FOOT, legsCb.isSelected());
+ });
+ }
+ });
+
+ JCheckBox chestCb;
+ add(chestCb = new JCheckBox("Chest"), c(1, 2));
+ chestCb.setSelected(br.getShareSetting(TrackerRole.CHEST));
+ chestCb.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ server.queueTask(() -> {
+ br.changeShareSettings(TrackerRole.CHEST, chestCb.isSelected());
+ });
+ }
+ });
+
+ JCheckBox kneesCb;
+ add(kneesCb = new JCheckBox("Knees"), c(2, 2));
+ kneesCb.setSelected(br.getShareSetting(TrackerRole.LEFT_KNEE) && br.getShareSetting(TrackerRole.RIGHT_KNEE));
+ kneesCb.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ server.queueTask(() -> {
+ br.changeShareSettings(TrackerRole.LEFT_KNEE, kneesCb.isSelected());
+ br.changeShareSettings(TrackerRole.RIGHT_KNEE, kneesCb.isSelected());
+ });
}
- server.saveConfig();
- }
- });
- add(Box.createVerticalStrut(10));
+ });
+
+ }});
+
+
+ add(Box.createVerticalStrut(10));
}
add(new JLabel("Skeleton data"));
add(skeletonList);
diff --git a/src/main/java/io/eiren/vr/Main.java b/src/main/java/io/eiren/vr/Main.java
index 1045edf506..fc307f5167 100644
--- a/src/main/java/io/eiren/vr/Main.java
+++ b/src/main/java/io/eiren/vr/Main.java
@@ -7,7 +7,7 @@
public class Main {
- public static String VERSION = "0.0.19 Test 1";
+ public static String VERSION = "0.1.0";
public static VRServer vrServer;
diff --git a/src/main/java/io/eiren/vr/VRServer.java b/src/main/java/io/eiren/vr/VRServer.java
index 9003599f1b..7890cdb9b3 100644
--- a/src/main/java/io/eiren/vr/VRServer.java
+++ b/src/main/java/io/eiren/vr/VRServer.java
@@ -15,19 +15,20 @@
import java.util.concurrent.LinkedBlockingQueue;
import java.util.function.Consumer;
+import dev.slimevr.bridge.Bridge;
+import dev.slimevr.bridge.NamedPipeBridge;
+import dev.slimevr.bridge.SteamVRPipeInputBridge;
+import dev.slimevr.bridge.VMCBridge;
+import dev.slimevr.bridge.WebSocketVRBridge;
import io.eiren.util.OperatingSystem;
import io.eiren.util.ann.ThreadSafe;
import io.eiren.util.ann.ThreadSecure;
import io.eiren.util.ann.VRServerThread;
import io.eiren.util.collections.FastList;
-import io.eiren.vr.bridge.NamedPipeVRBridge;
-import io.eiren.vr.bridge.SteamVRPipeInputBridge;
-import io.eiren.vr.bridge.VMCBridge;
-import io.eiren.vr.bridge.VRBridge;
-import io.eiren.vr.bridge.WebSocketVRBridge;
import io.eiren.vr.processor.HumanPoseProcessor;
import io.eiren.vr.processor.HumanSkeleton;
import io.eiren.vr.trackers.HMDTracker;
+import io.eiren.vr.trackers.ShareableTracker;
import io.eiren.vr.trackers.TrackersUDPServer;
import io.eiren.yaml.YamlException;
import io.eiren.yaml.YamlFile;
@@ -40,13 +41,14 @@ public class VRServer extends Thread {
private final List trackers = new FastList<>();
public final HumanPoseProcessor humanPoseProcessor;
private final TrackersUDPServer trackersServer;
- private final List bridges = new FastList<>();
+ private final List bridges = new FastList<>();
private final Queue tasks = new LinkedBlockingQueue<>();
private final Map configuration = new HashMap<>();
public final YamlFile config = new YamlFile();
public final HMDTracker hmdTracker;
private final List> newTrackersConsumers = new FastList<>();
private final List onTick = new FastList<>();
+ private final List extends ShareableTracker> shareTrackers;
public VRServer() {
super("VRServer");
@@ -54,33 +56,39 @@ public VRServer() {
hmdTracker = new HMDTracker("HMD");
hmdTracker.position.set(0, 1.8f, 0); // Set starting position for easier debugging
// TODO Multiple processors
- humanPoseProcessor = new HumanPoseProcessor(this, hmdTracker, config.getInt("virtualtrackers", 3));
- List extends Tracker> shareTrackers = humanPoseProcessor.getComputedTrackers();
+ humanPoseProcessor = new HumanPoseProcessor(this, hmdTracker);
+ shareTrackers = humanPoseProcessor.getComputedTrackers();
// Start server for SlimeVR trackers
trackersServer = new TrackersUDPServer(6969, "Sensors UDP server", this::registerTracker);
// OpenVR bridge currently only supports Windows
if(OperatingSystem.getCurrentPlatform() == OperatingSystem.WINDOWS) {
+ /*
// Create named pipe bridge for SteamVR driver
NamedPipeVRBridge driverBridge = new NamedPipeVRBridge(hmdTracker, shareTrackers, this);
- tasks.add(() -> driverBridge.start());
+ tasks.add(() -> driverBridge.startBridge());
bridges.add(driverBridge);
+ //*/
// Create named pipe bridge for SteamVR input
SteamVRPipeInputBridge steamVRInput = new SteamVRPipeInputBridge(this);
- tasks.add(() -> steamVRInput.start());
+ tasks.add(() -> steamVRInput.startBridge());
bridges.add(steamVRInput);
+ //*/
+ NamedPipeBridge driverBridge = new NamedPipeBridge(hmdTracker, "steamvr", "SteamVR Driver Bridge", "\\\\.\\pipe\\SlimeVRDriver", shareTrackers);
+ tasks.add(() -> driverBridge.startBridge());
+ bridges.add(driverBridge);
}
// Create WebSocket server
WebSocketVRBridge wsBridge = new WebSocketVRBridge(hmdTracker, shareTrackers, this);
- tasks.add(() -> wsBridge.start());
+ tasks.add(() -> wsBridge.startBridge());
bridges.add(wsBridge);
// Create VMCBridge
try {
VMCBridge vmcBridge = new VMCBridge(39539, 39540, InetAddress.getLocalHost());
- tasks.add(() -> vmcBridge.start());
+ tasks.add(() -> vmcBridge.startBridge());
bridges.add(vmcBridge);
} catch(UnknownHostException e) {
e.printStackTrace();
@@ -92,19 +100,20 @@ public VRServer() {
registerTracker(shareTrackers.get(i));
}
- public boolean hasBridge(Class extends VRBridge> bridgeClass) {
+ public boolean hasBridge(Class extends Bridge> bridgeClass) {
for(int i = 0; i < bridges.size(); ++i) {
- return bridgeClass.isAssignableFrom(bridges.get(i).getClass());
+ if(bridgeClass.isAssignableFrom(bridges.get(i).getClass()))
+ return true;
}
return false;
}
@ThreadSafe
- public E getVRBridge(Class cls) {
+ public E getVRBridge(Class bridgeClass) {
for(int i = 0; i < bridges.size(); ++i) {
- VRBridge b = bridges.get(i);
- if(cls.isInstance(b))
- return cls.cast(b);
+ Bridge b = bridges.get(i);
+ if(bridgeClass.isAssignableFrom(b.getClass()))
+ return bridgeClass.cast(b);
}
return null;
}
diff --git a/src/main/java/io/eiren/vr/bridge/Pipe.java b/src/main/java/io/eiren/vr/bridge/Pipe.java
deleted file mode 100644
index e811bd594c..0000000000
--- a/src/main/java/io/eiren/vr/bridge/Pipe.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package io.eiren.vr.bridge;
-
-import com.sun.jna.platform.win32.WinNT.HANDLE;
-
-class Pipe {
- final String name;
- final HANDLE pipeHandle;
- PipeState state = PipeState.CREATED;
-
- public Pipe(HANDLE pipeHandle, String name) {
- this.pipeHandle = pipeHandle;
- this.name = name;
- }
-}
\ No newline at end of file
diff --git a/src/main/java/io/eiren/vr/bridge/PipeState.java b/src/main/java/io/eiren/vr/bridge/PipeState.java
deleted file mode 100644
index 37766e0ee1..0000000000
--- a/src/main/java/io/eiren/vr/bridge/PipeState.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package io.eiren.vr.bridge;
-
-enum PipeState {
- CREATED,
- OPEN,
- ERROR;
-}
\ No newline at end of file
diff --git a/src/main/java/io/eiren/vr/bridge/VRBridge.java b/src/main/java/io/eiren/vr/bridge/VRBridge.java
deleted file mode 100644
index 7c48a4eff0..0000000000
--- a/src/main/java/io/eiren/vr/bridge/VRBridge.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package io.eiren.vr.bridge;
-
-public interface VRBridge {
-
- public void dataRead();
-
- public void dataWrite();
-}
diff --git a/src/main/java/io/eiren/vr/processor/ComputedHumanPoseTracker.java b/src/main/java/io/eiren/vr/processor/ComputedHumanPoseTracker.java
index d78ee7ee68..894ece5278 100644
--- a/src/main/java/io/eiren/vr/processor/ComputedHumanPoseTracker.java
+++ b/src/main/java/io/eiren/vr/processor/ComputedHumanPoseTracker.java
@@ -2,17 +2,20 @@
import io.eiren.util.BufferedTimer;
import io.eiren.vr.trackers.ComputedTracker;
+import io.eiren.vr.trackers.ShareableTracker;
+import io.eiren.vr.trackers.TrackerRole;
import io.eiren.vr.trackers.TrackerWithTPS;
-public class ComputedHumanPoseTracker extends ComputedTracker implements TrackerWithTPS {
+public class ComputedHumanPoseTracker extends ComputedTracker implements TrackerWithTPS, ShareableTracker {
public final ComputedHumanPoseTrackerPosition skeletonPosition;
+ protected final TrackerRole trackerRole;
protected BufferedTimer timer = new BufferedTimer(1f);
- public ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition skeletonPosition, TrackerBodyPosition bodyPosition) {
- super("human://" + skeletonPosition.name(), true, true);
+ public ComputedHumanPoseTracker(int trackerId, ComputedHumanPoseTrackerPosition skeletonPosition, TrackerRole role) {
+ super(trackerId, "human://" + skeletonPosition.name(), true, true);
this.skeletonPosition = skeletonPosition;
- this.bodyPosition = bodyPosition;
+ this.trackerRole = role;
}
@Override
@@ -24,4 +27,9 @@ public float getTPS() {
public void dataTick() {
timer.update();
}
+
+ @Override
+ public TrackerRole getTrackerRole() {
+ return trackerRole;
+ }
}
diff --git a/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java b/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java
index a1923ec266..8ff6ea9296 100644
--- a/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java
+++ b/src/main/java/io/eiren/vr/processor/HumanPoseProcessor.java
@@ -8,7 +8,9 @@
import io.eiren.util.collections.FastList;
import io.eiren.vr.VRServer;
import io.eiren.vr.trackers.HMDTracker;
+import io.eiren.vr.trackers.ShareableTracker;
import io.eiren.vr.trackers.Tracker;
+import io.eiren.vr.trackers.TrackerRole;
import io.eiren.vr.trackers.TrackerStatus;
public class HumanPoseProcessor {
@@ -18,20 +20,14 @@ public class HumanPoseProcessor {
private final List> onSkeletonUpdated = new FastList<>();
private HumanSkeleton skeleton;
- public HumanPoseProcessor(VRServer server, HMDTracker hmd, int trackersAmount) {
+ public HumanPoseProcessor(VRServer server, HMDTracker hmd) {
this.server = server;
- computedTrackers.add(new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.WAIST, TrackerBodyPosition.WAIST));
- if(trackersAmount > 2) {
- computedTrackers.add(new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.LEFT_FOOT, TrackerBodyPosition.LEFT_FOOT));
- computedTrackers.add(new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.RIGHT_FOOT, TrackerBodyPosition.RIGHT_FOOT));
- if(trackersAmount == 4 || trackersAmount >= 6) {
- computedTrackers.add(new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.CHEST, TrackerBodyPosition.CHEST));
- }
- if(trackersAmount >= 5) {
- computedTrackers.add(new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.LEFT_KNEE, TrackerBodyPosition.LEFT_ANKLE));
- computedTrackers.add(new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.RIGHT_KNEE, TrackerBodyPosition.RIGHT_ANKLE));
- }
- }
+ computedTrackers.add(new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.WAIST, TrackerRole.WAIST));
+ computedTrackers.add(new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.LEFT_FOOT, TrackerRole.LEFT_FOOT));
+ computedTrackers.add(new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.RIGHT_FOOT, TrackerRole.RIGHT_FOOT));
+ computedTrackers.add(new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.CHEST, TrackerRole.CHEST));
+ computedTrackers.add(new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.LEFT_KNEE, TrackerRole.LEFT_KNEE));
+ computedTrackers.add(new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.RIGHT_KNEE, TrackerRole.RIGHT_KNEE));
}
public HumanSkeleton getSkeleton() {
@@ -68,7 +64,7 @@ public float getSkeletonConfig(String key) {
}
@ThreadSafe
- public List extends Tracker> getComputedTrackers() {
+ public List extends ShareableTracker> getComputedTrackers() {
return computedTrackers;
}
diff --git a/src/main/java/io/eiren/vr/processor/HumanSkeletonWithLegs.java b/src/main/java/io/eiren/vr/processor/HumanSkeletonWithLegs.java
index 6046c8b231..dc4e720a2c 100644
--- a/src/main/java/io/eiren/vr/processor/HumanSkeletonWithLegs.java
+++ b/src/main/java/io/eiren/vr/processor/HumanSkeletonWithLegs.java
@@ -9,6 +9,8 @@
import io.eiren.util.ann.VRServerThread;
import io.eiren.vr.VRServer;
import io.eiren.vr.trackers.Tracker;
+import io.eiren.vr.trackers.TrackerPosition;
+import io.eiren.vr.trackers.TrackerRole;
import io.eiren.vr.trackers.TrackerStatus;
import io.eiren.vr.trackers.TrackerUtils;
@@ -69,12 +71,12 @@ public class HumanSkeletonWithLegs extends HumanSkeletonWithWaist {
public HumanSkeletonWithLegs(VRServer server, List computedTrackers) {
super(server, computedTrackers);
List allTracekrs = server.getAllTrackers();
- this.leftLegTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerBodyPosition.LEFT_LEG, TrackerBodyPosition.LEFT_ANKLE);
- this.leftAnkleTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerBodyPosition.LEFT_ANKLE, TrackerBodyPosition.LEFT_LEG);
- this.leftFootTracker = TrackerUtils.findTrackerForBodyPosition(allTracekrs, TrackerBodyPosition.LEFT_FOOT);
- this.rightLegTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerBodyPosition.RIGHT_LEG, TrackerBodyPosition.RIGHT_ANKLE);
- this.rightAnkleTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerBodyPosition.RIGHT_ANKLE, TrackerBodyPosition.RIGHT_LEG);
- this.rightFootTracker = TrackerUtils.findTrackerForBodyPosition(allTracekrs, TrackerBodyPosition.RIGHT_FOOT);
+ this.leftLegTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerPosition.LEFT_LEG, TrackerPosition.LEFT_ANKLE);
+ this.leftAnkleTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerPosition.LEFT_ANKLE, TrackerPosition.LEFT_LEG);
+ this.leftFootTracker = TrackerUtils.findTrackerForBodyPosition(allTracekrs, TrackerPosition.LEFT_FOOT);
+ this.rightLegTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerPosition.RIGHT_LEG, TrackerPosition.RIGHT_ANKLE);
+ this.rightAnkleTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerPosition.RIGHT_ANKLE, TrackerPosition.RIGHT_LEG);
+ this.rightFootTracker = TrackerUtils.findTrackerForBodyPosition(allTracekrs, TrackerPosition.RIGHT_FOOT);
ComputedHumanPoseTracker lat = null;
ComputedHumanPoseTracker rat = null;
ComputedHumanPoseTracker rkt = null;
@@ -91,9 +93,9 @@ public HumanSkeletonWithLegs(VRServer server, List com
rkt = t;
}
if(lat == null)
- lat = new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.LEFT_FOOT, TrackerBodyPosition.LEFT_FOOT);
+ lat = new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.LEFT_FOOT, TrackerRole.LEFT_FOOT);
if(rat == null)
- rat = new ComputedHumanPoseTracker(ComputedHumanPoseTrackerPosition.RIGHT_FOOT, TrackerBodyPosition.RIGHT_FOOT);
+ rat = new ComputedHumanPoseTracker(Tracker.getNextLocalTrackerId(), ComputedHumanPoseTrackerPosition.RIGHT_FOOT, TrackerRole.RIGHT_FOOT);
computedLeftFootTracker = lat;
computedRightFootTracker = rat;
computedLeftKneeTracker = lkt;
diff --git a/src/main/java/io/eiren/vr/processor/HumanSkeletonWithWaist.java b/src/main/java/io/eiren/vr/processor/HumanSkeletonWithWaist.java
index 880e3087a2..3a80854479 100644
--- a/src/main/java/io/eiren/vr/processor/HumanSkeletonWithWaist.java
+++ b/src/main/java/io/eiren/vr/processor/HumanSkeletonWithWaist.java
@@ -11,6 +11,7 @@
import io.eiren.vr.VRServer;
import io.eiren.vr.trackers.HMDTracker;
import io.eiren.vr.trackers.Tracker;
+import io.eiren.vr.trackers.TrackerPosition;
import io.eiren.vr.trackers.TrackerStatus;
import io.eiren.vr.trackers.TrackerUtils;
@@ -60,8 +61,8 @@ public class HumanSkeletonWithWaist extends HumanSkeleton {
public HumanSkeletonWithWaist(VRServer server, List computedTrackers) {
List allTracekrs = server.getAllTrackers();
- this.waistTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerBodyPosition.WAIST, TrackerBodyPosition.CHEST);
- this.chestTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerBodyPosition.CHEST, TrackerBodyPosition.WAIST);
+ this.waistTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerPosition.WAIST, TrackerPosition.CHEST);
+ this.chestTracker = TrackerUtils.findTrackerForBodyPositionOrEmpty(allTracekrs, TrackerPosition.CHEST, TrackerPosition.WAIST);
this.hmdTracker = server.hmdTracker;
this.server = server;
ComputedHumanPoseTracker cwt = null;
diff --git a/src/main/java/io/eiren/vr/processor/TrackerBodyPosition.java b/src/main/java/io/eiren/vr/processor/TrackerBodyPosition.java
deleted file mode 100644
index d814c13716..0000000000
--- a/src/main/java/io/eiren/vr/processor/TrackerBodyPosition.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package io.eiren.vr.processor;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public enum TrackerBodyPosition {
-
- NONE(""),
- HMD("HMD"),
- CHEST("chest"),
- WAIST("waist"),
- LEFT_LEG("left_leg"),
- RIGHT_LEG("right_leg"),
- LEFT_ANKLE("left_ankle"),
- RIGHT_ANKLE("right_ankle"),
- LEFT_FOOT("left_foot"),
- RIGHT_FOOT("right_foot"),
- LEFT_CONTROLLER("left_controller"),
- RIGHT_CONTROLLER("right_conroller"),
- ;
-
- public final String designation;
-
- public static final TrackerBodyPosition[] values = values();
- private static final Map byDesignation = new HashMap<>();
-
- private TrackerBodyPosition(String designation) {
- this.designation = designation;
- }
-
- public static TrackerBodyPosition getByDesignation(String designation) {
- return designation == null ? null : byDesignation.get(designation.toLowerCase());
- }
-
- static {
- for(TrackerBodyPosition tbp : values())
- byDesignation.put(tbp.designation.toLowerCase(), tbp);
- }
-}
\ No newline at end of file
diff --git a/src/main/java/io/eiren/vr/trackers/ComputedTracker.java b/src/main/java/io/eiren/vr/trackers/ComputedTracker.java
index 19da586882..e73c7d0aae 100644
--- a/src/main/java/io/eiren/vr/trackers/ComputedTracker.java
+++ b/src/main/java/io/eiren/vr/trackers/ComputedTracker.java
@@ -3,22 +3,28 @@
import com.jme3.math.Quaternion;
import com.jme3.math.Vector3f;
-import io.eiren.vr.processor.TrackerBodyPosition;
-
-public class ComputedTracker implements Tracker {
+public class ComputedTracker implements Tracker, TrackerWithTPS {
public final Vector3f position = new Vector3f();
public final Quaternion rotation = new Quaternion();
protected final String name;
+ protected final String serial;
protected TrackerStatus status = TrackerStatus.DISCONNECTED;
- public TrackerBodyPosition bodyPosition = null;
+ public TrackerPosition bodyPosition = null;
protected final boolean hasRotation;
protected final boolean hasPosition;
+ protected final int trackerId;
- public ComputedTracker(String name, boolean hasRotation, boolean hasPosition) {
+ public ComputedTracker(int trackerId, String serial, String name, boolean hasRotation, boolean hasPosition) {
this.name = name;
+ this.serial = serial;
this.hasRotation = hasRotation;
this.hasPosition = hasPosition;
+ this.trackerId = trackerId;
+ }
+
+ public ComputedTracker(int trackerId, String name, boolean hasRotation, boolean hasPosition) {
+ this(trackerId, name, name, hasRotation, hasPosition);
}
@Override
@@ -30,12 +36,17 @@ public void saveConfig(TrackerConfig config) {
public void loadConfig(TrackerConfig config) {
// Loading a config is an act of user editing, therefore it shouldn't not be allowed if editing is not allowed
if (userEditable()) {
- bodyPosition = TrackerBodyPosition.getByDesignation(config.designation);
+ bodyPosition = TrackerPosition.getByDesignation(config.designation);
}
}
@Override
public String getName() {
+ return this.serial;
+ }
+
+ @Override
+ public String getDescriptiveName() {
return this.name;
}
@@ -74,12 +85,12 @@ public void resetYaw(Quaternion reference) {
}
@Override
- public TrackerBodyPosition getBodyPosition() {
+ public TrackerPosition getBodyPosition() {
return bodyPosition;
}
@Override
- public void setBodyPosition(TrackerBodyPosition position) {
+ public void setBodyPosition(TrackerPosition position) {
this.bodyPosition = position;
}
@@ -87,6 +98,10 @@ public void setBodyPosition(TrackerBodyPosition position) {
public boolean userEditable() {
return false;
}
+
+ @Override
+ public void dataTick() {
+ }
@Override
public void tick() {
@@ -106,4 +121,14 @@ public boolean hasPosition() {
public boolean isComputed() {
return true;
}
+
+ @Override
+ public float getTPS() {
+ return -1;
+ }
+
+ @Override
+ public int getTrackerId() {
+ return this.trackerId;
+ }
}
diff --git a/src/main/java/io/eiren/vr/trackers/DeviceType.java b/src/main/java/io/eiren/vr/trackers/DeviceType.java
new file mode 100644
index 0000000000..e2ef8dffd9
--- /dev/null
+++ b/src/main/java/io/eiren/vr/trackers/DeviceType.java
@@ -0,0 +1,9 @@
+package io.eiren.vr.trackers;
+
+public enum DeviceType {
+ HMD,
+ CONTROLLER,
+ TRACKER,
+ TRACKING_REFERENCE,
+ ;
+}
diff --git a/src/main/java/io/eiren/vr/trackers/HMDTracker.java b/src/main/java/io/eiren/vr/trackers/HMDTracker.java
index cb26402e6d..4598ad648b 100644
--- a/src/main/java/io/eiren/vr/trackers/HMDTracker.java
+++ b/src/main/java/io/eiren/vr/trackers/HMDTracker.java
@@ -1,15 +1,14 @@
package io.eiren.vr.trackers;
import io.eiren.util.BufferedTimer;
-import io.eiren.vr.processor.TrackerBodyPosition;
public class HMDTracker extends ComputedTracker implements TrackerWithTPS {
protected BufferedTimer timer = new BufferedTimer(1f);
public HMDTracker(String name) {
- super(name, true, true);
- setBodyPosition(TrackerBodyPosition.HMD);
+ super(0, name, true, true);
+ setBodyPosition(TrackerPosition.HMD);
}
@Override
diff --git a/src/main/java/io/eiren/vr/trackers/IMUTracker.java b/src/main/java/io/eiren/vr/trackers/IMUTracker.java
index e1e5d3adca..3ef19e6a33 100644
--- a/src/main/java/io/eiren/vr/trackers/IMUTracker.java
+++ b/src/main/java/io/eiren/vr/trackers/IMUTracker.java
@@ -6,7 +6,6 @@
import io.eiren.math.FloatMath;
import io.eiren.util.BufferedTimer;
-import io.eiren.vr.processor.TrackerBodyPosition;
public class IMUTracker implements Tracker, TrackerWithTPS, TrackerWithBattery {
@@ -21,8 +20,10 @@ public class IMUTracker implements Tracker, TrackerWithTPS, TrackerWithBattery {
protected final Quaternion correction = new Quaternion();
protected TrackerMountingRotation mounting = null;
protected TrackerStatus status = TrackerStatus.OK;
+ protected final int trackerId;
protected final String name;
+ protected final String descriptiveName;
protected final TrackersUDPServer server;
protected float confidence = 0;
protected float batteryVoltage = 0;
@@ -37,11 +38,13 @@ public class IMUTracker implements Tracker, TrackerWithTPS, TrackerWithBattery {
public StringBuilder serialBuffer = new StringBuilder();
long lastSerialUpdate = 0;
- public TrackerBodyPosition bodyPosition = null;
+ public TrackerPosition bodyPosition = null;
- public IMUTracker(String name, TrackersUDPServer server) {
+ public IMUTracker(int trackerId, String name, String descriptiveName, TrackersUDPServer server) {
this.name = name;
this.server = server;
+ this.trackerId = trackerId;
+ this.descriptiveName = descriptiveName;
}
@Override
@@ -64,7 +67,7 @@ public void loadConfig(TrackerConfig config) {
} else {
rotAdjust.loadIdentity();
}
- bodyPosition = TrackerBodyPosition.getByDesignation(config.designation);
+ bodyPosition = TrackerPosition.getByDesignation(config.designation);
}
}
@@ -188,12 +191,12 @@ protected void calculateLiveMagnetometerCorrection() {
}
@Override
- public TrackerBodyPosition getBodyPosition() {
+ public TrackerPosition getBodyPosition() {
return bodyPosition;
}
@Override
- public void setBodyPosition(TrackerBodyPosition position) {
+ public void setBodyPosition(TrackerPosition position) {
this.bodyPosition = position;
}
@@ -201,6 +204,31 @@ public void setBodyPosition(TrackerBodyPosition position) {
public boolean userEditable() {
return true;
}
+
+ @Override
+ public boolean hasRotation() {
+ return true;
+ }
+
+ @Override
+ public boolean hasPosition() {
+ return false;
+ }
+
+ @Override
+ public boolean isComputed() {
+ return false;
+ }
+
+ @Override
+ public int getTrackerId() {
+ return this.trackerId;
+ }
+
+ @Override
+ public String getDescriptiveName() {
+ return this.descriptiveName;
+ }
public enum CalibrationAccuracy {
@@ -228,19 +256,4 @@ public static CalibrationAccuracy getByStatus(int status) {
byStatus[ca.status] = ca;
}
}
-
- @Override
- public boolean hasRotation() {
- return true;
- }
-
- @Override
- public boolean hasPosition() {
- return false;
- }
-
- @Override
- public boolean isComputed() {
- return false;
- }
}
diff --git a/src/main/java/io/eiren/vr/trackers/MPUTracker.java b/src/main/java/io/eiren/vr/trackers/MPUTracker.java
index 4c74c88353..8c6345b6a4 100644
--- a/src/main/java/io/eiren/vr/trackers/MPUTracker.java
+++ b/src/main/java/io/eiren/vr/trackers/MPUTracker.java
@@ -6,8 +6,8 @@ public class MPUTracker extends IMUTracker {
public ConfigurationData newCalibrationData;
- public MPUTracker(String name, TrackersUDPServer server) {
- super(name, server);
+ public MPUTracker(int trackerId, String name, String descriptiveName, TrackersUDPServer server) {
+ super(trackerId, name, descriptiveName, server);
}
public static class ConfigurationData {
diff --git a/src/main/java/io/eiren/vr/trackers/ReferenceAdjustedTracker.java b/src/main/java/io/eiren/vr/trackers/ReferenceAdjustedTracker.java
index 1f124b6722..84af9b7a10 100644
--- a/src/main/java/io/eiren/vr/trackers/ReferenceAdjustedTracker.java
+++ b/src/main/java/io/eiren/vr/trackers/ReferenceAdjustedTracker.java
@@ -3,8 +3,6 @@
import com.jme3.math.Quaternion;
import com.jme3.math.Vector3f;
-import io.eiren.vr.processor.TrackerBodyPosition;
-
public class ReferenceAdjustedTracker implements Tracker {
public final E tracker;
@@ -133,12 +131,12 @@ public float getConfidenceLevel() {
}
@Override
- public TrackerBodyPosition getBodyPosition() {
+ public TrackerPosition getBodyPosition() {
return tracker.getBodyPosition();
}
@Override
- public void setBodyPosition(TrackerBodyPosition position) {
+ public void setBodyPosition(TrackerPosition position) {
tracker.setBodyPosition(position);
}
@@ -161,4 +159,14 @@ public boolean hasPosition() {
public boolean isComputed() {
return tracker.isComputed();
}
+
+ @Override
+ public int getTrackerId() {
+ return tracker.getTrackerId();
+ }
+
+ @Override
+ public String getDescriptiveName() {
+ return tracker.getDescriptiveName();
+ }
}
diff --git a/src/main/java/io/eiren/vr/trackers/ShareableTracker.java b/src/main/java/io/eiren/vr/trackers/ShareableTracker.java
new file mode 100644
index 0000000000..0780b288ea
--- /dev/null
+++ b/src/main/java/io/eiren/vr/trackers/ShareableTracker.java
@@ -0,0 +1,6 @@
+package io.eiren.vr.trackers;
+
+public interface ShareableTracker extends Tracker {
+
+ public TrackerRole getTrackerRole();
+}
diff --git a/src/main/java/io/eiren/vr/trackers/Tracker.java b/src/main/java/io/eiren/vr/trackers/Tracker.java
index 34f576ab2f..263bdad79c 100644
--- a/src/main/java/io/eiren/vr/trackers/Tracker.java
+++ b/src/main/java/io/eiren/vr/trackers/Tracker.java
@@ -1,12 +1,14 @@
package io.eiren.vr.trackers;
+import java.util.concurrent.atomic.AtomicInteger;
+
import com.jme3.math.Quaternion;
import com.jme3.math.Vector3f;
-import io.eiren.vr.processor.TrackerBodyPosition;
-
public interface Tracker {
+ public static final AtomicInteger nextLocalTrackerId = new AtomicInteger();
+
public boolean getPosition(Vector3f store);
public boolean getRotation(Quaternion store);
@@ -27,9 +29,9 @@ public interface Tracker {
public void tick();
- public TrackerBodyPosition getBodyPosition();
+ public TrackerPosition getBodyPosition();
- public void setBodyPosition(TrackerBodyPosition position);
+ public void setBodyPosition(TrackerPosition position);
public boolean userEditable();
@@ -39,7 +41,13 @@ public interface Tracker {
public boolean isComputed();
+ public int getTrackerId();
+
public default String getDescriptiveName() {
return getName();
}
+
+ public static int getNextLocalTrackerId() {
+ return nextLocalTrackerId.incrementAndGet();
+ }
}
diff --git a/src/main/java/io/eiren/vr/trackers/TrackerPosition.java b/src/main/java/io/eiren/vr/trackers/TrackerPosition.java
new file mode 100644
index 0000000000..b03c60ebf4
--- /dev/null
+++ b/src/main/java/io/eiren/vr/trackers/TrackerPosition.java
@@ -0,0 +1,54 @@
+package io.eiren.vr.trackers;
+
+import java.util.EnumMap;
+import java.util.HashMap;
+import java.util.Map;
+
+public enum TrackerPosition {
+
+ NONE("", TrackerRole.NONE),
+ HMD("HMD", TrackerRole.HMD),
+ CHEST("body:chest", TrackerRole.CHEST),
+ WAIST("body:waist", TrackerRole.WAIST),
+ LEFT_LEG("body:left_leg", TrackerRole.LEFT_KNEE),
+ RIGHT_LEG("body:right_leg", TrackerRole.RIGHT_KNEE),
+ LEFT_ANKLE("body:left_ankle", null),
+ RIGHT_ANKLE("body:right_ankle", null),
+ LEFT_FOOT("body:left_foot", TrackerRole.LEFT_FOOT),
+ RIGHT_FOOT("body:right_foot", TrackerRole.RIGHT_FOOT),
+ LEFT_CONTROLLER("body:left_controller", TrackerRole.LEFT_CONTROLLER),
+ RIGHT_CONTROLLER("body:right_conroller", TrackerRole.RIGHT_CONTROLLER),
+ ;
+
+ public final String designation;
+ public final TrackerRole trackerRole;
+
+ public static final TrackerPosition[] values = values();
+ private static final Map byDesignation = new HashMap<>();
+ private static final EnumMap byRole = new EnumMap<>(TrackerRole.class);
+
+ private TrackerPosition(String designation, TrackerRole trackerRole) {
+ this.designation = designation;
+ this.trackerRole = trackerRole;
+ }
+
+ public static TrackerPosition getByDesignation(String designation) {
+ return designation == null ? null : byDesignation.get(designation.toLowerCase());
+ }
+
+ public static TrackerPosition getByRole(TrackerRole role) {
+ return byRole.get(role);
+ }
+
+ static {
+ for(TrackerPosition tbp : values()) {
+ byDesignation.put(tbp.designation.toLowerCase(), tbp);
+ if(tbp.trackerRole != null) {
+ TrackerPosition old = byRole.get(tbp.trackerRole);
+ if(old != null)
+ throw new AssertionError("Only one tracker position can match tracker role. " + tbp.trackerRole + " is occupied by " + old + " when adding " + tbp);
+ byRole.put(tbp.trackerRole, tbp);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/io/eiren/vr/trackers/TrackerRole.java b/src/main/java/io/eiren/vr/trackers/TrackerRole.java
new file mode 100644
index 0000000000..410d1822da
--- /dev/null
+++ b/src/main/java/io/eiren/vr/trackers/TrackerRole.java
@@ -0,0 +1,55 @@
+package io.eiren.vr.trackers;
+
+public enum TrackerRole {
+
+ NONE(0, "", "", null),
+ WAIST(1, "vive_tracker_waist", "TrackerRole_Waist", DeviceType.TRACKER),
+ LEFT_FOOT(2, "vive_tracker_left_foot", "TrackerRole_LeftFoot", DeviceType.TRACKER),
+ RIGHT_FOOT(3, "vive_tracker_right_foot", "TrackerRole_RightFoot", DeviceType.TRACKER),
+ CHEST(4, "vive_tracker_chest", "TrackerRole_Chest", DeviceType.TRACKER),
+ LEFT_KNEE(5, "vive_tracker_left_knee", "TrackerRole_LeftKnee", DeviceType.TRACKER),
+ RIGHT_KNEE(6, "vive_tracker_right_knee", "TrackerRole_RightKnee", DeviceType.TRACKER),
+ LEFT_ELBOW(7, "vive_tracker_left_elbow", "TrackerRole_LeftElbow", DeviceType.TRACKER),
+ RIGHT_ELBOW(8, "vive_tracker_right_elbow", "TrackerRole_RightElbow", DeviceType.TRACKER),
+ LEFT_SHOULDER(9, "vive_tracker_left_shoulder", "TrackerRole_LeftShoulder", DeviceType.TRACKER),
+ RIGHT_SHOULDER(10, "vive_tracker_right_shoulder", "TrackerRole_RightShoulder", DeviceType.TRACKER),
+ LEFT_HAND(11, "vive_tracker_handed", "TrackerRole_Handed", DeviceType.TRACKER),
+ RIGHT_HAND(12, "vive_tracker_handed", "TrackerRole_Handed", DeviceType.TRACKER),
+ LEFT_CONTROLLER(13, "vive_tracker_handed", "TrackerRole_Handed", DeviceType.CONTROLLER),
+ RIGHT_CONTROLLER(14, "vive_tracker_handed", "TrackerRole_Handed", DeviceType.CONTROLLER),
+ HEAD(15, "", "", DeviceType.TRACKER),
+ NECK(16, "", "", DeviceType.TRACKER),
+ CAMERA(17, "vive_tracker_camera", "TrackerRole_Camera", DeviceType.TRACKER),
+ KEYBOARD(18, "vive_tracker_keyboard", "TrackerRole_Keyboard", DeviceType.TRACKER),
+ HMD(19, "", "", DeviceType.HMD),
+ BEACON(20, "", "", DeviceType.TRACKING_REFERENCE),
+ GENERIC_CONTROLLER(21, "vive_tracker_handed", "TrackerRole_Handed", DeviceType.CONTROLLER),
+ ;
+
+ public final int id;
+ public final String roleHint;
+ public final String viveRole;
+ public final DeviceType deviceType;
+
+ public static final TrackerRole[] values = values();
+ private static final TrackerRole[] byId = new TrackerRole[22];
+
+ private TrackerRole(int id, String roleHint, String viveRole, DeviceType deviceType) {
+ this.id = id;
+ this.roleHint = roleHint;
+ this.viveRole = viveRole;
+ this.deviceType = deviceType;
+ }
+
+ public static TrackerRole getById(int id) {
+ return id < 0 || id >= byId.length ? null : byId[id];
+ }
+
+ static {
+ for(TrackerRole tr : values) {
+ if(byId[tr.id] != null)
+ throw new AssertionError("Tracker role id " + tr.id + " occupied by " + byId[tr.id] + " when adding " + tr);
+ byId[tr.id] = tr;
+ }
+ }
+}
diff --git a/src/main/java/io/eiren/vr/trackers/TrackerUtils.java b/src/main/java/io/eiren/vr/trackers/TrackerUtils.java
index 58cf211435..e02e382e1c 100644
--- a/src/main/java/io/eiren/vr/trackers/TrackerUtils.java
+++ b/src/main/java/io/eiren/vr/trackers/TrackerUtils.java
@@ -2,14 +2,12 @@
import java.util.List;
-import io.eiren.vr.processor.TrackerBodyPosition;
-
public class TrackerUtils {
private TrackerUtils() {
}
- public static T findTrackerForBodyPosition(T[] allTrackers, TrackerBodyPosition position) {
+ public static T findTrackerForBodyPosition(T[] allTrackers, TrackerPosition position) {
for(int i = 0; i < allTrackers.length; ++i) {
T t = allTrackers[i];
if(t != null && t.getBodyPosition() == position)
@@ -18,7 +16,7 @@ public static T findTrackerForBodyPosition(T[] allTrackers,
return null;
}
- public static T findTrackerForBodyPosition(List allTrackers, TrackerBodyPosition position) {
+ public static T findTrackerForBodyPosition(List allTrackers, TrackerPosition position) {
for(int i = 0; i < allTrackers.size(); ++i) {
T t = allTrackers.get(i);
if(t != null && t.getBodyPosition() == position)
@@ -27,37 +25,37 @@ public static T findTrackerForBodyPosition(List allTracke
return null;
}
- public static T findTrackerForBodyPosition(List allTrackers, TrackerBodyPosition position, TrackerBodyPosition altPosition) {
+ public static T findTrackerForBodyPosition(List allTrackers, TrackerPosition position, TrackerPosition altPosition) {
T t = findTrackerForBodyPosition(allTrackers, position);
if(t != null)
return t;
return findTrackerForBodyPosition(allTrackers, altPosition);
}
- public static T findTrackerForBodyPosition(T[] allTrackers, TrackerBodyPosition position, TrackerBodyPosition altPosition) {
+ public static T findTrackerForBodyPosition(T[] allTrackers, TrackerPosition position, TrackerPosition altPosition) {
T t = findTrackerForBodyPosition(allTrackers, position);
if(t != null)
return t;
return findTrackerForBodyPosition(allTrackers, altPosition);
}
- public static Tracker findTrackerForBodyPositionOrEmpty(List extends Tracker> allTrackers, TrackerBodyPosition position, TrackerBodyPosition altPosition) {
+ public static Tracker findTrackerForBodyPositionOrEmpty(List extends Tracker> allTrackers, TrackerPosition position, TrackerPosition altPosition) {
Tracker t = findTrackerForBodyPosition(allTrackers, position);
if(t != null)
return t;
t = findTrackerForBodyPosition(allTrackers, altPosition);
if(t != null)
return t;
- return new ComputedTracker("Empty tracker", false, false);
+ return new ComputedTracker(Tracker.getNextLocalTrackerId(), "Empty tracker", false, false);
}
- public static Tracker findTrackerForBodyPositionOrEmpty(Tracker[] allTrackers, TrackerBodyPosition position, TrackerBodyPosition altPosition) {
+ public static Tracker findTrackerForBodyPositionOrEmpty(Tracker[] allTrackers, TrackerPosition position, TrackerPosition altPosition) {
Tracker t = findTrackerForBodyPosition(allTrackers, position);
if(t != null)
return t;
t = findTrackerForBodyPosition(allTrackers, altPosition);
if(t != null)
return t;
- return new ComputedTracker("Empty tracker", false, false);
+ return new ComputedTracker(Tracker.getNextLocalTrackerId(), "Empty tracker", false, false);
}
}
diff --git a/src/main/java/io/eiren/vr/trackers/TrackersUDPServer.java b/src/main/java/io/eiren/vr/trackers/TrackersUDPServer.java
index 7c7d0233c5..996ad546bb 100644
--- a/src/main/java/io/eiren/vr/trackers/TrackersUDPServer.java
+++ b/src/main/java/io/eiren/vr/trackers/TrackersUDPServer.java
@@ -10,6 +10,7 @@
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
@@ -104,7 +105,8 @@ private void setUpNewSensor(DatagramPacket handshakePacket, ByteBuffer data) thr
isOwo = true;
}
String trackerName = macString != null ? "udp://" + macString : "udp:/" + handshakePacket.getAddress().toString();
- IMUTracker imu = new IMUTracker(trackerName, this);
+ String descriptiveName = "udp:/" + handshakePacket.getAddress().toString();
+ IMUTracker imu = new IMUTracker(Tracker.getNextLocalTrackerId(), trackerName, descriptiveName, this);
ReferenceAdjustedTracker adjustedTracker = new ReferenceAdjustedTracker<>(imu);
trackersConsumer.accept(adjustedTracker);
sensor = new TrackerConnection(imu, handshakePacket.getSocketAddress());
@@ -117,14 +119,14 @@ private void setUpNewSensor(DatagramPacket handshakePacket, ByteBuffer data) thr
}
System.out.println("[TrackerServer] Sensor " + i + " added with address " + handshakePacket.getSocketAddress() + ". Board type: " + boardType + ", imu type: " + imuType + ", firmware: " + firmware + " (" + firmwareBuild + "), mac: " + macString + ", name: " + trackerName);
}
- sensor.tracker.setStatus(TrackerStatus.OK);
+ sensor.sensors.get(0).setStatus(TrackerStatus.OK);
socket.send(new DatagramPacket(HANDSHAKE_BUFFER, HANDSHAKE_BUFFER.length, handshakePacket.getAddress(), handshakePacket.getPort()));
}
- private void setUpAuxilarySensor(TrackerConnection connection) throws IOException {
- System.out.println("[TrackerServer] Setting up auxilary sensor for " + connection.tracker.getName());
- IMUTracker imu = new IMUTracker(connection.tracker.getName() + "/1", this);
- connection.secondTracker = imu;
+ private void setUpAuxilarySensor(TrackerConnection connection, int trackerId) throws IOException {
+ System.out.println("[TrackerServer] Setting up auxilary sensor for " + connection.sensors.get(0).getName());
+ IMUTracker imu = new IMUTracker(Tracker.getNextLocalTrackerId(), connection.sensors.get(0).getName() + "/" + trackerId, connection.sensors.get(0).getDescriptiveName() + "/" + trackerId, this);
+ connection.sensors.put(trackerId, imu);
ReferenceAdjustedTracker adjustedTracker = new ReferenceAdjustedTracker<>(imu);
trackersConsumer.accept(adjustedTracker);
System.out.println("[TrackerServer] Sensor added with address " + imu.getName());
@@ -167,9 +169,9 @@ public void run() {
buf.set(bb.getFloat(), bb.getFloat(), bb.getFloat(), bb.getFloat());
offset.mult(buf, buf);
if(packetId == 1) {
- tracker = connection.tracker;
+ tracker = connection.sensors.get(0);
} else {
- tracker = connection.secondTracker;
+ tracker = connection.sensors.get(1);
}
if(tracker == null)
break;
@@ -183,11 +185,7 @@ public void run() {
break;
bb.getLong();
int sensorId = bb.get() & 0xFF;
- if(sensorId == 0) {
- tracker = connection.tracker;
- } else if(sensorId == 1) {
- tracker = connection.secondTracker;
- }
+ tracker = connection.sensors.get(sensorId);
if(tracker == null)
break;
@@ -216,11 +214,7 @@ public void run() {
break;
bb.getLong();
sensorId = bb.get() & 0xFF;
- if(sensorId == 0) {
- tracker = connection.tracker;
- } else if(sensorId == 1) {
- tracker = connection.secondTracker;
- }
+ tracker = connection.sensors.get(sensorId);
if(tracker == null)
break;
float accuracyInfo = bb.getFloat();
@@ -231,7 +225,7 @@ public void run() {
if(connection == null)
break;
bb.getLong();
- connection.tracker.gyroVector.set(bb.getFloat(), bb.getFloat(), bb.getFloat());
+ connection.sensors.get(0).gyroVector.set(bb.getFloat(), bb.getFloat(), bb.getFloat());
break;
case 4:
if(connection == null)
@@ -240,7 +234,7 @@ public void run() {
float x = bb.getFloat();
float z = bb.getFloat();
float y = bb.getFloat();
- connection.tracker.accelVector.set(x, y, z);
+ connection.sensors.get(0).accelVector.set(x, y, z);
break;
case 5:
if(connection == null)
@@ -251,23 +245,7 @@ public void run() {
x = bb.getFloat();
z = bb.getFloat();
y = bb.getFloat();
- connection.tracker.magVector.set(x, y, z);
- break;
- case 6: // PACKET_RAW_CALIBRATION_DATA
- if(connection == null)
- break;
- if(connection.isOwoTrack)
- break;
- bb.getLong();
- //sensor.rawCalibrationData.add(new double[] {bb.getInt(), bb.getInt(), bb.getInt(), bb.getInt(), bb.getInt(), bb.getInt()});
- break;
- case 7: // PACKET_GYRO_CALIBRATION_DATA
- if(connection == null)
- break;
- if(connection.isOwoTrack)
- break;
- bb.getLong();
- //sensor.gyroCalibrationData = new double[] {bb.getFloat(), bb.getFloat(), bb.getFloat()};
+ connection.sensors.get(0).magVector.set(x, y, z);
break;
case 8: // PACKET_CONFIG
if(connection == null)
@@ -276,7 +254,7 @@ public void run() {
break;
bb.getLong();
MPUTracker.ConfigurationData data = new MPUTracker.ConfigurationData(bb);
- Consumer dataConsumer = calibrationDataRequests.remove(connection.tracker);
+ Consumer dataConsumer = calibrationDataRequests.remove(connection.sensors.get(0));
if(dataConsumer != null) {
dataConsumer.accept(data.toTextMatrix());
}
@@ -290,7 +268,7 @@ public void run() {
float mx = bb.getFloat();
float my = bb.getFloat();
float mz = bb.getFloat();
- connection.tracker.confidence = (float) Math.sqrt(mx * mx + my * my + mz * mz);
+ connection.sensors.get(0).confidence = (float) Math.sqrt(mx * mx + my * my + mz * mz);
break;
case 10: // PACKET_PING_PONG:
if(connection == null)
@@ -299,7 +277,7 @@ public void run() {
break;
int pingId = bb.getInt();
if(connection.lastPingPacketId == pingId) {
- tracker = connection.tracker;
+ tracker = connection.sensors.get(0);
tracker.ping = (int) (System.currentTimeMillis() - connection.lastPingPacketTime) / 2;
}
break;
@@ -308,7 +286,7 @@ public void run() {
break;
if(connection.isOwoTrack)
break;
- tracker = connection.tracker;
+ tracker = connection.sensors.get(0);
bb.getLong();
int length = bb.getInt();
for(int i = 0; i < length; ++i) {
@@ -326,7 +304,7 @@ public void run() {
case 12: // PACKET_BATTERY_VOLTAGE
if(connection == null)
break;
- tracker = connection.tracker;
+ tracker = connection.sensors.get(0);
bb.getLong();
tracker.setBatteryVoltage(bb.getFloat());
break;
@@ -335,14 +313,11 @@ public void run() {
break;
if(connection.isOwoTrack)
break;
- tracker = connection.tracker;
bb.getLong();
sensorId = bb.get() & 0xFF;
- if(sensorId == 0) {
- tracker = connection.tracker;
- } else if(sensorId == 1) {
- tracker = connection.secondTracker;
- }
+ tracker = connection.sensors.get(sensorId);
+ if(tracker == null)
+ break;
int tap = bb.get() & 0xFF;
BnoTap tapObj = new BnoTap(tap);
System.out.println("[TrackerServer] Tap packet received from " + tracker.getName() + "/" + sensorId + ": " + tapObj + " (b" + Integer.toBinaryString(tap) + ")");
@@ -353,7 +328,7 @@ public void run() {
System.out.println("[TrackerServer] Reset recieved from " + recieve.getSocketAddress() + ": " + reason);
if(connection == null)
break;
- tracker = connection.tracker;
+ tracker = connection.sensors.get(0);
tracker.setStatus(TrackerStatus.ERROR);
break;
case 15: // PACKET_SENSOR_INFO
@@ -362,15 +337,15 @@ public void run() {
bb.getLong();
sensorId = bb.get() & 0xFF;
int sensorStatus = bb.get() & 0xFF;
- if(sensorId == 1 && sensorStatus == 1 && connection.secondTracker == null) {
- setUpAuxilarySensor(connection);
+ if(sensorId > 0 && sensorStatus == 1 && !connection.sensors.containsKey(sensorId)) {
+ setUpAuxilarySensor(connection, sensorId);
}
bb.rewind();
bb.putInt(15);
bb.put((byte) sensorId);
bb.put((byte) sensorStatus);
socket.send(new DatagramPacket(rcvBuffer, bb.position(), connection.address));
- System.out.println("[TrackerServer] Sensor info for " + connection.tracker.getName() + "/" + sensorId + ": " + sensorStatus);
+ System.out.println("[TrackerServer] Sensor info for " + connection.sensors.get(0).getName() + "/" + sensorId + ": " + sensorStatus);
break;
default:
System.out.println("[TrackerServer] Unknown data received: " + packetId + " from " + recieve.getSocketAddress());
@@ -385,18 +360,20 @@ public void run() {
synchronized(trackers) {
for(int i = 0; i < trackers.size(); ++i) {
TrackerConnection conn = trackers.get(i);
- IMUTracker tracker = conn.tracker;
+ IMUTracker tracker = conn.sensors.get(0);
socket.send(new DatagramPacket(KEEPUP_BUFFER, KEEPUP_BUFFER.length, conn.address));
if(conn.lastPacket + 1000 < System.currentTimeMillis()) {
if(tracker.getStatus() != TrackerStatus.DISCONNECTED) {
tracker.setStatus(TrackerStatus.DISCONNECTED);
- if(conn.secondTracker != null)
- conn.secondTracker.setStatus(TrackerStatus.DISCONNECTED);
+ Iterator iterator = conn.sensors.values().iterator();
+ while(iterator.hasNext())
+ iterator.next().setStatus(TrackerStatus.DISCONNECTED);
}
} else if(tracker.getStatus() != TrackerStatus.ERROR && tracker.getStatus() != TrackerStatus.BUSY) {
tracker.setStatus(TrackerStatus.OK);
- if(conn.secondTracker != null)
- conn.secondTracker.setStatus(TrackerStatus.OK);
+ Iterator iterator = conn.sensors.values().iterator();
+ while(iterator.hasNext())
+ iterator.next().setStatus(TrackerStatus.OK);
}
if(tracker.serialBuffer.length() > 0) {
if(tracker.lastSerialUpdate + 500L < System.currentTimeMillis()) {
@@ -427,8 +404,7 @@ public void run() {
private class TrackerConnection {
- IMUTracker tracker;
- IMUTracker secondTracker;
+ Map sensors = new HashMap<>();
SocketAddress address;
public long lastPacket = System.currentTimeMillis();
public int lastPingPacketId = -1;
@@ -436,7 +412,7 @@ private class TrackerConnection {
public boolean isOwoTrack = false;
public TrackerConnection(IMUTracker tracker, SocketAddress address) {
- this.tracker = tracker;
+ this.sensors.put(0, tracker);
this.address = address;
}
}
diff --git a/src/main/java/io/eiren/vr/trackers/SteamVRTracker.java b/src/main/java/io/eiren/vr/trackers/VRTracker.java
similarity index 53%
rename from src/main/java/io/eiren/vr/trackers/SteamVRTracker.java
rename to src/main/java/io/eiren/vr/trackers/VRTracker.java
index 9fa4a1050d..ce54fee64f 100644
--- a/src/main/java/io/eiren/vr/trackers/SteamVRTracker.java
+++ b/src/main/java/io/eiren/vr/trackers/VRTracker.java
@@ -2,14 +2,16 @@
import io.eiren.util.BufferedTimer;
-public class SteamVRTracker extends ComputedTracker implements TrackerWithTPS {
+public class VRTracker extends ComputedTracker {
- public final int id;
protected BufferedTimer timer = new BufferedTimer(1f);
- public SteamVRTracker(int id, String name, boolean hasRotation, boolean hasPosition) {
- super(name, hasRotation, hasPosition);
- this.id = id;
+ public VRTracker(int id, String serial, String name, boolean hasRotation, boolean hasPosition) {
+ super(id, serial, name, hasRotation, hasPosition);
+ }
+
+ public VRTracker(int id, String name, boolean hasRotation, boolean hasPosition) {
+ super(id, name, name, hasRotation, hasPosition);
}
@Override
diff --git a/src/test/java/io/eiren/unit/ReferenceAdjustmentsTests.java b/src/test/java/io/eiren/unit/ReferenceAdjustmentsTests.java
index aa2679fcc2..0f3c6bd80c 100644
--- a/src/test/java/io/eiren/unit/ReferenceAdjustmentsTests.java
+++ b/src/test/java/io/eiren/unit/ReferenceAdjustmentsTests.java
@@ -8,6 +8,7 @@
import io.eiren.vr.processor.TransformNode;
import io.eiren.vr.trackers.ComputedTracker;
import io.eiren.vr.trackers.ReferenceAdjustedTracker;
+import io.eiren.vr.trackers.Tracker;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
@@ -67,7 +68,7 @@ Stream getTestsForRotation() {
public void checkReferenceAdjustmentFull(Quaternion trackerQuat, int refPitch, int refYaw, int refRoll) {
Quaternion referenceQuat = q(refPitch, refYaw, refRoll);
- ComputedTracker tracker = new ComputedTracker("test", true, false);
+ ComputedTracker tracker = new ComputedTracker(Tracker.getNextLocalTrackerId(), "test", true, false);
tracker.rotation.set(trackerQuat);
ReferenceAdjustedTracker adj = new ReferenceAdjustedTracker<>(tracker);
adj.resetFull(referenceQuat);
@@ -86,7 +87,7 @@ public void checkReferenceAdjustmentFull(Quaternion trackerQuat, int refPitch, i
public void checkReferenceAdjustmentYaw(Quaternion trackerQuat, int refPitch, int refYaw, int refRoll) {
Quaternion referenceQuat = q(refPitch, refYaw, refRoll);
- ComputedTracker tracker = new ComputedTracker("test", true, false);
+ ComputedTracker tracker = new ComputedTracker(Tracker.getNextLocalTrackerId(), "test", true, false);
tracker.rotation.set(trackerQuat);
ReferenceAdjustedTracker adj = new ReferenceAdjustedTracker<>(tracker);
adj.resetYaw(referenceQuat);
@@ -98,7 +99,7 @@ public void checkReferenceAdjustmentYaw(Quaternion trackerQuat, int refPitch, in
private void testAdjustedTrackerRotation(Quaternion trackerQuat, int refPitch, int refYaw, int refRoll) {
Quaternion referenceQuat = q(refPitch, refYaw, refRoll);
- ComputedTracker tracker = new ComputedTracker("test", true, false);
+ ComputedTracker tracker = new ComputedTracker(Tracker.getNextLocalTrackerId(), "test", true, false);
tracker.rotation.set(trackerQuat);
ReferenceAdjustedTracker adj = new ReferenceAdjustedTracker<>(tracker);
adj.resetFull(referenceQuat);