1 2 3 4 5 6 7 8 9 10 11
12
13 /*!
14 * ======== Model ========
15 * The ROV Model is the core of ROV. The Model must be started in order to
16 * retrieve ROV views for any modules.
17 *
18 * The Model has a compatibility key. Any changes or additions to the public
19 * interfaces of the ROV core will result in a bump of the model version
20 * number.
21 */
22 metaonly module Model {
23
24 /*!
25 * ======== vers ========
26 * ROV API version number
27 *
28 * Model.start will throw an exception if the version parameter does not
29 * equal the Model's current version. The version number is changed based
30 * on modifications to the public APIs (in xdc.rov.Program) that would
31 * potentially break compatibility with clients.
32 *
33 * This allows the Model to verify compatibility with its client.
34 */
35 config Int vers = 5;
36
37 /*!
38 * ======== start ========
39 * Start the ROV Model
40 *
41 * The ROV Model requires instances of an ISymbolTable, an IMemoryImage,
42 * and an ICallBack. It also requires the ROV recap file, which can be
43 * located using the xdc.rov.Recap module.
44 *
45 * @param(vers) Model.start will throw an exception if the version
46 * parameter does not equal the Model's current
47 * `{@link #vers version}`.
48 *
49 * @param(recap) Capsule of the ROV recap file. Retrieve this with
50 * `xdc.loadCapsule(recapFilePath)`.
51 *
52 * @param(executable) The path to the executable file
53 *
54 * @param(sym) an object that implements the xdc.rov.ISymbolTable
55 * interface used to read symbols defined by the
56 * executable
57 *
58 * @param(mem) an object that implements the xdc.rov.IMemoryImage
59 * interface used to read target memory
60 *
61 * @param(callBack) an object that implements the xdc.rov.ICallback
62 * interface used to report progress status
63 */
64 Void start(Int vers, String executable, Any recap,
65 ISymbolTable.Instance sym, Any mem, ICallBack.Instance callBack);
66
67 68 69 70 71 72 73 74
75 ICallStack.Instance getICallStackInst();
76
77 /*!
78 * ======== setICallStackInst ========
79 * Called only during Model initialization
80 *
81 * This method is called to "bind" an optional stack call stack parser
82 * and is called by the same client that calls
83 * `{@link #start Model.start()}`.
84 */
85 void setICallStackInst(ICallStack.Instance cs);
86
87 /*!
88 * ======== getISymbolTableInst ========
89 */
90 ISymbolTable.Instance getISymbolTableInst();
91
92 /*!
93 * ======== getMemoryImageInst ========
94 */
95 function getMemoryImageInst();
96
97 /*!
98 * ======== getICallBackInst ========
99 */
100 ICallBack.Instance getICallBackInst();
101
102 /*!
103 * ======== getIOFReaderInst ========
104 */
105 function getIOFReaderInst();
106
107 /*!
108 * ======== getModuleList ========
109 */
110 Any getModuleList();
111
112 /*!
113 * ======== getRecap ========
114 */
115 function getRecap(execPath);
116 }
117 118 119
120