<?xml version="1.0" encoding="ASCII"?>
<!-- 

#####################################################################
#####################################################################
## Copyright 2005 Steven R. Newcomb                                ##
##                                                                 ##
## This software is licensed under the Apache License, Version 2.0 ##
## (the "License"); you may not use this file except in compliance ##
## with the License.  Copies of the License are available at       ##
##        http://www.apache.org/licenses/LICENSE-2.0               ##
##                                                                 ##
## Unless required by applicable law or agreed to in writing,      ##
## software distributed under the License is distributed on an "AS ##
## IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either ##
## express or implied.  See the License for the specific language  ##
## governing permissions and limitations under the License.        ##
##                                                                 ##
## Copies of the source code and the license are available at      ##
##        http://www.versavant.org                                 ##
#####################################################################
#####################################################################

####################################
cvsRevision = "$Revision: 1.5 $" ##
####################################

Simple little TMA for providing r-proxies with SIPs called "role name", whose
values are strings.

-->
<!-- <!DOCTYPE VersavantTMA SYSTEM "http://www.versavant.org/dtds/TMAConfigFile.dtd">-->
<!DOCTYPE VersavantTMA SYSTEM "../versavantTMA.dtd">
<VersavantTMA
VersavantTMADTDVersion="1"

  ><Desc>Simple little SMV for providing r-proxies with SIPs called "role name", whose values are strings.</Desc

  ><ValueType ValueTypeName="string"
    ><Desc>General-purpose string value type.</Desc
    ><ValueIsNotOfType__
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTstring.py"
      functionName="ValueIsNotOfType_string_"
    /><InstanceOf__ValueTypeToXMLContentString
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTstring.py"
      functionName="InstanceOf_string_ValueTypeToXMLContentString"
    /><XMLContentStringToInstanceOf__ValueType
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTstring.py"
      functionName="XMLContentStringToInstanceOf_string_ValueType"
  /></ValueType

  ><PropertyClass PropertyClassName="role name" ValueType="string"
    ><Desc>Subject is a role whose unique name is the value.</Desc
    ><Add__PropToOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Add_string_PropToOverheadDict"
    /><Remove__PropFromOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Remove_string_PropFromOverheadDict"
    /><ValueIsInvalidFor__Property
      functionModuleFilePath="propertyClasses.py"
      functionName="ValueIsInvalidFor_role_name_Property"
    /><Merge__PropertyValues
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Merge_string_PropertyValues"
    /><ValuesOf__PropertyInstancesAreSignificantlyDifferent
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ValuesOf_string_PropertyInstancesAreSignificantlyDifferent"
    /><MergeProxiesBecause__PropertyInstancesSpecifySameSubject
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="MergeProxiesBecause_string_PropertyInstancesSpecifySameSubject"
    /><ProxiesWith__ValueNotSignificantlyDifferentFrom
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ProxiesOfSubjectIdentifiedBy_string_Value"
  /></PropertyClass

  ><ConferralRule ConferralRuleName="reifyRolesIn_A_assert_a_sips"
      functionModuleFilePath="conferralRules.py"
      functionName="reifyRolesIn_A_assert_a_sips"
      functionExtraArgsString="bridgeFromTMAName = 'A_assert'"
    ><Desc>From each A_assert,,a_sip property, confer a "role name" property whose value is the first member of each tuple.</Desc
  ></ConferralRule

  ><ConferralRule ConferralRuleName="reifyRolesIn_U_assert_properties"
      functionModuleFilePath="conferralRules.py"
      functionName="reifyRolesIn_U_assert_properties"
      functionExtraArgsString="bridgeFromTMAName = 'U_assert'"
    ><Desc>From each U_assert,,x_LrnRrnRrp property, confer a "role name" property for each local and remote role name.</Desc
  ></ConferralRule

></VersavantTMA>
