admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
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
Quintiq file version 2.0
#parent: #root
Method ParseExtensionTypeQuery (JSON jsondata)
{
  TextBody:
  [*
    results := guard( jsondata.Get( 'results' ), null( JSON, owning ) );
    
    if( guard( results.IsArray(), false ) )
    {
      for( i := 0; i < results.Size(); i++ )
      {
        result := results.Get( i );
        
        if( not isnull( result ) )
        {
          for( j := 0; j < result.Size(); j++ )
          {
            key := result.GetProperty( j );
            if( key.Wildcard( 'interface[*].name' ) or key.Wildcard( 'interface[*].allparents' ) )
            {
              start := key.FindString( '[', 0 ) + 1;
              end := key.FindString( ']', 0 );
              count := end - start;
              extensionname := key.SubString( start, count );
              
              extensiontype := Lib3DS_ExtensionType::FindOrCreate( this, extensionname );
              if( key.EndsWith( 'allparents' ) )
              {
                allparents := result.Get( key );
                
                if( allparents.IsString() )
                {
                  parentname := allparents.GetString();
                  extensiontype.ParentName( parentname );
                  extensiontype := Lib3DS_ExtensionType::FindOrCreate( this, parentname );
                }
                else if( allparents.IsArray() )
                {
                  for( k := 0; k < allparents.Size(); k++ )
                  {
                    parentname := allparents.Get( k ).GetString();
                    extensiontype.ParentName( parentname );
                    extensiontype := Lib3DS_ExtensionType::FindOrCreate( this, parentname );
                  }
                }
              }
            }
          }
        }
      }
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}