[tuxdroid-svn] r4729 - software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java
Status: Beta
Brought to you by:
ks156
|
From: remi <c2m...@c2...> - 2009-06-03 08:58:32
|
Author: remi
Date: 2009-06-03 10:58:15 +0200 (Wed, 03 Jun 2009)
New Revision: 4729
Modified:
software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/SimplePlugin.java
software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInCom.java
software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInComListener.java
Log:
* added throwActuation method to the SimplePlugin class
* added handling of the events from the server
Modified: software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/SimplePlugin.java
===================================================================
--- software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/SimplePlugin.java 2009-06-03 08:32:45 UTC (rev 4728)
+++ software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/SimplePlugin.java 2009-06-03 08:58:15 UTC (rev 4729)
@@ -64,6 +64,20 @@
SimplePlugin.this.throwError(e);
}
}
+
+ /**
+ * Event on stdin received event from server.
+ */
+ public void serverEvent(String eventName, String[] eventValues)
+ {
+ try
+ {
+ SimplePlugin.this.onPluginEvent(eventName, eventValues);
+ } catch (Throwable e)
+ {
+ SimplePlugin.this.throwError(e);
+ }
+ }
}
/**
@@ -240,6 +254,14 @@
protected abstract void onPluginStop() throws Throwable;
/**
+ * On plugin event.
+ * this method should be defined in your plugin class.
+ * @throws Throwable
+ * when something go wrong...
+ */
+ protected abstract void onPluginEvent(String eventName, String[] eventValues) throws Throwable;
+
+ /**
* Stop the plugin.
*/
public void stop()
@@ -282,6 +304,19 @@
else resultValue = "false";
throwNotification("check_result", resultValue);
}
+
+ /**
+ * This is a special notification used to send "actuation" to the
+ * server.
+ */
+ public void throwActuation(String actuationName, Object... arguments) {
+ String[] tmp = new String[arguments.length + 1];
+ tmp[0] = actuationName;
+ for (int i = 0; i < arguments.length; i++) {
+ tmp[i + 1] = String.valueOf(arguments[i]);
+ }
+ throwNotification("actuation", tmp);
+ }
/**
* When something go wrong, you can use this function to throw an exception
Modified: software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInCom.java
===================================================================
--- software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInCom.java 2009-06-03 08:32:45 UTC (rev 4728)
+++ software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInCom.java 2009-06-03 08:58:15 UTC (rev 4729)
@@ -125,6 +125,25 @@
}
this.setRun(false);
}
+ else if (rcvLine.toLowerCase().startsWith("event"))
+ {
+ String[] sltLine = rcvLine.split(":");
+ // Get event name
+ if (sltLine.length > 1)
+ {
+ String eventName = sltLine[1];
+ // Get event values
+ String[] eventValues = new String[sltLine.length - 2];
+ for (int i = 0; i < sltLine.length - 2; i++)
+ {
+ eventValues[i] = sltLine[i + 2];
+ }
+ if (stdInComListener != null)
+ {
+ stdInComListener.serverEvent(eventName, eventValues);
+ }
+ }
+ }
try {
this.sleep(100);
} catch (InterruptedException e) {}
Modified: software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInComListener.java
===================================================================
--- software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInComListener.java 2009-06-03 08:32:45 UTC (rev 4728)
+++ software_suite_v3/smart-core/smart-dev/plugin-toolkit/java/simpleplugin-java-kit/trunk/sources/com/kysoh/tuxdroid/plugin/framework/plugin/StdInComListener.java 2009-06-03 08:58:15 UTC (rev 4729)
@@ -25,4 +25,6 @@
public interface StdInComListener
{
void stopped();
+
+ void serverEvent(String eventName, String[] eventValues);
}
|