1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
|
<?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://www.esrf.fr/tango/pogo/PogoDsl">
<classes name="TangoAccessControl" pogoRevision="9.6">
<description description="This class is a conceate class inherited from AccessControl abstract class.<Br>
<Br>
This class defines how to manage the TANGO access control.<Br>
It implements commands for tool to defines access for users, devices and IP addresses.<Br>
It implements also commands used by client API to check access for specified user, device and address.<Br>
And it implements register and unregister it as TANGO service." title="Tango Access Control Management" sourcePath="/home/firma/devel/TangoAccessControl/TangoAccessControl" language="Cpp" filestogenerate="XMI file,Code files,Protected Regions" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="false">
<inheritances classname="AccessControl" sourcePath="../AbstractClasses"/>
<identification contact="at esrf.fr - accelerator-control" author="accelerator-control" emailDomain="esrf.fr" classFamily="System" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="none" reference=""/>
</description>
<commands name="State" description="This command gets the device state (stored in its <i>device_state</i> 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="State Code">
<type xsi:type="pogoDsl:StateType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="false"/>
</commands>
<commands name="Status" description="This command gets the device status (stored in its <i>device_status</i> 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="Status description">
<type xsi:type="pogoDsl:ConstStringType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="false"/>
</commands>
<commands name="AddAddressForUser" description="Add an address for the specified user.." execMethod="add_address_for_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="user name, address">
<type xsi:type="pogoDsl:StringArrayType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="AddDeviceForUser" description="Add a device and rights for the specified user.." execMethod="add_device_for_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="user name, device adn value">
<type xsi:type="pogoDsl:StringArrayType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="CloneUser" description="Copy addresses and devices from source user to target user." execMethod="clone_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="[0] - source user name.\n[1] - target user name.">
<type xsi:type="pogoDsl:StringArrayType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="GetAccess" description="Check access for specified user, device, address
 and returns access (read or write)." execMethod="get_access" displayLevel="OPERATOR" polledPeriod="0">
<argin description="[0] - User name
[1] - IP Address
[2] - Device">
<type xsi:type="pogoDsl:StringArrayType"/>
</argin>
<argout description="access for specified inputs read/write.">
<type xsi:type="pogoDsl:StringType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
</commands>
<commands name="GetAccessForMultiIP" description="Check access for specified user, device and addresses
 and returns access (read or write)." execMethod="get_access_for_multi_ip" displayLevel="OPERATOR" polledPeriod="0">
<argin description="[0] - User name
[1] - Device
[2] - IP Address #1
[3] - IP Address #2
[4] - IP Address #3
[5] - IP Address #4
......">
<type xsi:type="pogoDsl:StringArrayType"/>
</argin>
<argout description="access for specified inputs read/write.">
<type xsi:type="pogoDsl:StringType"/>
</argout>
<status abstract="true" inherited="true" concrete="false" concreteHere="true"/>
</commands>
<commands name="GetAddressByUser" description="Returns address list found for the specified user." execMethod="get_address_by_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="user name.">
<type xsi:type="pogoDsl:StringType"/>
</argin>
<argout description="Addresses found for the specified user.">
<type xsi:type="pogoDsl:StringArrayType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="GetAllowedCommandClassList" description="Returns the class names which have AllowedAccessCmd property defined." execMethod="get_allowed_command_class_list" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="Class names which have AllowedAccessCmd property defined.">
<type xsi:type="pogoDsl:StringArrayType"/>
</argout>
<status abstract="false" inherited="true" concrete="true" concreteHere="true"/>
</commands>
<commands name="GetAllowedCommands" description="Returns allowed command list found in database for specified device
It search the class of the specified device and then uses the class property <b>AllowedAccessCmd</b>" execMethod="get_allowed_commands" displayLevel="OPERATOR" polledPeriod="0">
<argin description="Device name OR Device Class name">
<type xsi:type="pogoDsl:StringType"/>
</argin>
<argout description="Allowed commands found in database for specified device">
<type xsi:type="pogoDsl:StringArrayType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="GetDeviceByUser" description="Returns devices and rights found for the specified user." execMethod="get_device_by_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="user name.">
<type xsi:type="pogoDsl:StringType"/>
</argin>
<argout description="devices and rights found for the specified user.">
<type xsi:type="pogoDsl:StringArrayType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="GetDeviceClass" description="Returns class for specified device." execMethod="get_device_class" displayLevel="OPERATOR" polledPeriod="0">
<argin description="Device name">
<type xsi:type="pogoDsl:StringType"/>
</argin>
<argout description="Class found in database for specified device">
<type xsi:type="pogoDsl:StringType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="GetUsers" description="Returns user list found in table access_address." execMethod="get_users" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="Users find in table access_address.">
<type xsi:type="pogoDsl:StringArrayType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="RegisterService" description="Register device as a TANGO service." execMethod="register_service" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
</commands>
<commands name="RemoveAddressForUser" description="Remove an address for the specified user.." execMethod="remove_address_for_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="user name, address">
<type xsi:type="pogoDsl:StringArrayType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="RemoveDeviceForUser" description="Remove a device and its rights for the specified user.." execMethod="remove_device_for_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="user name, device and value">
<type xsi:type="pogoDsl:StringArrayType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="RemoveUser" description="Remove all records for specified user." execMethod="remove_user" displayLevel="OPERATOR" polledPeriod="0">
<argin description="user name">
<type xsi:type="pogoDsl:StringType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
<excludedStates>FAULT</excludedStates>
</commands>
<commands name="UnregisterService" description="Unregister device as a TANGO service." execMethod="unregister_service" displayLevel="OPERATOR" polledPeriod="0">
<argin description="">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="">
<type xsi:type="pogoDsl:VoidType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="true"/>
</commands>
<states name="ON" description="The MySql database handle is OK.">
<status abstract="false" inherited="true" concrete="true"/>
</states>
<states name="FAULT" description="The MySql database handle is not OK.">
<status abstract="false" inherited="true" concrete="true"/>
</states>
<preferences docHome="./doc_html" makefileHome="/usr/local/share/pogo/preferences"/>
<additionalFiles name="DbUtils" path="DbUtils.cpp"/>
</classes>
</pogoDsl:PogoSystem>
|