1    /* 
     2     *  Copyright (c) 2008 Texas Instruments and others.
     3     *  All rights reserved. This program and the accompanying materials
     4     *  are made available under the terms of the Eclipse Public License v1.0
     5     *  which accompanies this distribution, and is available at
     6     *  http://www.eclipse.org/legal/epl-v10.html
     7     * 
     8     *  Contributors:
     9     *      Texas Instruments - initial implementation
    10     * 
    11     * */
    12    /*
    13     *  ======== ViewInfo ========
    14     */
    15    package xdc.rov
    16    
    17    /*!
    18     *  ======== ViewInfo ========
    19     *  Describes the ROV views supported by a particular module.
    20     */
    21    @Facet metaonly module ViewInfo {
    22        /*!
    23         *  ======== ViewType ========
    24         *  ROV view type
    25         *
    26         *  @p(dlist)
    27         *      - INSTANCE
    28         *          basic instance information (one row per instance).  The view
    29         *          init function is passed two arguments: (1) an instance of the
    30         *          view structure, and (2) the instance state structure of the
    31         *          instance to view.
    32         *
    33         *      - INSTANCE_DATA
    34         *          instance-specific data tables (many rows per instance).  The
    35         *          view init function is passed two arguments:(1) an instance of
    36         *          the {@link xdc.rov.Program#InstDataView Program.InstDataView}
    37         *          structure, and (2) an instance state structure for the
    38         *          instance to view.
    39         *
    40         *      - MODULE
    41         *          basic module information (one row per module).  The view
    42         *          init function is passed two arguments: (1) an instance of the
    43         *          view structure, and (2) the module state structure of the
    44         *          module to view.
    45         *
    46         *      - MODULE_DATA
    47         *          module-specific data tables (many rows per module).  The
    48         *          view init function is passed one argument: a
    49         *          {@link xdc.rov.Program#ModDataView Program.ModDataView}
    50         *          structure.
    51         *
    52         *      - RAW
    53         *         This is a reserved view type used by ROV to display raw data.
    54         *
    55         *      - TREE_TABLE
    56         *         The view init function is passed no arguments and is expected
    57         *         to return a new initialized
    58         *         {@link xdc.rov.Program#TreeNode xdc.rov.Program.TreeNode}
    59         *         array or `null` in the event that there is nothing to
    60         *         display.
    61         *
    62         *         This view type is used to describe the `Diags` masks
    63         *         for all modules, for example; see
    64         *         {@link xdc.runtime.Diags#rovViewInfo Diags.rovViewInfo}'
    65         *
    66         *      - TREE
    67         *         The view init function is passed no arguments and is expected
    68         *         to return a new initialized JavaScript hash table of hash
    69         *         tables or `null` in the event that there is nothing to display.
    70         *
    71         *         This view type provides a simple two-level tree of name-value
    72         *         pairs.
    73         *  @p
    74         */
    75        metaonly enum ViewType {
    76            INSTANCE,
    77            MODULE,
    78            INSTANCE_DATA,
    79            MODULE_DATA,
    80            RAW,
    81            TREE_TABLE,
    82            TREE
    83        }
    84        
    85        /*!
    86         *  ======== View ========
    87         *  ROV View descriptor
    88         *
    89         *  @field(type)          the view type which control the type of arguments
    90         *                        passed to the `viewInitFxn`
    91         *  @field(viewInitFxn)   the name of a function that converts raw target
    92         *                        data into a human readable "view structure".
    93         *                        This name is the name of a metaonly function
    94         *                        defined in the module's `.xs` file.
    95         *  @field(structName)    the name of the view structure populated by
    96         *                        the `viewInitFxn`.  This name is a name defined
    97         *                        the module's `.xdc` file.
    98         */
    99        metaonly struct View {
   100            ViewType type;
   101            String   viewInitFxn;
   102            String   structName;
   103        }
   104        
   105    instance:
   106        
   107        /*!
   108         *  ======== viewMap ========
   109         *  Specifies all of the ROV views for the module
   110         *
   111         *  Maps module-specific view names to an appropriate View descriptor.
   112         */
   113        metaonly config View viewMap[string];
   114    
   115        /*!
   116         *  ======== showRawTab ========
   117         *  Control whether or not the "raw view" is available
   118         */
   119        metaonly config Bool showRawTab = true;
   120    
   121    }
   122    /*
   123     *  @(#) xdc.rov; 1, 0, 1,0; 5-10-2017 08:13:01; /db/ztree/library/trees/xdc/xdc-D13/src/packages/
   124     */
   125