<?xml version="1.0" encoding="ASCII"?>
<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://tango-controls.org/pogo/PogoDsl">
  <classes name="UniversalTest" pogoRevision="9.1">
    <description description="The goal of this device server is to be able to provide attributes of every possible Tango type.&#xA;It is possible to change dynamically the Quality Factor of a given attribute.&#xA;It is possible to make an attribute throw exceptions.&#xA;It is possible to change the behaviour of the attributes (increment at each read, read value always set to the set value, &#xA;read value fluctuating around the set value,...)&#xA;Some dynamic expert attributes will be created to be able to control the behaviour of the other attributes.&#xA;The attributes named xxx_quality will allow to change the quality factor of the attribute named xxx." title="UniversalTest" sourcePath="/home/tri/osl/tango/UniversalTest" language="Cpp" filestogenerate="XMI   file,Code files" license="GPL" copyright="Copyright (C): 2015&#xA;               European Synchrotron Radiation Facility&#xA;               BP 220, Grenoble 38043&#xA;               France" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false">
      <inheritances classname="Device_Impl" sourcePath=""/>
      <identification contact="at esrf.fr - bourtemb" author="bourtemb" emailDomain="esrf.fr" classFamily="Simulators" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="none" reference=""/>
    </description>
    <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"/>
      </argin>
      <argout description="Device state">
        <type xsi:type="pogoDsl:StateType"/>
      </argout>
      <status abstract="true" inherited="true" concrete="true"/>
    </commands>
    <commands name="Status" description="This command gets the device status (stored in its device_status data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR" polledPeriod="0">
      <argin description="none">
        <type xsi:type="pogoDsl:VoidType"/>
      </argin>
      <argout description="Device status">
        <type xsi:type="pogoDsl:ConstStringType"/>
      </argout>
      <status abstract="true" inherited="true" concrete="true"/>
    </commands>
    <attributes name="setState" attType="Scalar" rwType="READ_WRITE" displayLevel="EXPERT" polledPeriod="0" maxX="" maxY="" allocReadMember="true" isDynamic="false">
      <dataType xsi:type="pogoDsl:StateType"/>
      <changeEvent fire="false" libCheckCriteria="false"/>
      <archiveEvent fire="false" libCheckCriteria="false"/>
      <dataReadyEvent fire="false" libCheckCriteria="true"/>
      <status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
      <properties description="This represents the state of the device. &#xA;Changing this attribute set_value will invoke the set_state() method with the specified state value." label="setState" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
    </attributes>
    <preferences docHome="./doc_html" makefileHome="$(TANGO_HOME)"/>
  </classes>
</pogoDsl:PogoSystem>
