1 /*
2 * Copyright (c) 2009 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 package xdc.tools.product;
13
14 /*!
15 * ======== IProductView ========
16 * Define a product as a logical group of RTSC modules
17 *
18 * This interface allows a product to define
19 * logical groups of RTSC modules delivered with it. Implementations
20 * maybe consumed within development environments like IDE's to render a
21 * graphical tree view of the product comprising of these groups.
22 * This is an experimental interface and is subject to change.
23 *
24 */
25 metaonlyinterface IProductView
26 {
27 /*!
28 * ======== ProductElemDesc ========
29 * ProductElemDesc structure
30 *
31 * Structure that should be used by the implementor to
32 * define the logical tree "view" of the product. The product view is
33 * composed of elements that are either modules or groups.
34 * Groups can contain other groups or modules. The implementor will
35 * start with a root node and then logically build a tree
36 * comprising of groups and modules.
37 *
38 * @field(elemName) Name of element. Elements can be either
39 * groups or modules
40 * @field(moduleName) In case of a leaf node this field will
41 * contain the module name. For intermediate
42 * tree nodes the module name will be set to
43 * `null`
44 * @field(iconFileName) The name of the icon file that is associated
45 * with this element
46 * @field(elemArray) Array used to define children of a node.
47 */
48 metaonlystruct ProductElemDesc {
49 String elemName; /*! Name of group or module */
50 String moduleName; /*! Name of module */
51 String iconFileName; /*! Icon file name representing element */
52 ProductElemDesc elemArray[]; /*! Array of `ProductElemDesc` */
53 };
54
55 /*!
56 * ======== getProductDescriptor ========
57 * Return product descriptor
58 *
59 * This method is typically invoked by development tools like IDE's
60 * to get the product view tree structure.
61 *
62 * @a(returns) 63 * Returns root node of the tree of `{@link #ProductElemDesc}` structures
64 */
65 ProductElemDesc getProductDescriptor();
66 }
67 /*
68 * @(#) xdc.tools.product; 1, 0, 0,37; 8-4-2010 15:09:33; /db/ztree/library/trees/xdctools/xdctools-d42x/src/
69 */
70