This is the latest WPILib src, VisionSample2013, cRIO image, ... pulled down from firstforge.wpi.edu.

There might be risks in using the top of tree rather than an official release, but the commit messages do mention fixes for some deadlocks and race conditions.

git-svn-id: https://robotics.mvla.net/svn/frc971/2013/trunk/src@4066 f308d9b7-e957-4cde-b6ac-9a88185e7312
diff --git a/azaleasource/WPILibCProgramming/trunk/WPILib/Buttons/Trigger.h b/azaleasource/WPILibCProgramming/trunk/WPILib/Buttons/Trigger.h
new file mode 100644
index 0000000..dc40e9e
--- /dev/null
+++ b/azaleasource/WPILibCProgramming/trunk/WPILib/Buttons/Trigger.h
@@ -0,0 +1,47 @@
+/*----------------------------------------------------------------------------*/

+/* Copyright (c) FIRST 2011. All Rights Reserved.							  */

+/* Open Source Software - may be modified and shared by FRC teams. The code   */

+/* must be accompanied by the FIRST BSD license file in $(WIND_BASE)/WPILib.  */

+/*----------------------------------------------------------------------------*/

+

+#ifndef __TRIGGER_H__

+#define __TRIGGER_H__

+

+#include "SmartDashboard/Sendable.h"

+

+class Command;

+

+/**

+ * This class provides an easy way to link commands to inputs.

+ *

+ * It is very easy to link a polled input to a command.  For instance, you could

+ * link the trigger button of a joystick to a "score" command or an encoder reaching

+ * a particular value.

+ *

+ * It is encouraged that teams write a subclass of Trigger if they want to have

+ * something unusual (for instance, if they want to react to the user holding

+ * a button while the robot is reading a certain sensor input).  For this, they

+ * only have to write the {@link Trigger#Get()} method to get the full functionality

+ * of the Trigger class.

+ *

+ * @author Brad Miller, Joe Grinstead

+ */

+class Trigger : public Sendable

+{

+public:

+	Trigger();

+	virtual ~Trigger() {}

+	bool Grab();

+	virtual bool Get() = 0;

+	void WhenActive(Command *command);

+	void WhileActive(Command *command);

+	void WhenInactive(Command *command);

+	

+	virtual void InitTable(ITable* table);

+	virtual ITable* GetTable();

+	virtual std::string GetSmartDashboardType();

+protected:

+	ITable* m_table;

+};

+

+#endif