如何通过python3(CORBA IDL)将列表列表列表传递给globaldefs::NamingAttributesList\T

2024-10-03 17:15:22 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在CORBA客户机中通过python3传递值列表

以下是输入/输出IDL结构:

  void getSelfLearningMACAddressTable(
    in globaldefs::NamingAttributesList_T nameList,
    in unsigned long how_many,
    out SelfLearningMACAddressTableList_T tableList,
    out SelfLearningMACAddressTableIterator_I tableIt
  )

我希望下面的示例是这样的,但是使用NamingAttributesList而不是NameAndStringValue,但是我不知道如何做到这一点

meName = [globaldefs.NameAndStringValue_T(name='EMS', value='Huawei/U2000'),
          globaldefs.NameAndStringValue_T(name='ManagedElement', value='3146962'),globaldefs.NameAndStringValue_T(name='MatrixFlowdomainFragment', value='VSI=1')]
meName = CORBA.Any(globaldefs._tc_NamingAttributes_T, meName)

下面是从CORBA模拟器中捕获in值的过程:

Input ( getSelfLearningMACAddressTable ) :
in:nameList
IDL:mtnm.tmforum.org/globaldefs/NamingAttributesList_T:1.0: Sequence of length: 1 ( 
    Sequence: Sequence of length: 3 ( 
    IDL:mtnm.tmforum.org/globaldefs/NameAndStringValue_T:1.0{
    name : String: EMS , 
    value : String: Huawei/U2000
} ; 
    IDL:mtnm.tmforum.org/globaldefs/NameAndStringValue_T:1.0{
    name : String: ManagedElement , 
    value : String: 3146962
} ; 
    IDL:mtnm.tmforum.org/globaldefs/NameAndStringValue_T:1.0{
    name : String: MatrixFlowdomainFragment , 
    value : String: VSI=1|
} 
)  
) 
in:how_many
ULong: 0

Tags: nameinorgstringvalueidlsequencecorba