1 2 3 4 5 6 7 8 9 10 11
12 /*!
13 * ======== Model ========
14 * The ROV Model is the core of ROV. The Model must be started in order to
15 * retrieve ROV views for any modules.
16 *
17 * The Model has a compatibility key. Any changes or additions to the public
18 * interfaces of the ROV core will result in a bump of the model version
19 * number.
20 */
21 metaonly module Model {
22
23 /*!
24 * ======== vers ========
25 * ROV API version number
26 *
27 * Model.start will throw an exception if the version parameter does not
28 * equal the Model's current version. The version number is changed based
29 * on modifications to the public APIs (in xdc.rov.Program) that would
30 * potentially break compatibility with clients.
31 *
32 * This allows the Model to verify compatibility with its client.
33 */
34 config Int vers = 4;
35
36 /*!
37 * ======== start ========
38 * Start the ROV Model
39 *
40 * The ROV Model requires instances of an ISymbolTable, an IMemoryImage,
41 * and an ICallBack. It also requires the ROV recap file, which can be
42 * located using the xdc.rov.Recap module.
43 *
44 * @param(vers) Model.start will throw an exception if the version
45 * parameter does not equal the Model's current
46 * `{@link #vers version}`.
47 *
48 * @param(recap) Capsule of the ROV recap file. Retrieve this with
49 * `xdc.loadCapsule(recapFilePath)`.
50 *
51 * @param(executable) The path to the executable file
52 *
53 * @param(sym) an object that implements the xdc.rov.ISymbolTable
54 * interface used to read symbols defined by the
55 * executable
56 *
57 * @param(mem) an object that implements the xdc.rov.IMemoryImage
58 * interface used to read target memory
59 *
60 * @param(callBack) an object that implements the xdc.rov.ICallback
61 * interface used to report progress status
62 */
63 Void start(Int vers, String executable, Any recap,
64 ISymbolTable.Instance sym, Any mem,
65 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 114
115