Android Open Source - webots-remote-control Camera Instruction Queue






From Project

Back to project page webots-remote-control.

License

The source code is released under:

GNU Lesser General Public License

If you think the Android project webots-remote-control listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.black_mesa.webots_remote_control.communication_structures;
/*from  ww w. j  a  va 2  s . c o  m*/
import java.util.LinkedList;
import java.util.Queue;

/**
 * Stores a queue of actions to be sent to a server. The actions are then executed on the server side.
 * 
 * @author Ilja Kroonen
 * 
 */
public final class CameraInstructionQueue extends CommunicationStructure {
  private static final long serialVersionUID = 228351533118850327L;
  private static final int MAX_QUEUE_SIZE = 100;
  private Queue<CameraInstruction> mQueue;

  private CameraInstructionQueue(final int id, final CameraInstructionQueue queue) {
    super(id);
    if (queue == null) {
      mQueue = new LinkedList<CameraInstruction>();
    } else {
      mQueue = new LinkedList<CameraInstruction>(queue.mQueue);
    }
  }

  /**
   * Adds an instruction to this InstructionQueue.
   * 
   * @param i
   *            Instruction that will be added.
   */
  public void add(final CameraInstruction i) {
    if (mQueue.size() > MAX_QUEUE_SIZE) {
      return;
    }
    mQueue.add(i);
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public CommunicationStructure board(final CommunicationStructure previous) {
    CameraInstructionQueue castedPrevious = (CameraInstructionQueue) previous;
    CameraInstructionQueue newQueue = new CameraInstructionQueue(getId(), castedPrevious);

    while (!mQueue.isEmpty()) {
      newQueue.mQueue.add(mQueue.poll());
    }

    return newQueue;
  }

  @Override
  public boolean checkIntegrity() {
    if (mQueue != null && mQueue.isEmpty()) {
      return true;
    }
    return false;
  }

  @Override
  public String toString() {
    return "Camera " + getId();
  }
}




Java Source Code List

org.black_mesa.webots_remote_control.activities.AboutFragment.java
org.black_mesa.webots_remote_control.activities.AddServerActivity.java
org.black_mesa.webots_remote_control.activities.CameraFragment.java
org.black_mesa.webots_remote_control.activities.ConnectionFragment.java
org.black_mesa.webots_remote_control.activities.MainActivity.java
org.black_mesa.webots_remote_control.client.CamerasManager.java
org.black_mesa.webots_remote_control.client.Client.java
org.black_mesa.webots_remote_control.client.ConnectionManager.java
org.black_mesa.webots_remote_control.client.ConnectionState.java
org.black_mesa.webots_remote_control.client.package-info.java
org.black_mesa.webots_remote_control.communication_structures.CameraInstructionQueue.java
org.black_mesa.webots_remote_control.communication_structures.CameraInstruction.java
org.black_mesa.webots_remote_control.communication_structures.CommunicationStructure.java
org.black_mesa.webots_remote_control.communication_structures.package-info.java
org.black_mesa.webots_remote_control.database.DataBaseContract.java
org.black_mesa.webots_remote_control.database.DataBaseHelper.java
org.black_mesa.webots_remote_control.database.DataSource.java
org.black_mesa.webots_remote_control.database.ServerListAdapter.java
org.black_mesa.webots_remote_control.database.Server.java
org.black_mesa.webots_remote_control.listeners.CameraJoysticksViewListener.java
org.black_mesa.webots_remote_control.listeners.CameraTouchListenerV1.java
org.black_mesa.webots_remote_control.listeners.CameraTouchListenerV2.java
org.black_mesa.webots_remote_control.listeners.CameraTouchListenerV3.java
org.black_mesa.webots_remote_control.listeners.CameraTouchListenerV4.java
org.black_mesa.webots_remote_control.listeners.CameraTouchListenerV5.java
org.black_mesa.webots_remote_control.listeners.ClientListener.java
org.black_mesa.webots_remote_control.listeners.ConnectionManagerListener.java
org.black_mesa.webots_remote_control.listeners.OnListEventsListener.java
org.black_mesa.webots_remote_control.listeners.package-info.java
org.black_mesa.webots_remote_control.utils.CameraTouchHandlerV1.java
org.black_mesa.webots_remote_control.utils.CameraTouchHandlerV2.java
org.black_mesa.webots_remote_control.utils.CameraTouchHandlerV3.java
org.black_mesa.webots_remote_control.utils.CameraTouchHandlerV4.java
org.black_mesa.webots_remote_control.utils.CameraTouchHandlerV5.java
org.black_mesa.webots_remote_control.utils.package-info.java
org.black_mesa.webots_remote_control.views.CameraJoysticksView.java
org.black_mesa.webots_remote_control.views.CameraView.java