From e9c3d8e166703386f509e418412916f4f196825e Mon Sep 17 00:00:00 2001
From: Anton Joubert <ajoubert@ska.ac.za>
Date: Mon, 11 May 2020 22:25:51 +0200
Subject: [PATCH] Remove ObsState command from all XMI files

It should not have been added.  The observation state is reported
via the read-only `obsState` attribute, rather than by using a
command that returns a string.

The Python code for devices did not have this command anyway, so no
change to actual implementation.
---
 README.md              | 5 +++++
 pogo/SKACapability.xmi | 9 ---------
 pogo/SKAObsDevice.xmi  | 9 ---------
 pogo/SKASubarray.xmi   | 9 ---------
 4 files changed, 5 insertions(+), 27 deletions(-)

diff --git a/README.md b/README.md
index a275cebe..1d8fe917 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,11 @@ The lmc-base-classe repository contains set of eight classes as mentioned in SKA
 
 ## Version History
 
+#### (unreleased)
+- Remove `ObsState` command from SKACapability, SKAObsDevice and SKASubarray Pogo XMI files.  It should not
+  have been included - the `obsState` attribute provides this information. The command was not in the Python
+  files, so no change to usage.  It only affects future Pogo code generation. 
+
 #### 0.5.3
 - Setting `loggingTargets` attribute to empty list no longer raises exception.
 - Change syslog targets in `loggingTargets` attribute to a full URL so that remote syslog servers can be specified.
diff --git a/pogo/SKACapability.xmi b/pogo/SKACapability.xmi
index b9ee668a..22dcbeae 100644
--- a/pogo/SKACapability.xmi
+++ b/pogo/SKACapability.xmi
@@ -36,15 +36,6 @@
       <type xsi:type="pogoDsl:StringType"/>
       <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
     </deviceProperties>
-    <commands name="ObsState" description="Set the observation state" execMethod="obs_state" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Observation state">
-        <type xsi:type="pogoDsl:ConstStringType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="false"/>
-    </commands>
     <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
       <argin description="none">
         <type xsi:type="pogoDsl:VoidType"/>
diff --git a/pogo/SKAObsDevice.xmi b/pogo/SKAObsDevice.xmi
index 2e953df6..a583296b 100644
--- a/pogo/SKAObsDevice.xmi
+++ b/pogo/SKAObsDevice.xmi
@@ -24,15 +24,6 @@
       <type xsi:type="pogoDsl:StringVectorType"/>
       <status abstract="false" inherited="true" concrete="true"/>
     </deviceProperties>
-    <commands name="ObsState" description="Set the observation state" execMethod="obs_state" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Observation state">
-        <type xsi:type="pogoDsl:ConstStringType"/>
-      </argout>
-      <status abstract="true" inherited="false" concrete="false" concreteHere="false"/>
-    </commands>
     <commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
       <argin description="none">
         <type xsi:type="pogoDsl:VoidType"/>
diff --git a/pogo/SKASubarray.xmi b/pogo/SKASubarray.xmi
index 3778c150..fee6b291 100644
--- a/pogo/SKASubarray.xmi
+++ b/pogo/SKASubarray.xmi
@@ -122,15 +122,6 @@
       </argout>
       <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
     </commands>
-    <commands name="ObsState" description="Set the observation state" execMethod="obs_state" displayLevel="OPERATOR" polledPeriod="0">
-      <argin description="">
-        <type xsi:type="pogoDsl:VoidType"/>
-      </argin>
-      <argout description="Observation state">
-        <type xsi:type="pogoDsl:ConstStringType"/>
-      </argout>
-      <status abstract="true" inherited="true" concrete="true" concreteHere="false"/>
-    </commands>
     <commands name="Pause" description="Pause scan." execMethod="pause" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false">
       <argin description="">
         <type xsi:type="pogoDsl:VoidType"/>
-- 
GitLab