summaryrefslogblamecommitdiffstats
path: root/tests/qapi-schema/doc-good.json
blob: 74745fb4052f5743b28a1b2ca2f566ebacca5ebf (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
                      

                      








                                      
                 
                  
 
                 
                 

         



                 
 
               
                       

                   
 


                
                 





















                               
 

                            

                                   
                                     
 

                      
                 


                                                   
                              
                  


        
 
         
                  
  

                                                


            
 


                                       


                           
                                
  
                       
                                  

                                                    
                                         


            
 




                                    
 

                         

                    
                                

                           


                                                              

  
             
 
                
                        


                      

                           
                             
                                      
                                                    

  




                       
 


                           
                 



                             



                             
 














                                                            

                                            



                                                                   


                             






                                        

                                            

  
             
 

                   
  
                                       
                          
                    
# -*- Mode: Python -*-
# vim: filetype=python
#
# Positive QAPI doc comment tests

{ 'pragma': { 'doc-required': true } }

##
# = Section
#
# == Subsection
#
# *with emphasis*
# @var {in braces}
#
# * List item one
# * Two, multiple
#   lines
#
# * Three
#   Still in list
#
# Not in list
#
# - Second list
#   Note: still in list
#
# Note: not in list
#
# 1. Third list
#    is numbered
#
# 2. another item
#
# Returns: the King
# Since: the first age
# Notes:
#
# 1. Lorem ipsum dolor sit amet
#
# 2. Ut enim ad minim veniam
#
# Duis aute irure dolor
#
# Example:
#
# -> in
# <- out
# Examples:
# - *verbatim*
# - {braces}
##

##
# @Enum:
#
# @one: The _one_ {and only}
#
# Features:
# @enum-feat: Also _one_ {and only}
# @enum-member-feat: a member feature
#
# @two is undocumented
##
{ 'enum': 'Enum',
  'data': [ { 'name': 'one', 'if': 'IFONE',
              'features': [ 'enum-member-feat' ] },
            'two' ],
  'features': [ 'enum-feat' ],
  'if': 'IFCOND' }

##
# @Base:
#
# @base1:
# the first member
##
{ 'struct': 'Base', 'data': { 'base1': 'Enum' },
  'if': { 'all': ['IFALL1', 'IFALL2'] } }

##
# @Variant1:
#
# A paragraph
#
# Another paragraph (but no @var: line)
#
# Features:
# @variant1-feat: a feature
# @member-feat: a member feature
##
{ 'struct': 'Variant1',
  'features': [ 'variant1-feat' ],
  'data': { 'var1': { 'type': 'str',
                      'features': [ 'member-feat' ],
                      'if': 'IFSTR' } } }

##
# @Variant2:
#
##
{ 'struct': 'Variant2', 'data': {} }

##
# @Object:
#
# Features:
# @union-feat1: a feature
##
{ 'union': 'Object',
  'features': [ 'union-feat1' ],
  'base': 'Base',
  'discriminator': 'base1',
  'data': { 'one': 'Variant1',
            'two': { 'type': 'Variant2',
                     'if': { 'any': ['IFONE', 'IFTWO'] } } } }

##
# @Alternate:
#
# @i: an integer
#     @b is undocumented
#
# Features:
# @alt-feat: a feature
##
{ 'alternate': 'Alternate',
  'features': [ 'alt-feat' ],
  'data': { 'i': 'int', 'b': 'bool' },
  'if': { 'not': { 'any': [ 'IFONE', 'IFTWO' ] } } }

##
# == Another subsection
##

##
# @cmd:
#
# @arg1: the first argument
#
# @arg2: the second
#        argument
#
# Features:
# @cmd-feat1: a feature
# @cmd-feat2: another feature
# Note: @arg3 is undocumented
# Returns: @Object
# TODO: frobnicate
# Notes:
#
# - Lorem ipsum dolor sit amet
# - Ut enim ad minim veniam
#
# Duis aute irure dolor
# Example:
#
# -> in
# <- out
# Examples:
# - *verbatim*
# - {braces}
# Since: 2.10
##
{ 'command': 'cmd',
  'data': { 'arg1': 'int', '*arg2': 'str', 'arg3': 'bool' },
  'returns': 'Object',
  'features': [ 'cmd-feat1', 'cmd-feat2' ] }

##
# @cmd-boxed:
# If you're bored enough to read this, go see a video of boxed cats
# Features:
# @cmd-feat1: a feature
# @cmd-feat2: another feature
# Example:
#
# -> in
#
# <- out
##
{ 'command': 'cmd-boxed', 'boxed': true,
  'data': 'Object',
  'features': [ 'cmd-feat1', 'cmd-feat2' ] }

##
# @EVT_BOXED:
#
# Features:
# @feat3: a feature
##
{ 'event': 'EVT_BOXED',  'boxed': true,
  'features': [ 'feat3' ],
  'data': 'Object' }