UIstatDisp.h is obsolete
[dyninst.git] / paradyn / h / UI.I
1 /* UI.I
2      input file for igen for User Interface Manager (UIM) interface to paradyn
3 */
4 /* $Log: UI.I,v $
5 /* Revision 1.16  1995/10/17 03:00:39  karavan
6 /* UIstatDisp.h is obsolete
7 /*
8 # Revision 1.15  1995/10/05  04:46:22  karavan
9 # changes to support future Performance Consultant: multiple searches, one
10 # per phase.  Added PC status window to the interface where it belongs.
11 # Removed statusDisplayObj class.
12 # Deleted obsolete commented code.
13 #
14 # Revision 1.14  1995/07/17  04:25:50  tamches
15 # commented out the unused batch calls
16 #
17 # Revision 1.13  1995/06/02  20:58:43  newhall
18 # made code compatable with new datamanager interface
19 # replaced List and HTable container classes with STL containers
20 #
21 # Revision 1.12  1995/01/26  17:59:26  jcargill
22 # Changed igen-generated include files to new naming convention; fixed
23 # some bugs compiling with gcc-2.6.3.
24 #
25 # Revision 1.11  1994/11/02  04:44:55  karavan
26 # added new interface service UIM::readStartupFile()
27 #
28 # Revision 1.10  1994/09/25  01:49:01  newhall
29 # UI and VM interface changes to support new representation
30 # of metric/focus lists as a list of metric/focus pairs (either
31 # as a string or a list of metric* resourceList* pairs).
32 #
33 # Revision 1.9  1994/09/22  00:40:52  markc
34 # Specified return type for function typedefs
35 # Added "const" for errString parameter to showError()
36 # incremented version number
37 #
38 # Revision 1.8  1994/08/17  17:55:22  markc
39 # Incremented version numbers because a new version of igen has been
40 # committed.
41 #
42 # Revision 1.7  1994/08/09  18:14:58  karavan
43 # Expanded GetMetricsandResources to handle retries.
44 #
45 # Revision 1.6  1994/07/08  04:04:15  karavan
46 # changed showError function to async
47 #
48 # Revision 1.5  1994/07/07  05:59:02  karavan
49 # updated version number (finally!)
50 #
51 # Revision 1.4  1994/07/07  05:57:42  karavan
52 # added UIM error service function
53 #
54 # Revision 1.3  1994/06/12  22:39:42  karavan
55 # implemented status display service.
56 #
57 # Revision 1.2  1994/04/21  05:03:28  karavan
58 # Added most DAG services and sync versions of message display services.
59 #
60 # Revision 1.1  1994/04/05  19:37:57  karavan
61 # Initial version.
62 # */
63
64 /*
65  * Copyright (c) 1993, 1994 Barton P. Miller, Jeff Hollingsworth,
66  *     Bruce Irvin, Jon Cargille, Krishna Kunchithapadam, Karen
67  *     Karavanic, Tia Newhall, Mark Callaghan.  All rights reserved.
68  * 
69  * This software is furnished under the condition that it may not be
70  * provided or otherwise made available to, or used by, any other
71  * person, except as provided for by the terms of applicable license
72  * agreements.  No title to or ownership of the software is hereby
73  * transferred.  The name of the principals may not be used in any
74  * advertising or publicity related to this software without specific,
75  * written prior authorization.  Any use of this software must include
76  * the above copyright notice.
77  *
78  */
79
80 #include "paradyn/src/DMthread/DMinclude.h"
81
82 /* 
83  * Handler that gets called when user-selected metric and focus choices
84  * are passed back to the requesting visualization thread
85  */
86
87 typedef int (*chooseMandRCBFunc) (vector<metric_focus_pair> *pairList);
88
89 /* 
90  * Handler that gets called when user choice passed back to requesting 
91  *  thread after message display
92  */
93 typedef int (*showMsgCBFunc) (int userChoice);
94
95 /* 
96  * Handler that gets called when user choice passed back to requesting 
97  *  thread after error message display
98  */
99 typedef int (*showErrorCBFunc) (int userChoice);
100
101 /*
102  * Handler that gets called when user choice passed back to requesting 
103  *  thread after menu display.  userChoice is index of selected menu 
104  *  item in original list.
105  */
106 typedef int (*chooseMenuItemCBFunc) (int userChoice);
107
108 /*
109  * igen template for UIM server and client classes 
110  */ 
111
112 $remote UIM {
113         $base 3000;
114         $version 9;
115         //
116         // provides user with appropriate choices and passes back selections
117
118         $async void chooseMetricsandResources(chooseMandRCBFunc cb,
119                              vector<metric_focus_pair> *pairList);
120
121         $upcall $async void chosenMetricsandResources (chooseMandRCBFunc, 
122                               vector<metric_focus_pair> *pairList);
123
124         
125         // generic message display; returns index of user choice if applic.
126
127         $async void showMsg (showMsgCBFunc cb,
128                         char *displayMsg, 
129                         int numChoices, 
130                         char **choices);
131
132         $upcall $async void msgChoice (showMsgCBFunc cb, 
133                         int userChoice);
134
135         int showMsgWait (char *displayMsg, 
136                         int numChoices, 
137                         char **choices);
138
139         // message display with "error" visual characteristics
140         //  and lookup in error database for explanation
141
142         $async void showError (int errCode, const char *errString);
143
144         // returns index of user's menu choice
145         $async void chooseMenuItem (chooseMenuItemCBFunc cb, 
146                         char *menuItems,
147                         char *menuTitle,
148                         char *options,
149                         int numMenuItems,
150                         int flags);
151
152         $upcall $async void chooseMenuItemREPLY (chooseMenuItemCBFunc cb, 
153                         int userChoice);
154
155         // used to tell UI to source a tcl file after initialization
156         $async void readStartupFile(const char *script);
157
158         // 
159         // DAG services 
160         //
161         int initSHG (const char *phasename, int phaseID);
162
163         // add string to end of PC (scrolling) status display box
164         $async void updateStatusDisplay (int token, const char *item);
165
166         int DAGaddNode(int dagID, unsigned nodeID, int styleID, 
167                         char *label, char *shgname, int root);
168         int DAGaddEdge (int dagID, unsigned srcID, 
169                         unsigned dstID, int styleID);
170         int DAGconfigNode (int dagID, unsigned nodeID, int styleID);
171
172 // some DAG services are on holiday until further notice.  stay tuned  
173 //      int DAGconfigEdges (int dagID, int numEntries, int edgeID, 
174 //                            int styleID);
175 //      int DAGdestroy (int dagID);
176 //
177         
178 };