added startSHG().
[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.6  1994/05/06 06:50:45  karavan
7  * added startSHG().
8  *
9  * Revision 1.5  1994/05/02  20:36:50  hollings
10  * Added pause and shg get node routines.
11  *
12  * Revision 1.4  1994/04/27  22:54:52  hollings
13  * Merged refine auto and search.
14  *
15  * Revision 1.3  1994/04/21  05:01:21  karavan
16  * changed search and autoRefine to async to avoid deadlock with UIM.
17  *
18  * Revision 1.2  1994/02/02  00:43:20  hollings
19  * Added Auto Refinement options.
20  *
21  * Revision 1.1  1994/02/01  18:47:35  hollings
22  * Upgrades for performanceConsultant thread.
23  *
24  */
25 #include "dataManager.h"
26
27 //
28 // Forward decl of classes that are passed out the interface.
29 //
30 class searchHistoryNode;
31 typedef searchHistoryNode *SHNptr;
32
33 $remote performanceConsultant {
34     $base 6000;
35     $version 2;
36
37     // for all of the configured tests print their status.
38     //  This is intended for debugging only.
39     void printTestStatus();
40
41     // enumerate all of the refinements.
42     $array SHNptr getWhyRefinements(searchHistoryNode *);
43     $array SHNptr getWhenRefinements(searchHistoryNode *);
44     $array SHNptr getWhereRefinements(searchHistoryNode *);
45     $array SHNptr getAllRefinements(searchHistoryNode *);
46
47     // return the current refinement node.
48     searchHistoryNode *getCurrentRefinement();
49     int getCurrentNodeId();
50
51     // make PC available to user
52     $async void startSHG();
53     void printSHGNode(searchHistoryNode *);
54     void printSHGList();
55
56     // try to make automated refinements.  Up to limit number of steps.
57     $async void search(Boolean, int limit);
58
59     // stop the automated search process in its tracks.
60     $async void pauseSearch();
61
62     // change the current refinement node.
63     //  NOTE:  The node must be true and an ancestral path to the root must
64     //         also be true or set will fail.
65     //         As a side effect, searching is paused!!
66     int setCurrentSHGnode(int node);
67
68     void createInterval(int, timeStamp, timeStamp, char*);
69
70     // This doesn't work yet !!
71     void doRefine($array int ids);
72
73     // Really just setCurrentSHGnode(id of root node).
74     $async void resetRefinement();
75 };