406 lines
24 KiB
XML
Executable File
406 lines
24 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<service namespace="OperatorManagement" abbreviation="OPM" procNames="OperatorManagement" exerciseDependency="Global" groups="Core" prio="2">
|
|
<rcs>
|
|
<Id Id="$Id$"/>
|
|
<HeadURL HeadURL="$HeadURL$"/>
|
|
<Author Author="$Author$"/>
|
|
</rcs>
|
|
<operatorRights offset="25">
|
|
<guiPlugin name="Login" offset="2">
|
|
<operatorRightGroup name="Administrator Mode" description="Obtain administrative rights">
|
|
<operatorRight right="Administrator" value="1" description="Administrator rights"/>
|
|
<operatorRight right="ShutdownWorkstations" value="2" description="Shut down workstations"/>
|
|
</operatorRightGroup>
|
|
</guiPlugin>
|
|
<guiPlugin name="OperatorEdit" offset="1">
|
|
<operatorRightGroup name="Edit Operators" description="Create, Modify, Change Password, Delete on any Operator, Create, Modify, Delete Groups, Edit Group Memberships">
|
|
<operatorRight right="OperatorsEdit" value="1" description="Create, Change Name, Change Image, Change Password, Delete on any Operator"/>
|
|
<operatorRight right="OperatorsShow" value="2" description="Get Overview over any Operator"/>
|
|
<operatorRight right="GroupEdit" value="4" description="Create, Remove Groups, Change their Name"/>
|
|
<operatorRight right="GroupMembershipsEdit" value="5" description="Change Memberships of Groups."/>
|
|
<operatorRight right="GroupShow" value="6" description="See all Groups and their Relationships."/>
|
|
</operatorRightGroup>
|
|
<operatorRightGroup name="Operator Self Service" description="Change own Password and Image">
|
|
<operatorRight right="OperatorSelfEdit" value="3" description="Change own Password and Image"/>
|
|
</operatorRightGroup>
|
|
</guiPlugin>
|
|
<guiPlugin name="OperatorSettings" offset="3">
|
|
<operatorRightGroup name="Operator Settings" description="Save and Restore own Operator Settings">
|
|
<operatorRight right="OperatorSettingsRead" value="1" description="Obtain own Operator Settings"/>
|
|
<operatorRight right="OperatorSettingsWrite" value="2" description="Save own Operator Settings"/>
|
|
<operatorRight right="OperatorSettingsRestore" value="3" description="Restore default Operator Settings"/>
|
|
</operatorRightGroup>
|
|
</guiPlugin>
|
|
<guiPlugin name="TerminalWindow" offset="4">
|
|
<operatorRightGroup name="Terminal Window" description="Right to open a terminal session">
|
|
<operatorRight right="TerminalWindowOpen" value="1" description="Right to open a terminal session"/>
|
|
</operatorRightGroup>
|
|
</guiPlugin>
|
|
</operatorRights>
|
|
<tables>
|
|
<table name="opm_access_control_level">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="name" datatype="text"/>
|
|
<column name="description" datatype="text"/>
|
|
<constraint name="UQ_opm_access_control_level_name" type="unique">
|
|
<column name="name"/>
|
|
</constraint>
|
|
</table>
|
|
<table name="opm_acl_allow">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="group_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="acl_id" datatype="integer" isForeignKey="1"/>
|
|
<constraint name="IDX_opm_acl_allow_group_id" type="index">
|
|
<column name="group_id"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_acl_allow_opm_group">
|
|
<source table="opm_acl_allow" column="group_id"/>
|
|
<destination table="opm_group" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_opm_acl_allow_opm_access_control_level">
|
|
<source table="opm_acl_allow" column="acl_id"/>
|
|
<destination table="opm_access_control_level" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="opm_acl_deny">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="group_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="acl_id" datatype="integer" isForeignKey="1"/>
|
|
<constraint name="IDX_opm_acl_deny_group_id" type="index">
|
|
<column name="group_id"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_acl_deny_opm_group">
|
|
<source table="opm_acl_deny" column="group_id"/>
|
|
<destination table="opm_group" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_opm_acl_deny_opm_access_control_level">
|
|
<source table="opm_acl_deny" column="acl_id"/>
|
|
<destination table="opm_access_control_level" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="opm_group">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="description" datatype="text"/>
|
|
<column name="name" datatype="text"/>
|
|
<column name="type_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="is_hidden" datatype="boolean" comment="Can be used for "xxxDataPluginRead" that is hidden to user unlike "XxxGuiPluginRead" (ie. "ExerciseManagementRead") (dtc containing Plugins vs. Gui Plugins)."/>
|
|
<constraint name="UQ_opm_group_name" type="unique">
|
|
<column name="name"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_group_opm_group_type">
|
|
<source table="opm_group" column="type_id"/>
|
|
<destination table="opm_group_type" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="opm_group_group">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="group_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="is_member_of_group_id" datatype="integer" isForeignKey="1"/>
|
|
<constraint name="IDX_opm_group_group_group_id" type="index">
|
|
<column name="group_id"/>
|
|
</constraint>
|
|
<constraint name="IDX_opm_group_group_is_member_of_group_id" type="index">
|
|
<column name="is_member_of_group_id"/>
|
|
</constraint>
|
|
<constraint name="UQ_opm_group_group_group_id_is_member_of_group_id" type="unique">
|
|
<column name="group_id"/>
|
|
<column name="is_member_of_group_id"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_group_group_opm_group">
|
|
<source table="opm_group_group" column="group_id"/>
|
|
<destination table="opm_group" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_is_member_of_opm_group">
|
|
<source table="opm_group_group" column="is_member_of_group_id"/>
|
|
<destination table="opm_group" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="opm_group_type">
|
|
<column name="id" datatype="integer" isPrimaryKey="1"/>
|
|
<column name="name" datatype="text"/>
|
|
</table>
|
|
<table name="opm_locked_topics">
|
|
<column name="id" datatype="bigint" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="operator_id" datatype="integer"/>
|
|
<column name="workstation_id" datatype="integer"/>
|
|
<column name="exercise_id" datatype="integer" isOptional="1" isForeignKey="1"/>
|
|
<column name="entity_id" datatype="bigint"/>
|
|
<column name="entity_type_name" datatype="text"/>
|
|
<column name="locked" datatype="boolean"/>
|
|
<column name="time_stamp_lock" datatype="bigint"/>
|
|
<column name="time_stamp_unlock" datatype="bigint"/>
|
|
<constraint name="IDX_opm_locked_topics_locked" type="index">
|
|
<column name="locked"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_locked_topics_exercise" referential_integrity="DeleteCascade">
|
|
<source table="opm_locked_topics" column="exercise_id"/>
|
|
<destination service="ExerciseManagement" serviceAbbr="exm" schema="exm" table="exercise" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="opm_operator">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="name" datatype="text"/>
|
|
<column name="password" datatype="text"/>
|
|
<column name="primary_group_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="projection_priority" datatype="integer"/>
|
|
<column name="audio_channel_priority" datatype="integer"/>
|
|
<column name="description" datatype="text"/>
|
|
<column name="image" datatype="bytea"/>
|
|
<column name="workstation_id" datatype="integer" isOptional="1" isForeignKey="1"/>
|
|
<column name="workstation_ip" datatype="integer" comment="full ipv4 address of workstation"/>
|
|
<column name="visible_parties" datatype="integer[]" comment="the global visible parties for this operator"/>
|
|
<column name="role_preset_id" datatype="integer" comment="Role Preset like Organisator, Techniker, Leitung, Uebungsleitung, Auswewertung Table opm.opm_group"/>
|
|
<column name="properties" datatype="jsonb" comment="special properties stored as JSON"/>
|
|
<constraint name="UQ_opm_operator_name" type="unique">
|
|
<column name="name"/>
|
|
</constraint>
|
|
<constraint name="UQ_opm_operator_primary_group_id" type="unique">
|
|
<column name="primary_group_id"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_operator_asm_asset">
|
|
<source table="opm_operator" column="workstation_id"/>
|
|
<destination service="AssetManagement" serviceAbbr="asm" schema="asm" table="asm_asset" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_opm_operator_opm_group" referential_integrity="DeleteCascade">
|
|
<source table="opm_operator" column="primary_group_id"/>
|
|
<destination table="opm_group" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="opm_operator_exercise">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="operator_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="exercise_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="visible_parties" datatype="integer[]" comment="the visible parties for this operator"/>
|
|
<column name="hidden_parties" datatype="integer[]" comment="the hidden parties for this operator"/>
|
|
<column name="properties" datatype="jsonb" comment="special properties stored as JSON"/>
|
|
<constraint name="IDX_opm_operator_operator_id" type="index">
|
|
<column name="operator_id"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_operator_exercise_opm_operator">
|
|
<source table="opm_operator_exercise" column="operator_id"/>
|
|
<destination table="opm_operator" column="id"/>
|
|
</foreignKey>
|
|
<foreignKey name="FK_opm_operator_exercise_exercise">
|
|
<source table="opm_operator_exercise" column="exercise_id"/>
|
|
<destination service="ExerciseManagement" serviceAbbr="exm" schema="exm" table="exercise" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
<table name="opm_settings">
|
|
<column name="id" datatype="integer" isPrimaryKey="1">
|
|
<sequence start="1" increment="1"/>
|
|
</column>
|
|
<column name="operator_id" datatype="integer" isForeignKey="1"/>
|
|
<column name="settings" datatype="bytea"/>
|
|
<constraint name="IDX_operator_id" type="index">
|
|
<column name="operator_id"/>
|
|
</constraint>
|
|
<foreignKey name="FK_opm_settings_opm_operator">
|
|
<source table="opm_settings" column="operator_id"/>
|
|
<destination table="opm_operator" column="id"/>
|
|
</foreignKey>
|
|
</table>
|
|
</tables>
|
|
<views/>
|
|
<dbServiceStructs>
|
|
<serviceStruct name="OpmAccessControlLevel" table="opm_access_control_level"/>
|
|
<serviceStruct name="OpmAclAllow" table="opm_acl_allow"/>
|
|
<serviceStruct name="OpmAclDeny" table="opm_acl_deny"/>
|
|
<serviceStruct name="OpmGroup" table="opm_group"/>
|
|
<serviceStruct name="OpmGroupGroup" table="opm_group_group"/>
|
|
<serviceStruct name="OpmLockedTopics" table="opm_locked_topics"/>
|
|
<serviceStruct name="OpmOperator" table="opm_operator"/>
|
|
<serviceStruct name="OpmOperatorExercise" table="opm_operator_exercise"/>
|
|
<serviceStruct name="OpmSettings" table="opm_settings"/>
|
|
<table name="opm_access_control_level"/>
|
|
<table name="opm_acl_allow"/>
|
|
<table name="opm_acl_deny"/>
|
|
<table name="opm_group"/>
|
|
<table name="opm_group_group"/>
|
|
<table name="opm_locked_topics"/>
|
|
<table name="opm_operator"/>
|
|
<table name="opm_operator_exercise"/>
|
|
<table name="opm_settings"/>
|
|
</dbServiceStructs>
|
|
<topicTypes>
|
|
<topicType name="ActiveApp" isDataObject="1" routeToClient="1" routeToServer="0" routeInReplay="1">
|
|
<column name="id" idlType="long" isKey="1"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="screenTypeId" idlType="long"/>
|
|
<column name="screenId" idlType="long"/>
|
|
<column name="screenContainerId" idlType="long"/>
|
|
<column name="exerciseId" idlType="long"/>
|
|
<column name="appId" idlType="long"/>
|
|
</topicType>
|
|
<topicType name="AccessControlLevel" isDataObject="1" routeToClient="1" routeToServer="0" routeInReplay="0">
|
|
<column name="id" idlType="long" isKey="1"/>
|
|
<column name="name" idlType="string"/>
|
|
<column name="description" idlType="string"/>
|
|
</topicType>
|
|
<topicType name="Group" isDataObject="1" routeToClient="1" routeToServer="0" routeInReplay="0" baseValueType="Core::BaseEntityTranslatable">
|
|
<column name="description" idlType="string" isTranslatable="1"/>
|
|
<column name="aclAllow" idlType="sequence<long>"/>
|
|
<column name="aclDeny" idlType="sequence<long>"/>
|
|
<column name="isHidden" idlType="boolean"/>
|
|
<column name="isMemberOf" idlType="sequence<long>"/>
|
|
<column name="type" idlType="GroupType"/>
|
|
</topicType>
|
|
<topicType name="GroupChangeMembersRequest">
|
|
<column name="id" idlType="long"/>
|
|
<column name="memberships" idlType="sequence<long>"/>
|
|
<column name="rolePresetId" idlType="long" isOptional="1"/>
|
|
<column name="operatorId" idlType="long" isOptional="1"/>
|
|
</topicType>
|
|
<topicType name="GroupChangeNameRequest">
|
|
<column name="id" idlType="long"/>
|
|
<column name="name" idlType="string"/>
|
|
<column name="description" idlType="string"/>
|
|
</topicType>
|
|
<topicType name="GroupCreateRequest">
|
|
<column name="name" idlType="string"/>
|
|
<column name="description" idlType="string"/>
|
|
<column name="type" idlType="GroupType"/>
|
|
<column name="isHidden" idlType="boolean" isOptional="1"/>
|
|
<column name="memberships" idlType="sequence<long>" isOptional="1"/>
|
|
</topicType>
|
|
<topicType name="OperatorApplyForeignAclsRequest">
|
|
<column name="id" idlType="long" comment="The Operator that receives the OperatorRights"/>
|
|
<column name="remoteOperatorId" idlType="long" comment="The Operator Id from whom the ACLs shall be obtained."/>
|
|
</topicType>
|
|
<topicType name="OperatorChangePasswordRequest">
|
|
<column name="id" idlType="long"/>
|
|
<column name="password" idlType="string" comment="password in Function Topic unencrypted! (?)"/>
|
|
<column name="oldPassword" idlType="string"/>
|
|
<column name="forceSet" idlType="boolean"/>
|
|
</topicType>
|
|
<topicType name="OperatorCreateModifyRequest">
|
|
<column name="id" idlType="long" isOptional="1"/>
|
|
<column name="name" idlType="string" isOptional="1"/>
|
|
<column name="description" idlType="string" isOptional="1"/>
|
|
<column name="password" idlType="string" isOptional="1"/>
|
|
<column name="image" idlType="sequence<octet>" isOptional="1"/>
|
|
<column name="visiblePartiesByExercise" idlType="sequence<PartiesByExercise>"/>
|
|
<column name="visibleExercises" idlType="sequence<long>" isOptional="1"/>
|
|
<column name="operatorRights" idlType="sequence<long>" isOptional="1"/>
|
|
<column name="projectionPriority" idlType="short" isOptional="1"/>
|
|
<column name="audioChannelPriority" idlType="short" isOptional="1"/>
|
|
<column name="rolePresetId" idlType="long" isOptional="1"/>
|
|
<column name="properties" idlType="string"/>
|
|
</topicType>
|
|
<topicType name="OperatorUpdateVisiblePartiesByExerciseRequest">
|
|
<column name="id" idlType="long" comment="operator id"/>
|
|
<column name="exerciseId" idlType="long"/>
|
|
<column name="hiddenParties" idlType="sequence<long>" isOptional="1"/>
|
|
<column name="visibleParties" idlType="sequence<long>" isOptional="1"/>
|
|
<column name="properties" idlType="string"/>
|
|
</topicType>
|
|
<topicType name="OperatorGetSetSettingsReply" baseValueType="Core::FunctionReply">
|
|
<column name="settings" idlType="sequence<octet>" isOptional="1"/>
|
|
</topicType>
|
|
<topicType name="OperatorGetSetSettingsRequest">
|
|
<column name="id" idlType="long" comment="operator id"/>
|
|
<column name="settings" idlType="sequence<octet>" isOptional="1"/>
|
|
</topicType>
|
|
<topicType name="OperatorLoginRequest">
|
|
<column name="id" idlType="long" comment="instead of operator name. Since operators are with all attributes (but passwords) on DDS, ID can be obtained in advance"/>
|
|
<column name="password" idlType="string" comment="unencrypted"/>
|
|
<column name="workstationId" idlType="long"/>
|
|
<column name="workstationIp" idlType="long" comment="Logon should claim a workstation, logon claiming another workstation will be denied"/>
|
|
<column name="force" idlType="boolean" comment="true will force login in case other operator is logged in"/>
|
|
</topicType>
|
|
<topicType name="OperatorLogoutRequest">
|
|
<column name="id" idlType="long" comment="Operator Id"/>
|
|
</topicType>
|
|
<topicType name="OperatorWorkstationAlive" isDataObject="1" routeToClient="0" routeToServer="1" routeInReplay="0">
|
|
<column name="workstationId" idlType="long" isKey="1"/>
|
|
<column name="operatorId" idlType="long"/>
|
|
<column name="lastAlive" idlType="long long"/>
|
|
</topicType>
|
|
<topicType name="PartiesByExercise" isDataObject="0">
|
|
<column name="exerciseId" idlType="long" isKey="1"/>
|
|
<column name="visibleParties" idlType="sequence<long>" isOptional="1"/>
|
|
<column name="hiddenParties" idlType="sequence<long>" isOptional="1"/>
|
|
<column name="properties" idlType="string"/>
|
|
</topicType>
|
|
<topicType name="User" isDataObject="1" routeToClient="1" routeToServer="0" routeInReplay="1" baseValueType="Core::BaseEntity">
|
|
<column name="description" idlType="string"/>
|
|
<column name="effectiveAcls" idlType="sequence<long>"/>
|
|
<column name="visiblePartiesByExercise" idlType="sequence<PartiesByExercise>"/>
|
|
<column name="primaryGroupId" idlType="long"/>
|
|
<column name="projectionPriority" idlType="short" comment="1..5"/>
|
|
<column name="audioChannelPriority" idlType="short" comment="1..5"/>
|
|
<column name="image" idlType="sequence<octet>" comment="-&gt; QByteArray, JPG encodiert"/>
|
|
<column name="workstationIp" idlType="long"/>
|
|
<column name="workstationId" idlType="long"/>
|
|
<column name="exerciseIds" idlType="sequence<long>" comment="exercises, the Operator may log into."/>
|
|
<column name="rolePresetId" idlType="long" isOptional="1"/>
|
|
<column name="properties" idlType="string"/>
|
|
</topicType>
|
|
</topicTypes>
|
|
<functionTopics>
|
|
<functionTopic name="ActiveAppRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="ActiveAppRemoveRequest" replyTopicName="ActiveAppRemoveReply" routeInReplay="0"/>
|
|
<functionTopic name="ActiveAppUpdate" requestTopicType="ActiveApp" replyTopicType="Core::FunctionReply" requestTopicName="ActiveAppUpdateRequest" replyTopicName="ActiveAppUpdateReply" routeInReplay="0"/>
|
|
<functionTopic name="GroupChangeMemberships" requestTopicType="GroupChangeMembersRequest" replyTopicType="Core::FunctionReply" requestTopicName="GroupChangeMembershipsRequest" replyTopicName="GroupChangeMembershipsReply" routeInReplay="0"/>
|
|
<functionTopic name="GroupChangeName" requestTopicType="GroupChangeNameRequest" replyTopicType="Core::FunctionReply" requestTopicName="GroupChangeNameRequest" replyTopicName="GroupChangeNameReply" routeInReplay="0"/>
|
|
<functionTopic name="GroupCreate" requestTopicType="GroupCreateRequest" replyTopicType="Core::FunctionReply" requestTopicName="GroupCreateRequest" replyTopicName="GroupCreateReply" routeInReplay="0"/>
|
|
<functionTopic name="GroupRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="GroupRemoveRequest" replyTopicName="GroupRemoveReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorApplyForeignAcls" requestTopicType="OperatorApplyForeignAclsRequest" replyTopicType="Core::FunctionReply" requestTopicName="OperatorApplyForeignAclsRequest" replyTopicName="OperatorApplyForeignAclsReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorChangePassword" requestTopicType="OperatorChangePasswordRequest" replyTopicType="Core::FunctionReply" requestTopicName="OperatorChangePasswordRequest" replyTopicName="OperatorChangePasswordReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorCreateModify" requestTopicType="OperatorCreateModifyRequest" replyTopicType="Core::FunctionReply" requestTopicName="OperatorCreateModifyRequest" replyTopicName="OperatorCreateModifyReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorUpdateVisiblePartiesByExercise" requestTopicType="OperatorUpdateVisiblePartiesByExerciseRequest" replyTopicType="Core::FunctionReply" requestTopicName="OperatorUpdateVisiblePartiesByExerciseRequest" replyTopicName="OperatorUpdateVisiblePartiesByExerciseReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorGetSetSettings" requestTopicType="OperatorGetSetSettingsRequest" replyTopicType="OperatorGetSetSettingsReply" requestTopicName="OperatorGetSetSettingsRequest" replyTopicName="OperatorGetSetSettingsReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorLogin" requestTopicType="OperatorLoginRequest" replyTopicType="Core::FunctionReply" requestTopicName="OperatorLoginRequest" replyTopicName="OperatorLoginReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorLogout" requestTopicType="OperatorLogoutRequest" replyTopicType="Core::FunctionReply" requestTopicName="OperatorLogoutRequest" replyTopicName="OperatorLogoutReply" routeInReplay="0"/>
|
|
<functionTopic name="OperatorRemove" requestTopicType="Core::RemoveElementRequest" replyTopicType="Core::FunctionReply" requestTopicName="OperatorRemoveRequest" replyTopicName="OperatorRemoveReply" routeInReplay="0"/>
|
|
</functionTopics>
|
|
<customDtcFunctions>
|
|
<customDtcFunction>
|
|
<function name="getOperatorsByOperatorRight" returns="QVector<int>">
|
|
<parameter pos="1" name="operatorRight" type="int"/>
|
|
</function>
|
|
<function name="getNotificationRecipents" returns="QVector<int>">
|
|
<parameter pos="1" name="exerciseId" type="const int"/>
|
|
<parameter pos="2" name="partyId" type="const int"/>
|
|
<parameter pos="3" name="operatorRight" type="const int"/>
|
|
<parameter pos="4" name="notificationType" type="const int"/>
|
|
</function>
|
|
</customDtcFunction>
|
|
<customDtcFunction>
|
|
<function name="operatorForExerciseParty" returns="QVector<int>">
|
|
<parameter pos="1" name="exerciseId" type="int"/>
|
|
<parameter pos="2" name="partyId" type="int"/>
|
|
</function>
|
|
</customDtcFunction>
|
|
<customDtcFunction>
|
|
<function name="isAdlerAllowedParty" returns="bool">
|
|
<parameter pos="1" name="exerciseId" type="int"/>
|
|
<parameter pos="2" name="partyId" type="int"/>
|
|
<parameter pos="3" name="operatorId" type="int"/>
|
|
</function>
|
|
</customDtcFunction>
|
|
</customDtcFunctions>
|
|
<enumerations>
|
|
<enumeration name="GroupType" table="opm_group_type">
|
|
<attribute key="AclGroup" value="1"/>
|
|
<attribute key="OperatorGroup" value="2"/>
|
|
<attribute key="PresetGroup" value="3"/>
|
|
<attribute key="StandardGroup" value="4"/>
|
|
</enumeration>
|
|
</enumerations>
|
|
</service>
|