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