3 * Interface between the Performance Consultant and the rest of paradyn.
5 * $Log: performanceConsultant.I,v $
6 * Revision 1.11 1995/02/16 08:01:45 markc
8 * 1) XDR interfaces use strings and vectors instead of igen arrays and char*'s
9 * 2) No sync upcalls are allowed by the server in xdr interfaces
10 * 3) Redefined igen arrays that were used in thread code to use manually defined
11 * structures rather than igen-defined, since igen did not need to know about
13 * 4) Upped all of the version numbers since all new interface code is generated
14 * 5) Async calls are no longer handled while waiting for sync responses, these
15 * requests are buffered.
17 * Revision 1.10 1995/01/26 17:59:31 jcargill
18 * Changed igen-generated include files to new naming convention; fixed
19 * some bugs compiling with gcc-2.6.3.
21 * Revision 1.9 1994/09/22 00:45:15 markc
22 * Made array declarations explicit
23 * Incremented version number
25 * Revision 1.8 1994/08/17 17:55:29 markc
26 * Incremented version numbers because a new version of igen has been
29 * Revision 1.7 1994/05/09 20:53:36 hollings
30 * added changeState to dataManager, and clearSHG to performanceConsultant.
32 * Revision 1.6 1994/05/06 06:50:45 karavan
35 * Revision 1.5 1994/05/02 20:36:50 hollings
36 * Added pause and shg get node routines.
38 * Revision 1.4 1994/04/27 22:54:52 hollings
39 * Merged refine auto and search.
41 * Revision 1.3 1994/04/21 05:01:21 karavan
42 * changed search and autoRefine to async to avoid deadlock with UIM.
44 * Revision 1.2 1994/02/02 00:43:20 hollings
45 * Added Auto Refinement options.
47 * Revision 1.1 1994/02/01 18:47:35 hollings
48 * Upgrades for performanceConsultant thread.
51 #include "dataManager.thread.h"
54 // Forward decl of classes that are passed out the interface.
56 class searchHistoryNode;
57 typedef searchHistoryNode *SHNptr;
59 typedef struct int_Array {
64 typedef struct SHNptr_Array {
69 $remote performanceConsultant {
73 // for all of the configured tests print their status.
74 // This is intended for debugging only.
75 void printTestStatus();
77 // enumerate all of the refinements.
78 SHNptr_Array getWhyRefinements(searchHistoryNode *);
79 SHNptr_Array getWhenRefinements(searchHistoryNode *);
80 SHNptr_Array getWhereRefinements(searchHistoryNode *);
81 SHNptr_Array getAllRefinements(searchHistoryNode *);
83 // return the current refinement node.
84 searchHistoryNode *getCurrentRefinement();
85 int getCurrentNodeId();
87 // make PC available to user
88 $async void startSHG();
90 // destroy any shg state we have
91 $async void clearSHG();
93 void printSHGNode(searchHistoryNode *);
96 // try to make automated refinements. Up to limit number of steps.
97 $async void search(bool, int limit);
99 // stop the automated search process in its tracks.
100 $async void pauseSearch();
102 // change the current refinement node.
103 // NOTE: The node must be true and an ancestral path to the root must
104 // also be true or set will fail.
105 // As a side effect, searching is paused!!
106 int setCurrentSHGnode(int node);
108 void createInterval(int, timeStamp, timeStamp, char*);
110 // This doesn't work yet !!
111 void doRefine(int_Array ids);
113 // Really just setCurrentSHGnode(id of root node).
114 $async void resetRefinement();