summaryrefslogtreecommitdiff
path: root/sources/events/internal/VSProtocolScheduleEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/events/internal/VSProtocolScheduleEvent.java')
-rw-r--r--sources/events/internal/VSProtocolScheduleEvent.java85
1 files changed, 85 insertions, 0 deletions
diff --git a/sources/events/internal/VSProtocolScheduleEvent.java b/sources/events/internal/VSProtocolScheduleEvent.java
new file mode 100644
index 0000000..9b6e664
--- /dev/null
+++ b/sources/events/internal/VSProtocolScheduleEvent.java
@@ -0,0 +1,85 @@
+/*
+ * VS is (c) 2008 by Paul C. Buetow
+ * vs@dev.buetow.org
+ */
+package events.internal;
+
+import events.*;
+import protocols.VSAbstractProtocol;
+
+/**
+ * The Class VSProtocolScheduleEvent.
+ */
+public class VSProtocolScheduleEvent extends VSAbstractEvent {
+ private static final long serialVersionUID = 1L;
+
+ /** The event is a server protocol schedule. */
+ private boolean isServerSchedule; /* true = server, false = client */
+
+ /** The reference to the protocol object to schedule. */
+ private VSAbstractProtocol protocol;
+
+ /**
+ * Create a VSProtocolScheduleEvent object
+ *
+ * @param protocol the protocol
+ * @param isServerSchedule the event is a client protocol schedule if false, else server schedule
+ */
+ public VSProtocolScheduleEvent(VSAbstractProtocol protocol, boolean isServerSchedule) {
+ this.protocol = protocol;
+ this.isServerSchedule = isServerSchedule;
+ }
+
+ /* (non-Javadoc)
+ * @see events.VSAbstractEvent#onInit()
+ */
+ public void onInit() {
+ setClassname(getClass().toString());
+ }
+
+ /**
+ * Checks if is client protocol schedule.
+ *
+ * @param isServerSchedule the event is a client protocol schedule if false, else server schedule
+ */
+ public void isServerSchedule(boolean isServerSchedule) {
+ this.isServerSchedule = isServerSchedule;
+ }
+
+ /**
+ * Checks if is client protocol.
+ *
+ * @return false, if is client protocol schedule, else server protocol schedule
+ */
+ public boolean isServerSchedule() {
+ return isServerSchedule;
+ }
+
+ /**
+ * Sets the protocol
+ *
+ * @param protocol the protocol
+ */
+ public void setProtocol(VSAbstractProtocol protocol) {
+ this.protocol = protocol;
+ }
+
+ /**
+ * Gets the protocol
+ *
+ * @return the protocol
+ */
+ public VSAbstractProtocol getProtocol() {
+ return protocol;
+ }
+
+ /* (non-Javadoc)
+ * @see events.VSAbstractEvent#onStart()
+ */
+ public void onStart() {
+ if (isServerSchedule)
+ protocol.onServerScheduleStart();
+ else
+ protocol.onClientScheduleStart();
+ }
+}