Changed igen-generated include files to new naming convention; fixed
[dyninst.git] / paradyn / h / performanceConsultant.I
1
2 /*
3  * Interface between the Performance Consultant and the rest of paradyn.
4  *
5  * $Log: performanceConsultant.I,v $
6  * Revision 1.10  1995/01/26 17:59:31  jcargill
7  * Changed igen-generated include files to new naming convention; fixed
8  * some bugs compiling with gcc-2.6.3.
9  *
10  * Revision 1.9  1994/09/22  00:45:15  markc
11  * Made array declarations explicit
12  * Incremented version number
13  *
14  * Revision 1.8  1994/08/17  17:55:29  markc
15  * Incremented version numbers because a new version of igen has been
16  * committed.
17  *
18  * Revision 1.7  1994/05/09  20:53:36  hollings
19  * added changeState to dataManager, and clearSHG to performanceConsultant.
20  *
21  * Revision 1.6  1994/05/06  06:50:45  karavan
22  * added startSHG().
23  *
24  * Revision 1.5  1994/05/02  20:36:50  hollings
25  * Added pause and shg get node routines.
26  *
27  * Revision 1.4  1994/04/27  22:54:52  hollings
28  * Merged refine auto and search.
29  *
30  * Revision 1.3  1994/04/21  05:01:21  karavan
31  * changed search and autoRefine to async to avoid deadlock with UIM.
32  *
33  * Revision 1.2  1994/02/02  00:43:20  hollings
34  * Added Auto Refinement options.
35  *
36  * Revision 1.1  1994/02/01  18:47:35  hollings
37  * Upgrades for performanceConsultant thread.
38  *
39  */
40 #include "dataManager.thread.h"
41
42 //
43 // Forward decl of classes that are passed out the interface.
44 //
45 class searchHistoryNode;
46 typedef searchHistoryNode *SHNptr;
47
48 $remote array int int_Array;
49
50 $remote array SHNptr SHNptr_Array;
51
52 $remote performanceConsultant {
53     $base 6000;
54     $version 4;
55
56     // for all of the configured tests print their status.
57     //  This is intended for debugging only.
58     void printTestStatus();
59
60     // enumerate all of the refinements.
61     SHNptr_Array getWhyRefinements(searchHistoryNode *);
62     SHNptr_Array getWhenRefinements(searchHistoryNode *);
63     SHNptr_Array getWhereRefinements(searchHistoryNode *);
64     SHNptr_Array getAllRefinements(searchHistoryNode *);
65
66     // return the current refinement node.
67     searchHistoryNode *getCurrentRefinement();
68     int getCurrentNodeId();
69
70     // make PC available to user
71     $async void startSHG();
72
73     // destroy any shg state we have
74     $async void clearSHG();
75
76     void printSHGNode(searchHistoryNode *);
77     void printSHGList();
78
79     // try to make automated refinements.  Up to limit number of steps.
80     $async void search(Boolean, int limit);
81
82     // stop the automated search process in its tracks.
83     $async void pauseSearch();
84
85     // change the current refinement node.
86     //  NOTE:  The node must be true and an ancestral path to the root must
87     //         also be true or set will fail.
88     //         As a side effect, searching is paused!!
89     int setCurrentSHGnode(int node);
90
91     void createInterval(int, timeStamp, timeStamp, char*);
92
93     // This doesn't work yet !!
94     void doRefine(int_Array ids);
95
96     // Really just setCurrentSHGnode(id of root node).
97     $async void resetRefinement();
98 };