Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
emulab-devel
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
143
Issues
143
List
Boards
Labels
Service Desk
Milestones
Merge Requests
6
Merge Requests
6
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
emulab
emulab-devel
Commits
ff01ba54
Commit
ff01ba54
authored
Jun 05, 2004
by
Russ Fish
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hyperviewer application program
parent
d736629e
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
8333 additions
and
0 deletions
+8333
-0
hyperviewer/BigLan.hyp
hyperviewer/BigLan.hyp
+541
-0
hyperviewer/GNUMakefile
hyperviewer/GNUMakefile
+67
-0
hyperviewer/ROADMAP
hyperviewer/ROADMAP
+85
-0
hyperviewer/_hv.cpp
hyperviewer/_hv.cpp
+3294
-0
hyperviewer/emulabclient.py
hyperviewer/emulabclient.py
+83
-0
hyperviewer/exptToHv.py
hyperviewer/exptToHv.py
+130
-0
hyperviewer/hv.i
hyperviewer/hv.i
+1189
-0
hyperviewer/hv.mod
hyperviewer/hv.mod
+56
-0
hyperviewer/hv.py
hyperviewer/hv.py
+157
-0
hyperviewer/hvFrameUI.py
hyperviewer/hvFrameUI.py
+255
-0
hyperviewer/hvgui.wxg
hyperviewer/hvgui.wxg
+575
-0
hyperviewer/hvmain.cpp
hyperviewer/hvmain.cpp
+214
-0
hyperviewer/hypview.py
hyperviewer/hypview.py
+321
-0
hyperviewer/sshxmlrpc.py
hyperviewer/sshxmlrpc.py
+466
-0
hyperviewer/ts600.hyp
hyperviewer/ts600.hyp
+900
-0
No files found.
hyperviewer/BigLan.hyp
0 → 100644
View file @
ff01ba54
0 clan 1 lan
1 CN-4 1 host
2 llan-4 1 lan
3 LN-119 1 host
3 LN-118 1 host
3 LN-115 1 host
3 LN-114 1 host
3 LN-117 1 host
3 LN-116 1 host
3 LN-111 1 host
3 LN-110 1 host
3 LN-113 1 host
3 LN-112 1 host
3 LN-106 1 host
3 LN-107 1 host
3 LN-122 1 host
3 LN-123 1 host
3 LN-108 1 host
3 LN-109 1 host
3 LN-120 1 host
3 LN-121 1 host
3 LN-104 1 host
3 LN-105 1 host
3 LN-102 1 host
3 LN-103 1 host
3 LN-100 1 host
3 LN-101 1 host
3 LN-124 1 host
1 CN-15 1 host
2 llan-15 1 lan
3 LN-393 1 host
3 LN-392 1 host
3 LN-391 1 host
3 LN-390 1 host
3 LN-379 1 host
3 LN-378 1 host
3 LN-395 1 host
3 LN-394 1 host
3 LN-375 1 host
3 LN-399 1 host
3 LN-376 1 host
3 LN-397 1 host
3 LN-396 1 host
3 LN-377 1 host
3 LN-384 1 host
3 LN-385 1 host
3 LN-386 1 host
3 LN-387 1 host
3 LN-380 1 host
3 LN-381 1 host
3 LN-382 1 host
3 LN-383 1 host
3 LN-388 1 host
3 LN-389 1 host
3 LN-398 1 host
1 CN-10 1 host
2 llan-10 1 lan
3 LN-274 1 host
3 LN-270 1 host
3 LN-271 1 host
3 LN-272 1 host
3 LN-273 1 host
3 LN-258 1 host
3 LN-259 1 host
3 LN-252 1 host
3 LN-253 1 host
3 LN-250 1 host
3 LN-251 1 host
3 LN-256 1 host
3 LN-257 1 host
3 LN-254 1 host
3 LN-255 1 host
3 LN-263 1 host
3 LN-262 1 host
3 LN-261 1 host
3 LN-260 1 host
3 LN-267 1 host
3 LN-266 1 host
3 LN-265 1 host
3 LN-264 1 host
3 LN-269 1 host
3 LN-268 1 host
1 CN-0 1 host
2 llan-0 1 lan
3 LN-9 1 host
3 LN-8 1 host
3 LN-5 1 host
3 LN-4 1 host
3 LN-7 1 host
3 LN-6 1 host
3 LN-1 1 host
3 LN-0 1 host
3 LN-3 1 host
3 LN-2 1 host
3 LN-19 1 host
3 LN-18 1 host
3 LN-15 1 host
3 LN-14 1 host
3 LN-17 1 host
3 LN-16 1 host
3 LN-11 1 host
3 LN-10 1 host
3 LN-13 1 host
3 LN-12 1 host
3 LN-24 1 host
3 LN-20 1 host
3 LN-21 1 host
3 LN-22 1 host
3 LN-23 1 host
1 CN-6 1 host
2 llan-6 1 lan
3 LN-168 1 host
3 LN-169 1 host
3 LN-164 1 host
3 LN-165 1 host
3 LN-166 1 host
3 LN-167 1 host
3 LN-160 1 host
3 LN-161 1 host
3 LN-162 1 host
3 LN-163 1 host
3 LN-173 1 host
3 LN-158 1 host
3 LN-151 1 host
3 LN-150 1 host
3 LN-153 1 host
3 LN-152 1 host
3 LN-155 1 host
3 LN-154 1 host
3 LN-157 1 host
3 LN-156 1 host
3 LN-159 1 host
3 LN-172 1 host
3 LN-171 1 host
3 LN-170 1 host
3 LN-174 1 host
1 CN-1 1 host
2 llan-1 1 lan
3 LN-39 1 host
3 LN-38 1 host
3 LN-33 1 host
3 LN-32 1 host
3 LN-31 1 host
3 LN-30 1 host
3 LN-37 1 host
3 LN-36 1 host
3 LN-35 1 host
3 LN-34 1 host
3 LN-42 1 host
3 LN-25 1 host
3 LN-40 1 host
3 LN-27 1 host
3 LN-46 1 host
3 LN-47 1 host
3 LN-44 1 host
3 LN-45 1 host
3 LN-48 1 host
3 LN-49 1 host
3 LN-28 1 host
3 LN-29 1 host
3 LN-43 1 host
3 LN-26 1 host
3 LN-41 1 host
1 CN-3 1 host
2 llan-3 1 lan
3 LN-79 1 host
3 LN-78 1 host
3 LN-77 1 host
3 LN-76 1 host
3 LN-75 1 host
3 LN-95 1 host
3 LN-94 1 host
3 LN-97 1 host
3 LN-96 1 host
3 LN-91 1 host
3 LN-90 1 host
3 LN-93 1 host
3 LN-92 1 host
3 LN-99 1 host
3 LN-98 1 host
3 LN-86 1 host
3 LN-87 1 host
3 LN-84 1 host
3 LN-85 1 host
3 LN-82 1 host
3 LN-83 1 host
3 LN-80 1 host
3 LN-81 1 host
3 LN-88 1 host
3 LN-89 1 host
1 CN-17 1 host
2 llan-17 1 lan
3 LN-429 1 host
3 LN-428 1 host
3 LN-449 1 host
3 LN-448 1 host
3 LN-447 1 host
3 LN-446 1 host
3 LN-445 1 host
3 LN-444 1 host
3 LN-425 1 host
3 LN-442 1 host
3 LN-441 1 host
3 LN-426 1 host
3 LN-438 1 host
3 LN-439 1 host
3 LN-443 1 host
3 LN-432 1 host
3 LN-433 1 host
3 LN-430 1 host
3 LN-431 1 host
3 LN-436 1 host
3 LN-437 1 host
3 LN-434 1 host
3 LN-435 1 host
3 LN-427 1 host
3 LN-440 1 host
1 CN-8 1 host
2 llan-8 1 lan
3 LN-205 1 host
3 LN-204 1 host
3 LN-207 1 host
3 LN-206 1 host
3 LN-201 1 host
3 LN-200 1 host
3 LN-203 1 host
3 LN-202 1 host
3 LN-224 1 host
3 LN-223 1 host
3 LN-208 1 host
3 LN-221 1 host
3 LN-220 1 host
3 LN-216 1 host
3 LN-217 1 host
3 LN-214 1 host
3 LN-215 1 host
3 LN-212 1 host
3 LN-213 1 host
3 LN-210 1 host
3 LN-211 1 host
3 LN-209 1 host
3 LN-218 1 host
3 LN-219 1 host
3 LN-222 1 host
1 CN-9 1 host
2 llan-9 1 lan
3 LN-249 1 host
3 LN-248 1 host
3 LN-229 1 host
3 LN-228 1 host
3 LN-227 1 host
3 LN-226 1 host
3 LN-243 1 host
3 LN-242 1 host
3 LN-245 1 host
3 LN-244 1 host
3 LN-247 1 host
3 LN-246 1 host
3 LN-241 1 host
3 LN-240 1 host
3 LN-225 1 host
3 LN-230 1 host
3 LN-231 1 host
3 LN-232 1 host
3 LN-233 1 host
3 LN-234 1 host
3 LN-235 1 host
3 LN-236 1 host
3 LN-237 1 host
3 LN-238 1 host
3 LN-239 1 host
1 CN-18 1 host
2 llan-18 1 lan
3 LN-465 1 host
3 LN-464 1 host
3 LN-467 1 host
3 LN-466 1 host
3 LN-461 1 host
3 LN-460 1 host
3 LN-463 1 host
3 LN-462 1 host
3 LN-469 1 host
3 LN-452 1 host
3 LN-472 1 host
3 LN-473 1 host
3 LN-456 1 host
3 LN-457 1 host
3 LN-450 1 host
3 LN-451 1 host
3 LN-474 1 host
3 LN-453 1 host
3 LN-454 1 host
3 LN-455 1 host
3 LN-470 1 host
3 LN-471 1 host
3 LN-458 1 host
3 LN-459 1 host
3 LN-468 1 host
1 CN-19 1 host
2 llan-19 1 lan
3 LN-498 1 host
3 LN-499 1 host
3 LN-494 1 host
3 LN-495 1 host
3 LN-496 1 host
3 LN-497 1 host
3 LN-490 1 host
3 LN-491 1 host
3 LN-492 1 host
3 LN-493 1 host
3 LN-476 1 host
3 LN-477 1 host
3 LN-475 1 host
3 LN-478 1 host
3 LN-479 1 host
3 LN-489 1 host
3 LN-488 1 host
3 LN-483 1 host
3 LN-482 1 host
3 LN-481 1 host
3 LN-480 1 host
3 LN-487 1 host
3 LN-486 1 host
3 LN-485 1 host
3 LN-484 1 host
1 CN-16 1 host
2 llan-16 1 lan
3 LN-421 1 host
3 LN-420 1 host
3 LN-423 1 host
3 LN-422 1 host
3 LN-424 1 host
3 LN-414 1 host
3 LN-415 1 host
3 LN-416 1 host
3 LN-417 1 host
3 LN-410 1 host
3 LN-411 1 host
3 LN-412 1 host
3 LN-413 1 host
3 LN-418 1 host
3 LN-419 1 host
3 LN-403 1 host
3 LN-402 1 host
3 LN-401 1 host
3 LN-400 1 host
3 LN-407 1 host
3 LN-406 1 host
3 LN-405 1 host
3 LN-404 1 host
3 LN-409 1 host
3 LN-408 1 host
1 CN-5 1 host
2 llan-5 1 lan
3 LN-142 1 host
3 LN-143 1 host
3 LN-140 1 host
3 LN-141 1 host
3 LN-146 1 host
3 LN-147 1 host
3 LN-144 1 host
3 LN-145 1 host
3 LN-148 1 host
3 LN-149 1 host
3 LN-128 1 host
3 LN-129 1 host
3 LN-125 1 host
3 LN-126 1 host
3 LN-127 1 host
3 LN-137 1 host
3 LN-136 1 host
3 LN-135 1 host
3 LN-134 1 host
3 LN-133 1 host
3 LN-132 1 host
3 LN-131 1 host
3 LN-130 1 host
3 LN-139 1 host
3 LN-138 1 host
1 CN-14 1 host
2 llan-14 1 lan
3 LN-374 1 host
3 LN-371 1 host
3 LN-370 1 host
3 LN-373 1 host
3 LN-372 1 host
3 LN-368 1 host
3 LN-369 1 host
3 LN-366 1 host
3 LN-367 1 host
3 LN-364 1 host
3 LN-365 1 host
3 LN-362 1 host
3 LN-363 1 host
3 LN-360 1 host
3 LN-361 1 host
3 LN-357 1 host
3 LN-356 1 host
3 LN-355 1 host
3 LN-354 1 host
3 LN-353 1 host
3 LN-352 1 host
3 LN-351 1 host
3 LN-350 1 host
3 LN-359 1 host
3 LN-358 1 host
1 CN-7 1 host
2 llan-7 1 lan
3 LN-195 1 host
3 LN-194 1 host
3 LN-197 1 host
3 LN-196 1 host
3 LN-191 1 host
3 LN-190 1 host
3 LN-193 1 host
3 LN-192 1 host
3 LN-199 1 host
3 LN-198 1 host
3 LN-186 1 host
3 LN-187 1 host
3 LN-184 1 host
3 LN-185 1 host
3 LN-182 1 host
3 LN-183 1 host
3 LN-180 1 host
3 LN-181 1 host
3 LN-188 1 host
3 LN-189 1 host
3 LN-179 1 host
3 LN-178 1 host
3 LN-177 1 host
3 LN-176 1 host
3 LN-175 1 host
1 CN-12 1 host
2 llan-12 1 lan
3 LN-322 1 host
3 LN-323 1 host
3 LN-320 1 host
3 LN-321 1 host
3 LN-308 1 host
3 LN-309 1 host
3 LN-324 1 host
3 LN-304 1 host
3 LN-305 1 host
3 LN-306 1 host
3 LN-307 1 host
3 LN-301 1 host
3 LN-302 1 host
3 LN-303 1 host
3 LN-300 1 host
3 LN-319 1 host
3 LN-318 1 host
3 LN-313 1 host
3 LN-312 1 host
3 LN-311 1 host
3 LN-310 1 host
3 LN-317 1 host
3 LN-316 1 host
3 LN-315 1 host
3 LN-314 1 host
1 CN-13 1 host
2 llan-13 1 lan
3 LN-326 1 host
3 LN-327 1 host
3 LN-325 1 host
3 LN-328 1 host
3 LN-329 1 host
3 LN-348 1 host
3 LN-349 1 host
3 LN-340 1 host
3 LN-341 1 host
3 LN-342 1 host
3 LN-343 1 host
3 LN-344 1 host
3 LN-345 1 host
3 LN-346 1 host
3 LN-347 1 host
3 LN-331 1 host
3 LN-330 1 host
3 LN-333 1 host
3 LN-332 1 host
3 LN-335 1 host
3 LN-334 1 host
3 LN-337 1 host
3 LN-336 1 host
3 LN-339 1 host
3 LN-338 1 host
1 CN-2 1 host
2 llan-2 1 lan
3 LN-51 1 host
3 LN-50 1 host
3 LN-53 1 host
3 LN-52 1 host
3 LN-55 1 host
3 LN-54 1 host
3 LN-57 1 host
3 LN-56 1 host
3 LN-59 1 host
3 LN-58 1 host
3 LN-74 1 host
3 LN-73 1 host
3 LN-72 1 host
3 LN-70 1 host
3 LN-71 1 host
3 LN-68 1 host
3 LN-69 1 host
3 LN-60 1 host
3 LN-61 1 host
3 LN-62 1 host
3 LN-63 1 host
3 LN-64 1 host
3 LN-65 1 host
3 LN-66 1 host
3 LN-67 1 host
1 CN-11 1 host
2 llan-11 1 lan
3 LN-275 1 host
3 LN-291 1 host
3 LN-276 1 host
3 LN-277 1 host
3 LN-298 1 host
3 LN-299 1 host
3 LN-296 1 host
3 LN-297 1 host
3 LN-294 1 host
3 LN-295 1 host
3 LN-292 1 host
3 LN-293 1 host
3 LN-290 1 host
3 LN-278 1 host
3 LN-279 1 host
3 LN-289 1 host
3 LN-288 1 host
3 LN-285 1 host
3 LN-284 1 host
3 LN-287 1 host
3 LN-286 1 host
3 LN-281 1 host
3 LN-280 1 host
3 LN-283 1 host
3 LN-282 1 host
hyperviewer/GNUMakefile
0 → 100644
View file @
ff01ba54
# Makefile for the hyperviewer application directory. See ROADMAP for details.
# Tamara Munzner's Stanford HyperViewer code is in a subdirectory under here.
HVROOT
=
hypviewer
HVINC
=
${HVROOT}
/include
HVSRC
=
${HVROOT}
/src
# The follosing matches Munzner's Makefile scheme.
CPU
=
free
##CPU = linux
WINSYS
=
glut
##WINSYS = xt
ARCH
=
${CPU}${WINSYS}
LIBRARY
=
hypviewer
HVLIBDIR
=
${HVSRC}
/
${ARCH}
HVLIBNAME
=
${LIBRARY}${ARCH}
HVLIB
=
${HVLIBDIR}
/lib
${HVLIBNAME}
.a
CFLAGS
=
-DHYPGLUT
-DHYPFREE
-DGL_GLEXT_LEGACY
-g
-DNAMESPACEHACK
=
INCDIRS
=
-I
${HVINC}
-I
/usr/X11R6/include
-I
/usr/local/include/python2.3
LDLIBS
=
${HVLIB}
-L
/usr/X11R6/lib
-lGLU
-lGL
-lXmu
-lXext
-lX11
-lm
# Distribute the Python scripts, shared library, and sample input files.
PYFILES
=
hypview.py exptToHv.py sshxmlrpc.py emulabclient.py hvFrameUI.py hv.py
DISTFILES
=
${PYFILES}
_hv.so BigLan.hyp ts600.hyp
# Finally, make something.
default
:
_hv.so
# The input for SWIG is in a .i file. Add stuff to the interface class .h file.
# How come %apply doesn't work for std::string in hv.mod? Workaround with sed instead.
hv.i
:
hv.mod ${HVINC}/HypView.h
sed
-e
's/const string & [a-z][a-z]*/const std::string \& INPUT/g'
\
${HVINC}
/HypView.h |
cat
hv.mod -
>
hv.i
# Create the wrappers using SWIG.
hvmain.o
:
hvmain.cpp
g++
-fpic
-c
${CFLAGS}
${INCDIRS}
hvmain.cpp
_hv.cpp hv.py
:
hv.i
swig
-c
++
-python
-DHYPGLUT
-DHYPFREE
-module
hv
-o
_hv.cpp hv.i
# Put the wrappers in a shared library for import by hv.py .
_hv.o
:
_hv.cpp
g++
-fpic
-c
${CFLAGS}
${INCDIRS}
_hv.cpp
_hv.so
:
hvmain.o _hv.o ${HVLIB}
gcc
-shared
hvmain.o _hv.o
${LDLIBS}
-o
_hv.so
hvlib
:
${HVLIB}
${HVLIB}
:
@
echo
""
@
echo
Make sure that Makefile.
${ARCH}
is included, and not commented-out.
grep
Makefile.
${ARCH}
${HVROOT}
/Makefile.main
@
echo
""
@
echo
Making
${HVLIB}
cd
${HVROOT}
;
make
dist
:
# Wrap a top-level hyperviewer directory around the dist files in the tarball.
mkdir
-p
temp/hyperviewer
cp
-p
${DISTFILES}
temp/hyperviewer
tar
cvfz hyperviewer.tgz
-C
temp hyperviewer
rm
-r
temp
clean
:
rm
*
.o
*
.so
cd
${HVROOT}
;
make clean
\ No newline at end of file
hyperviewer/ROADMAP
0 → 100644
View file @
ff01ba54
ROADMAP for hyperviewer
Here's a sketch of the component architecture.
GUI *1 <- - - -> Client methods *2 <- - ssh to xmlrpc
wxGlade SWIG/HyperViewer *3 < Experiment topology from DB
wxPython | ssh to portstats/slothd
SWIG/wxWidgets | < Dynamic link/node info
wxGLCanvas |
X/OpenGL <- - - - - '
Files, by area in the diagram above:
*1 - Control panel GUI, created and modified graphically in the wxGlade designer.
hvgui.wxg - XML saved form of the GUI. Edit with wxGlade in this directory.
hvFrameUI.py - Generated by clicking "Generate code" on the properties page
of the top-level Application object.
*2 - Python client methods to glue everything together, read experiments from the database
and drive the SWIG'ed HyperViewer API.
hvApp.py - Application classes including hvframe, initialization and event bindings.
exptToHv.py - Get experiment topology via XML-RPC, write a HyperViewer .hyp file.
sshxmlrpc.py, emulabclient.py - Copied here for use by exptToHv.py .
(There must be a better way to package these files from testbed/xmlrpc.)
*3 - SWIG'ed HypView class which encapsulates the API to the HyperViewer library.
hvmain.cpp - Top level HyperViewer code, based on hypviewer/examples/*/main.cpp .
hv.mod - SWIG code appended to make hv.i, below.
hv.i - Input for SWIG, made from hypviewer/include/HypView.h + hv.mod .
hv.py - Python wrappers, generated by SWIG from hv.i, imported by hvApp.py .
_hv.cpp - C++ wrappers, generated by SWIG from hv.i .
_hv.so - Shared library, linked with libhyperviewer.a, imported by hv.py .
hypviewer - Tamara Munzner's HyperViewer library from Stanford.
(See http://graphics.stanford.edu/~munzner/software.html)
To compile, do "make clean", then "make".
. Makefile.main - This chooses which version is made, including Makefile.freeglut .
. Makefile.freeglut - The Makefile for FreeBSD with the GLUT library.
A proper SWIG binding needs to be ifdeff'ed in. Meanwhile this app is based
on the FreeBSD GLUT library API with all of the GLUT code ifdeffed out,
hence compile flags -DPyHack -DFONTHACK -DHYPGLUT -DHYPFREE.
. doc - HTML API documentation, see HypView.html .
. include - C++ Header files.
. src - C++ Library sources.
- src/freeglut - Where the .o files and libhypviewerfreeglut.a library are built.
. examples - C++ Test programs.
- examples/glut/freeglut/gluttest - Currently broken due to the -DPyHack ifdeffing.
Choose Makefile.freext in Makefile.main to get the following:
- examples/xtsimple/freext/xtsimple ../BigLan.hyp - Simple user interface.
- examples/vkxt/freext/vktest ../BigLan.hyp - UI with _many_ keystroke commands.
See /hypviewer/examples/vkxt/viewer.README for a description.
Choose Makefile.linuxxt in Makefile.main for Linux versions.
================================================================
Package dependencies:
. wxGlade-0.3.1_1 GUI builder for wxPython/wxWindows written in Python
wxgtk-common-2.4.2_1 The wxWidgets GUI toolkit (common files)
wxgtk2-2.4.2_3 The wxWidgets GUI toolkit (GTK2 version)
py23-wxPython-2.4.2.4_2 Python bindings for the wxWidgets/GTK GUI toolkit